In progress...

This commit is contained in:
Kolan Sh 2018-01-16 14:42:23 +03:00
parent e5fa432384
commit e682d881ff
3 changed files with 15 additions and 27 deletions

View File

@ -355,18 +355,6 @@ namespace CairoChart {
join_calc (false);
}
public virtual double compact_rec_x_pos (Series s, Float128 x, Text text) {
var sz = text.get_size(context);
return get_scr_x(s, x) - sz.width / 2.0
- sz.width * (x - (s.axis_x.zoom_min + s.axis_x.zoom_max) / 2.0) / (s.axis_x.zoom_max - s.axis_x.zoom_min);
}
public virtual double compact_rec_y_pos (Series s, Float128 y, Text text) {
var sz = text.get_size(context);
return get_scr_y(s, y) + sz.height / 2.0
+ sz.height * (y - (s.axis_y.zoom_min + s.axis_y.zoom_max) / 2.0) / (s.axis_y.zoom_max - s.axis_y.zoom_min);
}
protected virtual void draw_horizontal_axes () {
for (var si = series.length - 1, nskip = 0; si >=0; --si)
series[si].draw_horizontal_axis (this, si, ref nskip);

View File

@ -271,7 +271,7 @@ namespace CairoChart {
}
break;
}
var print_x = chart.compact_rec_x_pos (s, x, text_t);
var print_x = s.compact_rec_x_pos (x, text_t);
chart.context.move_to (print_x, print_y);
switch (s.axis_x.type) {
@ -280,7 +280,7 @@ namespace CairoChart {
break;
case Axis.Type.DATE_TIME:
if (s.axis_x.date_format != "") text_t.show(chart.context);
print_x = chart.compact_rec_x_pos (s, x, time_text_t);
print_x = s.compact_rec_x_pos (x, time_text_t);
chart.context.move_to (print_x, print_y - (s.axis_x.date_format == "" ? 0 : sz.height + s.axis_x.font_indent));
if (s.axis_x.time_format != "") time_text_t.show(chart.context);
break;
@ -297,7 +297,7 @@ namespace CairoChart {
var s = chart.series[chart.zoom_first_show];
var y = chart.get_real_y(s, chart.rel2scr_y(c.y));
var text_t = new Text(s.axis_y.format.printf((LongDouble)y, s.axis_y.font_style));
var print_y = chart.compact_rec_y_pos (s, y, text_t);
var print_y = s.compact_rec_y_pos (y, text_t);
var print_x = 0.0;
switch (s.axis_y.position) {
case Axis.Position.LOW:

View File

@ -213,7 +213,7 @@ namespace CairoChart {
switch (s.axis_x.position) {
case Axis.Position.LOW:
var print_y = chart.cur_y_max - s.axis_x.font_indent - (s.axis_x.title.text == "" ? 0 : sz.height + s.axis_x.font_indent);
var print_x = chart.compact_rec_x_pos (s, x, text_t);
var print_x = s.compact_rec_x_pos (x, text_t);
context.move_to (print_x, print_y);
switch (s.axis_x.type) {
case Axis.Type.NUMBERS:
@ -222,7 +222,7 @@ namespace CairoChart {
case Axis.Type.DATE_TIME:
if (s.axis_x.date_format != "") text_t.show(context);
var time_text_t = new Text(time_text, s.axis_x.font_style, s.axis_x.color);
print_x = chart.compact_rec_x_pos (s, x, time_text_t);
print_x = s.compact_rec_x_pos (x, time_text_t);
context.move_to (print_x, print_y - (s.axis_x.date_format == "" ? 0 : text_t.get_height(context) + s.axis_x.font_indent));
if (s.axis_x.time_format != "") time_text_t.show(context);
break;
@ -240,7 +240,7 @@ namespace CairoChart {
break;
case Axis.Position.HIGH:
var print_y = chart.cur_y_min + max_rec_height + s.axis_x.font_indent + (s.axis_x.title.text == "" ? 0 : sz.height + s.axis_x.font_indent);
var print_x = chart.compact_rec_x_pos (s, x, text_t);
var print_x = s.compact_rec_x_pos (x, text_t);
context.move_to (print_x, print_y);
switch (s.axis_x.type) {
@ -250,7 +250,7 @@ namespace CairoChart {
case Axis.Type.DATE_TIME:
if (s.axis_x.date_format != "") text_t.show(context);
var time_text_t = new Text(time_text, s.axis_x.font_style, s.axis_x.color);
print_x = chart.compact_rec_x_pos (s, x, time_text_t);
print_x = s.compact_rec_x_pos (x, time_text_t);
context.move_to (print_x, print_y - (s.axis_x.date_format == "" ? 0 : text_t.get_height(context) + s.axis_x.font_indent));
if (s.axis_x.time_format != "") time_text_t.show(context);
break;
@ -362,7 +362,7 @@ namespace CairoChart {
case Axis.Position.LOW:
context.move_to (chart.cur_x_min + max_rec_width - text_sz.width + s.axis_y.font_indent
+ (s.axis_y.title.text == "" ? 0 : sz.width + s.axis_y.font_indent),
chart.compact_rec_y_pos (s, y, text_t));
s.compact_rec_y_pos (y, text_t));
text_t.show(context);
// 6. Draw grid lines to the s.place.zoom_x_min.
var line_style = s.grid.line_style;
@ -378,7 +378,7 @@ namespace CairoChart {
case Axis.Position.HIGH:
context.move_to (chart.cur_x_max - text_sz.width - s.axis_y.font_indent
- (s.axis_y.title.text == "" ? 0 : sz.width + s.axis_y.font_indent),
chart.compact_rec_y_pos (s, y, text_t));
s.compact_rec_y_pos (y, text_t));
text_t.show(context);
// 6. Draw grid lines to the s.place.zoom_x_max.
var line_style = s.grid.line_style;
@ -470,16 +470,16 @@ namespace CairoChart {
}
}
public virtual double compact_rec_x_pos (Series s, Float128 x, Text text) {
public virtual double compact_rec_x_pos (Float128 x, Text text) {
var sz = text.get_size(chart.context);
return chart.get_scr_x(s, x) - sz.width / 2.0
- sz.width * (x - (s.axis_x.zoom_min + s.axis_x.zoom_max) / 2.0) / (s.axis_x.zoom_max - s.axis_x.zoom_min);
return chart.get_scr_x(this, x) - sz.width / 2.0
- sz.width * (x - (axis_x.zoom_min + axis_x.zoom_max) / 2.0) / (axis_x.zoom_max - axis_x.zoom_min);
}
public virtual double compact_rec_y_pos (Series s, Float128 y, Text text) {
public virtual double compact_rec_y_pos (Float128 y, Text text) {
var sz = text.get_size(chart.context);
return chart.get_scr_y(s, y) + sz.height / 2.0
+ sz.height * (y - (s.axis_y.zoom_min + s.axis_y.zoom_max) / 2.0) / (s.axis_y.zoom_max - s.axis_y.zoom_min);
return chart.get_scr_y(this, y) + sz.height / 2.0
+ sz.height * (y - (axis_y.zoom_min + axis_y.zoom_max) / 2.0) / (axis_y.zoom_max - axis_y.zoom_min);
}
}
}