Cairo-Chart/src/Series.vala

74 lines
1.5 KiB
Vala
Raw Normal View History

using Cairo;
namespace Gtk.CairoChart {
public class Series {
public Point[] points = {};
public enum Sort {
BY_X = 0,
BY_Y = 1,
NO_SORT
}
public Sort sort = Sort.BY_X;
public Axis axis_x = new Axis();
public Axis axis_y = new Axis();
public enum MarkerType {
NONE = 0, // default
SQUARE,
CIRCLE,
TRIANGLE,
PRICLE_SQUARE,
PRICLE_CIRCLE,
PRICLE_TRIANGLE
}
2017-08-22 11:54:18 +03:00
public Place place = new Place();
public Text title = new Text ();
public MarkerType marker_type = MarkerType.SQUARE;
public Grid grid = new Grid ();
2017-08-28 18:16:48 +03:00
public LineStyle line_style = LineStyle ();
protected Color _color = Color (0.0, 0.0, 0.0, 1.0);
public Color color {
get { return _color; }
set {
_color = value;
line_style.color = _color;
axis_x.color = _color;
axis_y.color = _color;
grid.color = _color;
grid.color.alpha = 0.5;
grid.line_style.color = _color;
grid.line_style.color.alpha = 0.5;
}
default = Color (0.0, 0.0, 0.0, 1.0);
}
2017-10-25 19:31:30 +03:00
public bool zoom_show = true;
2017-08-28 18:16:48 +03:00
public Series copy () {
var series = new Series ();
series._color = this._color;
series.axis_x = this.axis_x.copy ();
series.axis_y = this.axis_y.copy ();
series.grid = this.grid.copy ();
series.line_style = this.line_style;
series.marker_type = this.marker_type;
2017-08-22 11:54:18 +03:00
series.place = this.place.copy();
2017-12-15 20:50:13 +03:00
series.points = this.points;
2017-08-28 18:16:48 +03:00
series.sort = this.sort;
series.title = this.title.copy();
2017-10-25 19:31:30 +03:00
series.zoom_show = this.zoom_show;
2017-08-28 18:16:48 +03:00
return series;
}
2017-08-28 18:16:48 +03:00
public Series () {
}
}
}