set_line_style() -> Line.vala

This commit is contained in:
Kolan Sh 2018-01-10 11:19:33 +03:00
parent eeb6fca796
commit 94ed3ecabb
3 changed files with 17 additions and 17 deletions

View File

@ -210,14 +210,6 @@ namespace CairoChart {
title.show(context); title.show(context);
} }
public virtual void set_line_style (Line.Style style) {
set_source_rgba(style.color);
context.set_line_join(style.join);
context.set_line_cap(style.cap);
context.set_line_width(style.width);
context.set_dash(style.dashes, style.dash_offset);
}
public double marker_size = 8.0; public double marker_size = 8.0;
public virtual void draw_marker_at_pos (Series.MarkerType marker_type, public virtual void draw_marker_at_pos (Series.MarkerType marker_type,
@ -267,7 +259,7 @@ namespace CairoChart {
public Line.Style selection_style = Line.Style (); public Line.Style selection_style = Line.Style ();
public virtual void draw_selection (double x0, double y0, double x1, double y1) { public virtual void draw_selection (double x0, double y0, double x1, double y1) {
set_line_style (selection_style); selection_style.set(this);
context.rectangle (x0, y0, x1 - x0, y1 - y0); context.rectangle (x0, y0, x1 - x0, y1 - y0);
context.stroke(); context.stroke();
} }
@ -604,7 +596,7 @@ namespace CairoChart {
// 6. Draw grid lines to the s.place.zoom_y_min. // 6. Draw grid lines to the s.place.zoom_y_min.
var line_style = s.grid.line_style; var line_style = s.grid.line_style;
if (joint_x) line_style.color = Color(0, 0, 0, 0.5); if (joint_x) line_style.color = Color(0, 0, 0, 0.5);
set_line_style(line_style); line_style.set(this);
double y = cur_y_max - max_rec_height - s.axis_x.font_indent - (s.axis_x.title.text == "" ? 0 : sz.height + s.axis_x.font_indent); double y = cur_y_max - max_rec_height - s.axis_x.font_indent - (s.axis_x.title.text == "" ? 0 : sz.height + s.axis_x.font_indent);
context.move_to (scr_x, y); context.move_to (scr_x, y);
if (joint_x) if (joint_x)
@ -632,7 +624,7 @@ namespace CairoChart {
// 6. Draw grid lines to the s.place.zoom_y_max. // 6. Draw grid lines to the s.place.zoom_y_max.
var line_style = s.grid.line_style; var line_style = s.grid.line_style;
if (joint_x) line_style.color = Color(0, 0, 0, 0.5); if (joint_x) line_style.color = Color(0, 0, 0, 0.5);
set_line_style(line_style); line_style.set(this);
double y = cur_y_min + max_rec_height + s.axis_x.font_indent + (s.axis_x.title.text == "" ? 0 : sz.height + s.axis_x.font_indent); double y = cur_y_min + max_rec_height + s.axis_x.font_indent + (s.axis_x.title.text == "" ? 0 : sz.height + s.axis_x.font_indent);
context.move_to (scr_x, y); context.move_to (scr_x, y);
if (joint_x) if (joint_x)
@ -755,7 +747,7 @@ namespace CairoChart {
// 6. Draw grid lines to the s.place.zoom_x_min. // 6. Draw grid lines to the s.place.zoom_x_min.
var line_style = s.grid.line_style; var line_style = s.grid.line_style;
if (joint_y) line_style.color = Color(0, 0, 0, 0.5); if (joint_y) line_style.color = Color(0, 0, 0, 0.5);
set_line_style(line_style); line_style.set(this);
double x = cur_x_min + max_rec_width + s.axis_y.font_indent + (s.axis_y.title.text == "" ? 0 : sz.width + s.axis_y.font_indent); double x = cur_x_min + max_rec_width + s.axis_y.font_indent + (s.axis_y.title.text == "" ? 0 : sz.width + s.axis_y.font_indent);
context.move_to (x, scr_y); context.move_to (x, scr_y);
if (joint_y) if (joint_y)
@ -771,7 +763,7 @@ namespace CairoChart {
// 6. Draw grid lines to the s.place.zoom_x_max. // 6. Draw grid lines to the s.place.zoom_x_max.
var line_style = s.grid.line_style; var line_style = s.grid.line_style;
if (joint_y) line_style.color = Color(0, 0, 0, 0.5); if (joint_y) line_style.color = Color(0, 0, 0, 0.5);
set_line_style(line_style); line_style.set(this);
double x = cur_x_max - max_rec_width - s.axis_y.font_indent - (s.axis_y.title.text == "" ? 0 : sz.width + s.axis_y.font_indent); double x = cur_x_max - max_rec_width - s.axis_y.font_indent - (s.axis_y.title.text == "" ? 0 : sz.width + s.axis_y.font_indent);
context.move_to (x, scr_y); context.move_to (x, scr_y);
if (joint_y) if (joint_y)
@ -986,7 +978,7 @@ namespace CairoChart {
if (!s.zoom_show) continue; if (!s.zoom_show) continue;
if (s.points.length == 0) continue; if (s.points.length == 0) continue;
var points = sort_points(s, s.sort); var points = sort_points(s, s.sort);
set_line_style(s.line_style); s.line_style.set(this);
// draw series line // draw series line
for (int i = 1; i < points.length; ++i) { for (int i = 1; i < points.length; ++i) {
Point c, d; Point c, d;
@ -1234,7 +1226,7 @@ namespace CairoChart {
var low = Point(plot_x_max, plot_y_max); // low and high var low = Point(plot_x_max, plot_y_max); // low and high
var high = Point(plot_x_min, plot_y_min); // points of the cursor var high = Point(plot_x_min, plot_y_min); // points of the cursor
unowned CursorCross[] ccs = cursors_crossings[cci].crossings; unowned CursorCross[] ccs = cursors_crossings[cci].crossings;
set_line_style(cursor_style.line_style); cursor_style.line_style.set(this);
for (var ci = 0, max_ci = ccs.length; ci < max_ci; ++ci) { for (var ci = 0, max_ci = ccs.length; ci < max_ci; ++ci) {
var si = ccs[ci].series_index; var si = ccs[ci].series_index;
var s = series[si]; var s = series[si];

View File

@ -73,7 +73,7 @@ namespace CairoChart {
chart.set_source_rgba(bg_color); chart.set_source_rgba(bg_color);
chart.context.rectangle (x0, y0, width, height); chart.context.rectangle (x0, y0, width, height);
chart.context.fill(); chart.context.fill();
chart.set_line_style(border_style); border_style.set(chart);
chart.context.move_to (x0, y0); chart.context.move_to (x0, y0);
chart.context.rel_line_to (width, 0); chart.context.rel_line_to (width, 0);
chart.context.rel_line_to (0, height); chart.context.rel_line_to (0, height);
@ -149,7 +149,7 @@ namespace CairoChart {
// series line style // series line style
chart.context.move_to (x, y - title_sz.height / 2); chart.context.move_to (x, y - title_sz.height / 2);
chart.set_line_style(s.line_style); s.line_style.set(chart);
chart.context.rel_line_to (line_length, 0); chart.context.rel_line_to (line_length, 0);
chart.context.stroke(); chart.context.stroke();
chart.draw_marker_at_pos (s.marker_type, x + line_length / 2, y - title_sz.height / 2); chart.draw_marker_at_pos (s.marker_type, x + line_length / 2, y - title_sz.height / 2);

View File

@ -24,6 +24,14 @@ namespace CairoChart {
this.dash_offset = dash_offset; this.dash_offset = dash_offset;
this.color = color; this.color = color;
} }
public void set (Chart chart) {
chart.set_source_rgba(color);
chart.context.set_line_join(join);
chart.context.set_line_cap(cap);
chart.context.set_line_width(width);
chart.context.set_dash(dashes, dash_offset);
}
} }
} }
} }