Cairo-Chart/src/Series.vala

73 lines
1.6 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 ();
public GLib.List<Float128?> cursors = new List<Float128?> ();
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-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.cursors = this.cursors.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-08-28 18:16:48 +03:00
series.points = this.points.copy();
series.sort = this.sort;
series.title = this.title.copy();
return series;
}
2017-08-28 18:16:48 +03:00
public Series () {
}
}
}