tmp2
This commit is contained in:
parent
615c333baf
commit
a1709429fa
|
@ -5,7 +5,8 @@ namespace CairoChart {
|
||||||
*/
|
*/
|
||||||
public class Axis {
|
public class Axis {
|
||||||
|
|
||||||
protected Chart chart;
|
protected unowned Chart chart;
|
||||||
|
protected unowned Series ser;
|
||||||
protected string _format = "%.2Lf";
|
protected string _format = "%.2Lf";
|
||||||
protected string _date_format = "%Y.%m.%d";
|
protected string _date_format = "%Y.%m.%d";
|
||||||
protected string _time_format = "%H:%M:%S";
|
protected string _time_format = "%H:%M:%S";
|
||||||
|
@ -21,6 +22,11 @@ namespace CairoChart {
|
||||||
*/
|
*/
|
||||||
public Range range = new Range();
|
public Range range = new Range();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ``Axis`` relative range/limits.
|
||||||
|
*/
|
||||||
|
public Range place = new Range();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data type.
|
* Data type.
|
||||||
*/
|
*/
|
||||||
|
@ -158,10 +164,12 @@ namespace CairoChart {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a new ``Axis``.
|
* Constructs a new ``Axis``.
|
||||||
* @param chart {@link Chart} instance.
|
* @param chart ``Chart`` instance.
|
||||||
|
* @param ser ``Series`` instance.
|
||||||
*/
|
*/
|
||||||
public Axis (Chart chart) {
|
public Axis (Chart chart, Series ser) {
|
||||||
this.chart = chart;
|
this.chart = chart;
|
||||||
|
this.ser = ser;
|
||||||
title = new Text (chart, "");
|
title = new Text (chart, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,7 +177,7 @@ namespace CairoChart {
|
||||||
* Gets a copy of the ``Axis``.
|
* Gets a copy of the ``Axis``.
|
||||||
*/
|
*/
|
||||||
public virtual Axis copy () {
|
public virtual Axis copy () {
|
||||||
var axis = new Axis (chart);
|
var axis = new Axis (chart, ser);
|
||||||
axis._date_format = this._date_format;
|
axis._date_format = this._date_format;
|
||||||
axis._dsec_signs = this._dsec_signs;
|
axis._dsec_signs = this._dsec_signs;
|
||||||
axis._format = this._format;
|
axis._format = this._format;
|
||||||
|
@ -178,6 +186,7 @@ namespace CairoChart {
|
||||||
axis.font = this.font.copy();
|
axis.font = this.font.copy();
|
||||||
axis.line_style = this.line_style;
|
axis.line_style = this.line_style;
|
||||||
axis.range = this.range.copy();
|
axis.range = this.range.copy();
|
||||||
|
axis.place = this.place.copy();
|
||||||
axis.position = this.position;
|
axis.position = this.position;
|
||||||
axis.scale = this.scale;
|
axis.scale = this.scale;
|
||||||
axis.title = this.title.copy();
|
axis.title = this.title.copy();
|
||||||
|
@ -205,6 +214,7 @@ namespace CairoChart {
|
||||||
*/
|
*/
|
||||||
public virtual void zoom_out () {
|
public virtual void zoom_out () {
|
||||||
range.zoom_out();
|
range.zoom_out();
|
||||||
|
place.zoom_out();
|
||||||
}
|
}
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -215,9 +225,8 @@ namespace CairoChart {
|
||||||
* @param nskip returns number of series to skip printing.
|
* @param nskip returns number of series to skip printing.
|
||||||
*/
|
*/
|
||||||
public virtual void join_axes (bool is_x, ref int nskip) {
|
public virtual void join_axes (bool is_x, ref int nskip) {
|
||||||
Axis axis = axis_x;
|
Axis axis = this;
|
||||||
if (!is_x) axis = axis_y;
|
if (!ser.zoom_show) return;
|
||||||
if (!zoom_show) return;
|
|
||||||
if (nskip != 0) {--nskip; return;}
|
if (nskip != 0) {--nskip; return;}
|
||||||
var max_rec_width = 0.0, max_rec_height = 0.0;
|
var max_rec_width = 0.0, max_rec_height = 0.0;
|
||||||
calc_rec_sizes (axis, out max_rec_width, out max_rec_height, is_x);
|
calc_rec_sizes (axis, out max_rec_width, out max_rec_height, is_x);
|
||||||
|
@ -225,7 +234,7 @@ namespace CairoChart {
|
||||||
var max_axis_font_width = axis.title.text == "" ? 0 : axis.title.width + axis.font.hspacing;
|
var max_axis_font_width = axis.title.text == "" ? 0 : axis.title.width + axis.font.hspacing;
|
||||||
var max_axis_font_height = axis.title.text == "" ? 0 : axis.title.height + axis.font.vspacing;
|
var max_axis_font_height = axis.title.text == "" ? 0 : axis.title.height + axis.font.vspacing;
|
||||||
|
|
||||||
var si = Math.find_arr<Series>(chart.series, this);
|
var si = Math.find_arr<Series>(chart.series, ser);
|
||||||
if (si == -1) return;
|
if (si == -1) return;
|
||||||
|
|
||||||
if (is_x)
|
if (is_x)
|
||||||
|
|
|
@ -5,7 +5,7 @@ namespace CairoChart {
|
||||||
*/
|
*/
|
||||||
public class Cursors {
|
public class Cursors {
|
||||||
|
|
||||||
protected Chart chart;
|
protected unowned Chart chart;
|
||||||
protected List<Point?> list = new List<Point?> ();
|
protected List<Point?> list = new List<Point?> ();
|
||||||
protected Point active_cursor = Point(); // { get; protected set; default = Point128 (); }
|
protected Point active_cursor = Point(); // { get; protected set; default = Point128 (); }
|
||||||
protected bool is_cursor_active = false; // { get; protected set; default = false; }
|
protected bool is_cursor_active = false; // { get; protected set; default = false; }
|
||||||
|
|
|
@ -5,7 +5,7 @@ namespace CairoChart {
|
||||||
*/
|
*/
|
||||||
public class Marker {
|
public class Marker {
|
||||||
|
|
||||||
protected Chart chart;
|
protected unowned Chart chart;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ``Marker`` shape.
|
* ``Marker`` shape.
|
||||||
|
|
|
@ -7,7 +7,7 @@ namespace CairoChart {
|
||||||
*/
|
*/
|
||||||
public class Series {
|
public class Series {
|
||||||
|
|
||||||
protected Chart chart { get; protected set; default = null; }
|
protected unowned Chart chart { get; protected set; default = null; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 128-bit (X;Y) points.
|
* 128-bit (X;Y) points.
|
||||||
|
@ -49,11 +49,6 @@ namespace CairoChart {
|
||||||
*/
|
*/
|
||||||
public Axis axis_y;
|
public Axis axis_y;
|
||||||
|
|
||||||
/**
|
|
||||||
* ``Place`` of the ``Series`` on the {@link Chart}.
|
|
||||||
*/
|
|
||||||
public Place place = new Place();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Title of the ``Chart``.
|
* Title of the ``Chart``.
|
||||||
*/
|
*/
|
||||||
|
@ -101,8 +96,8 @@ namespace CairoChart {
|
||||||
public Series (Chart chart) {
|
public Series (Chart chart) {
|
||||||
this.chart = chart;
|
this.chart = chart;
|
||||||
title = new Text(chart);
|
title = new Text(chart);
|
||||||
axis_x = new Axis(chart);
|
axis_x = new Axis(chart, this);
|
||||||
axis_y = new Axis(chart);
|
axis_y = new Axis(chart, this);
|
||||||
this.marker = new Marker(chart);
|
this.marker = new Marker(chart);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,7 +111,6 @@ namespace CairoChart {
|
||||||
series.grid = this.grid.copy ();
|
series.grid = this.grid.copy ();
|
||||||
series.line_style = this.line_style;
|
series.line_style = this.line_style;
|
||||||
series.marker = this.marker;
|
series.marker = this.marker;
|
||||||
series.place = this.place.copy();
|
|
||||||
series.points = this.points;
|
series.points = this.points;
|
||||||
series.sort = this.sort;
|
series.sort = this.sort;
|
||||||
series.title = this.title.copy();
|
series.title = this.title.copy();
|
||||||
|
@ -177,7 +171,6 @@ namespace CairoChart {
|
||||||
zoom_show = true;
|
zoom_show = true;
|
||||||
axis_x.zoom_out();
|
axis_x.zoom_out();
|
||||||
axis_y.zoom_out();
|
axis_y.zoom_out();
|
||||||
place.zoom_out();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue