diff --git a/src/Chart.vala b/src/Chart.vala index 237a743..9404cd5 100644 --- a/src/Chart.vala +++ b/src/Chart.vala @@ -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); diff --git a/src/Cursor.vala b/src/Cursor.vala index e839d25..90309e6 100644 --- a/src/Cursor.vala +++ b/src/Cursor.vala @@ -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: diff --git a/src/Series.vala b/src/Series.vala index 91d46c0..b5f0897 100644 --- a/src/Series.vala +++ b/src/Series.vala @@ -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); } } }