/* grid.c generated by valac 0.56.0, the Vala compiler * generated from grid.vala, do not modify */ #include "livechart.h" #include #include #include #include #include #include #include #include #include enum { LIVE_CHART_GRID_0_PROPERTY, LIVE_CHART_GRID_VISIBLE_PROPERTY, LIVE_CHART_GRID_MAIN_COLOR_PROPERTY, LIVE_CHART_GRID_NUM_PROPERTIES }; static GParamSpec* live_chart_grid_properties[LIVE_CHART_GRID_NUM_PROPERTIES]; #define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) #define _g_time_zone_unref0(var) ((var == NULL) ? NULL : (var = (g_time_zone_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) struct _LiveChartGridPrivate { gboolean _visible; GdkRGBA _main_color; }; static gint LiveChartGrid_private_offset; static gpointer live_chart_grid_parent_class = NULL; static LiveChartDrawableIface * live_chart_grid_live_chart_drawable_parent_iface = NULL; static void live_chart_grid_real_draw (LiveChartDrawable* base, cairo_t* ctx, LiveChartConfig* config); static void live_chart_grid_real_get_bounding_box (LiveChartDrawable* base, LiveChartBoundingBox* result); static gboolean _gdk_rgba_equal (const GdkRGBA * s1, const GdkRGBA * s2); static void live_chart_grid_finalize (GObject * obj); static GType live_chart_grid_get_type_once (void); static void _vala_live_chart_grid_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_live_chart_grid_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); static inline gpointer live_chart_grid_get_instance_private (LiveChartGrid* self) { return G_STRUCT_MEMBER_P (self, LiveChartGrid_private_offset); } static void live_chart_grid_real_draw (LiveChartDrawable* base, cairo_t* ctx, LiveChartConfig* config) { LiveChartGrid * self; gboolean _tmp0_; gboolean _tmp1_; #line 24 "../src/grid.vala" self = (LiveChartGrid*) base; #line 24 "../src/grid.vala" g_return_if_fail (ctx != NULL); #line 24 "../src/grid.vala" g_return_if_fail (config != NULL); #line 25 "../src/grid.vala" _tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self); #line 25 "../src/grid.vala" _tmp1_ = _tmp0_; #line 25 "../src/grid.vala" if (_tmp1_) { #line 26 "../src/grid.vala" live_chart_grid_render_abscissa (self, ctx, config); #line 27 "../src/grid.vala" live_chart_grid_render_ordinate (self, ctx, config); #line 28 "../src/grid.vala" live_chart_grid_render_grid (self, ctx, config); #line 29 "../src/grid.vala" live_chart_grid_update_bounding_box (self, config); #line 30 "../src/grid.vala" live_chart_grid_debug (self, ctx); #line 90 "grid.c" } } static void live_chart_grid_real_get_bounding_box (LiveChartDrawable* base, LiveChartBoundingBox* result) { LiveChartGrid * self; LiveChartBoundingBox _tmp0_; #line 34 "../src/grid.vala" self = (LiveChartGrid*) base; #line 35 "../src/grid.vala" _tmp0_ = self->bounding_box; #line 35 "../src/grid.vala" *result = _tmp0_; #line 35 "../src/grid.vala" return; #line 108 "grid.c" } void live_chart_grid_restore (LiveChartGrid* self, cairo_t* ctx) { GdkRGBA _tmp0_; GdkRGBA _tmp1_; GdkRGBA _tmp2_; GdkRGBA _tmp3_; #line 38 "../src/grid.vala" g_return_if_fail (self != NULL); #line 38 "../src/grid.vala" g_return_if_fail (ctx != NULL); #line 39 "../src/grid.vala" _tmp0_ = self->priv->_main_color; #line 39 "../src/grid.vala" _tmp1_ = self->priv->_main_color; #line 39 "../src/grid.vala" _tmp2_ = self->priv->_main_color; #line 39 "../src/grid.vala" _tmp3_ = self->priv->_main_color; #line 39 "../src/grid.vala" cairo_set_source_rgba (ctx, _tmp0_.red, _tmp1_.green, _tmp2_.blue, _tmp3_.alpha); #line 40 "../src/grid.vala" cairo_set_line_width (ctx, 0.5); #line 41 "../src/grid.vala" cairo_set_dash (ctx, NULL, (gint) 0, 0.0); #line 137 "grid.c" } void live_chart_grid_render_abscissa (LiveChartGrid* self, cairo_t* ctx, LiveChartConfig* config) { gboolean _tmp0_ = FALSE; LiveChartXAxis* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; #line 44 "../src/grid.vala" g_return_if_fail (self != NULL); #line 44 "../src/grid.vala" g_return_if_fail (ctx != NULL); #line 44 "../src/grid.vala" g_return_if_fail (config != NULL); #line 45 "../src/grid.vala" _tmp1_ = config->x_axis; #line 45 "../src/grid.vala" _tmp2_ = live_chart_xaxis_get_visible (_tmp1_); #line 45 "../src/grid.vala" _tmp3_ = _tmp2_; #line 45 "../src/grid.vala" if (_tmp3_) { #line 163 "grid.c" LiveChartXAxis* _tmp4_; LiveChartPath* _tmp5_; gboolean _tmp6_; gboolean _tmp7_; #line 45 "../src/grid.vala" _tmp4_ = config->x_axis; #line 45 "../src/grid.vala" _tmp5_ = _tmp4_->axis; #line 45 "../src/grid.vala" _tmp6_ = live_chart_path_get_visible (_tmp5_); #line 45 "../src/grid.vala" _tmp7_ = _tmp6_; #line 45 "../src/grid.vala" _tmp0_ = _tmp7_; #line 178 "grid.c" } else { #line 45 "../src/grid.vala" _tmp0_ = FALSE; #line 182 "grid.c" } #line 45 "../src/grid.vala" if (_tmp0_) { #line 186 "grid.c" LiveChartXAxis* _tmp8_; LiveChartPath* _tmp9_; LiveChartPadding _tmp10_; gint _tmp11_; gint _tmp12_; LiveChartPadding _tmp13_; gint _tmp14_; gint _tmp15_; LiveChartPadding _tmp16_; gint _tmp17_; gint _tmp18_; LiveChartPadding _tmp19_; #line 46 "../src/grid.vala" _tmp8_ = config->x_axis; #line 46 "../src/grid.vala" _tmp9_ = _tmp8_->axis; #line 46 "../src/grid.vala" live_chart_path_configure (_tmp9_, ctx); #line 47 "../src/grid.vala" _tmp10_ = config->padding; #line 47 "../src/grid.vala" _tmp11_ = live_chart_config_get_height (config); #line 47 "../src/grid.vala" _tmp12_ = _tmp11_; #line 47 "../src/grid.vala" _tmp13_ = config->padding; #line 47 "../src/grid.vala" cairo_move_to (ctx, _tmp10_.left + 0.5, (_tmp12_ - _tmp13_.bottom) + 0.5); #line 48 "../src/grid.vala" _tmp14_ = live_chart_config_get_width (config); #line 48 "../src/grid.vala" _tmp15_ = _tmp14_; #line 48 "../src/grid.vala" _tmp16_ = config->padding; #line 48 "../src/grid.vala" _tmp17_ = live_chart_config_get_height (config); #line 48 "../src/grid.vala" _tmp18_ = _tmp17_; #line 48 "../src/grid.vala" _tmp19_ = config->padding; #line 48 "../src/grid.vala" cairo_line_to (ctx, (_tmp15_ - _tmp16_.right) + 0.5, (_tmp18_ - _tmp19_.bottom) + 0.5); #line 49 "../src/grid.vala" cairo_stroke (ctx); #line 50 "../src/grid.vala" live_chart_grid_restore (self, ctx); #line 233 "grid.c" } } void live_chart_grid_render_ordinate (LiveChartGrid* self, cairo_t* ctx, LiveChartConfig* config) { gboolean _tmp0_ = FALSE; LiveChartYAxis* _tmp1_; gboolean _tmp2_; gboolean _tmp3_; #line 54 "../src/grid.vala" g_return_if_fail (self != NULL); #line 54 "../src/grid.vala" g_return_if_fail (ctx != NULL); #line 54 "../src/grid.vala" g_return_if_fail (config != NULL); #line 55 "../src/grid.vala" _tmp1_ = config->y_axis; #line 55 "../src/grid.vala" _tmp2_ = live_chart_yaxis_get_visible (_tmp1_); #line 55 "../src/grid.vala" _tmp3_ = _tmp2_; #line 55 "../src/grid.vala" if (_tmp3_) { #line 260 "grid.c" LiveChartYAxis* _tmp4_; LiveChartPath* _tmp5_; gboolean _tmp6_; gboolean _tmp7_; #line 55 "../src/grid.vala" _tmp4_ = config->y_axis; #line 55 "../src/grid.vala" _tmp5_ = _tmp4_->axis; #line 55 "../src/grid.vala" _tmp6_ = live_chart_path_get_visible (_tmp5_); #line 55 "../src/grid.vala" _tmp7_ = _tmp6_; #line 55 "../src/grid.vala" _tmp0_ = _tmp7_; #line 275 "grid.c" } else { #line 55 "../src/grid.vala" _tmp0_ = FALSE; #line 279 "grid.c" } #line 55 "../src/grid.vala" if (_tmp0_) { #line 283 "grid.c" LiveChartYAxis* _tmp8_; LiveChartPath* _tmp9_; LiveChartPadding _tmp10_; gint _tmp11_; gint _tmp12_; LiveChartPadding _tmp13_; LiveChartPadding _tmp14_; LiveChartPadding _tmp15_; #line 56 "../src/grid.vala" _tmp8_ = config->y_axis; #line 56 "../src/grid.vala" _tmp9_ = _tmp8_->axis; #line 56 "../src/grid.vala" live_chart_path_configure (_tmp9_, ctx); #line 57 "../src/grid.vala" _tmp10_ = config->padding; #line 57 "../src/grid.vala" _tmp11_ = live_chart_config_get_height (config); #line 57 "../src/grid.vala" _tmp12_ = _tmp11_; #line 57 "../src/grid.vala" _tmp13_ = config->padding; #line 57 "../src/grid.vala" cairo_move_to (ctx, _tmp10_.left + 0.5, (_tmp12_ - _tmp13_.bottom) + 0.5); #line 58 "../src/grid.vala" _tmp14_ = config->padding; #line 58 "../src/grid.vala" _tmp15_ = config->padding; #line 58 "../src/grid.vala" cairo_line_to (ctx, _tmp14_.left + 0.5, _tmp15_.top + 0.5); #line 59 "../src/grid.vala" cairo_stroke (ctx); #line 60 "../src/grid.vala" live_chart_grid_restore (self, ctx); #line 318 "grid.c" } } void live_chart_grid_render_grid (LiveChartGrid* self, cairo_t* ctx, LiveChartConfig* config) { #line 64 "../src/grid.vala" g_return_if_fail (self != NULL); #line 64 "../src/grid.vala" g_return_if_fail (ctx != NULL); #line 64 "../src/grid.vala" g_return_if_fail (config != NULL); #line 65 "../src/grid.vala" live_chart_grid_render_hgrid (self, ctx, config); #line 66 "../src/grid.vala" live_chart_grid_render_vgrid (self, ctx, config); #line 337 "grid.c" } void live_chart_grid_render_vgrid (LiveChartGrid* self, cairo_t* ctx, LiveChartConfig* config) { gint64 time = 0LL; GTimeZone* _tmp0_; GTimeZone* _tmp1_; GDateTime* _tmp2_; GDateTime* _tmp3_; gint64 _tmp4_; #line 69 "../src/grid.vala" g_return_if_fail (self != NULL); #line 69 "../src/grid.vala" g_return_if_fail (ctx != NULL); #line 69 "../src/grid.vala" g_return_if_fail (config != NULL); #line 70 "../src/grid.vala" _tmp0_ = g_time_zone_new_local (); #line 70 "../src/grid.vala" _tmp1_ = _tmp0_; #line 70 "../src/grid.vala" _tmp2_ = g_date_time_new_now (_tmp1_); #line 70 "../src/grid.vala" _tmp3_ = _tmp2_; #line 70 "../src/grid.vala" _tmp4_ = g_date_time_to_unix (_tmp3_); #line 70 "../src/grid.vala" _g_date_time_unref0 (_tmp3_); #line 70 "../src/grid.vala" _g_time_zone_unref0 (_tmp1_); #line 70 "../src/grid.vala" time = _tmp4_; #line 373 "grid.c" { gdouble i = 0.0; gint _tmp5_; gint _tmp6_; LiveChartPadding _tmp7_; #line 71 "../src/grid.vala" _tmp5_ = live_chart_config_get_width (config); #line 71 "../src/grid.vala" _tmp6_ = _tmp5_; #line 71 "../src/grid.vala" _tmp7_ = config->padding; #line 71 "../src/grid.vala" i = (gdouble) (_tmp6_ - _tmp7_.right); #line 387 "grid.c" { gboolean _tmp8_ = FALSE; #line 71 "../src/grid.vala" _tmp8_ = TRUE; #line 71 "../src/grid.vala" while (TRUE) { #line 394 "grid.c" LiveChartPadding _tmp12_; LiveChartXAxis* _tmp13_; LiveChartPath* _tmp14_; gboolean _tmp15_; gboolean _tmp16_; gboolean _tmp23_ = FALSE; LiveChartXAxis* _tmp24_; gboolean _tmp25_; gboolean _tmp26_; LiveChartXAxis* _tmp50_; gfloat _tmp51_; gfloat _tmp52_; #line 71 "../src/grid.vala" if (!_tmp8_) { #line 409 "grid.c" LiveChartXAxis* _tmp9_; gfloat _tmp10_; gfloat _tmp11_; #line 71 "../src/grid.vala" _tmp9_ = config->x_axis; #line 71 "../src/grid.vala" _tmp10_ = live_chart_xaxis_get_tick_length (_tmp9_); #line 71 "../src/grid.vala" _tmp11_ = _tmp10_; #line 71 "../src/grid.vala" i -= (gdouble) _tmp11_; #line 421 "grid.c" } #line 71 "../src/grid.vala" _tmp8_ = FALSE; #line 71 "../src/grid.vala" _tmp12_ = config->padding; #line 71 "../src/grid.vala" if (!(i > ((gdouble) _tmp12_.left))) { #line 71 "../src/grid.vala" break; #line 431 "grid.c" } #line 72 "../src/grid.vala" _tmp13_ = config->x_axis; #line 72 "../src/grid.vala" _tmp14_ = _tmp13_->lines; #line 72 "../src/grid.vala" _tmp15_ = live_chart_path_get_visible (_tmp14_); #line 72 "../src/grid.vala" _tmp16_ = _tmp15_; #line 72 "../src/grid.vala" if (_tmp16_) { #line 443 "grid.c" LiveChartXAxis* _tmp17_; LiveChartPath* _tmp18_; gint _tmp19_; gint _tmp20_; LiveChartPadding _tmp21_; LiveChartPadding _tmp22_; #line 73 "../src/grid.vala" _tmp17_ = config->x_axis; #line 73 "../src/grid.vala" _tmp18_ = _tmp17_->lines; #line 73 "../src/grid.vala" live_chart_path_configure (_tmp18_, ctx); #line 74 "../src/grid.vala" _tmp19_ = live_chart_config_get_height (config); #line 74 "../src/grid.vala" _tmp20_ = _tmp19_; #line 74 "../src/grid.vala" _tmp21_ = config->padding; #line 74 "../src/grid.vala" cairo_move_to (ctx, ((gint) i) + 0.5, (0.5 + _tmp20_) - _tmp21_.bottom); #line 75 "../src/grid.vala" _tmp22_ = config->padding; #line 75 "../src/grid.vala" cairo_line_to (ctx, ((gint) i) + 0.5, 0.5 + _tmp22_.top); #line 76 "../src/grid.vala" cairo_stroke (ctx); #line 77 "../src/grid.vala" live_chart_grid_restore (self, ctx); #line 472 "grid.c" } #line 81 "../src/grid.vala" _tmp24_ = config->x_axis; #line 81 "../src/grid.vala" _tmp25_ = live_chart_xaxis_get_visible (_tmp24_); #line 81 "../src/grid.vala" _tmp26_ = _tmp25_; #line 81 "../src/grid.vala" if (_tmp26_) { #line 482 "grid.c" LiveChartXAxis* _tmp27_; LiveChartLabels* _tmp28_; gboolean _tmp29_; gboolean _tmp30_; #line 81 "../src/grid.vala" _tmp27_ = config->x_axis; #line 81 "../src/grid.vala" _tmp28_ = _tmp27_->labels; #line 81 "../src/grid.vala" _tmp29_ = live_chart_labels_get_visible (_tmp28_); #line 81 "../src/grid.vala" _tmp30_ = _tmp29_; #line 81 "../src/grid.vala" _tmp23_ = _tmp30_; #line 497 "grid.c" } else { #line 81 "../src/grid.vala" _tmp23_ = FALSE; #line 501 "grid.c" } #line 81 "../src/grid.vala" if (_tmp23_) { #line 505 "grid.c" LiveChartXAxis* _tmp31_; LiveChartLabels* _tmp32_; LiveChartFont* _tmp33_; LiveChartFont* _tmp34_; gchar* text = NULL; GDateTime* _tmp35_; GDateTime* _tmp36_; gchar* _tmp37_; gchar* _tmp38_; cairo_text_extents_t extents = {0}; const gchar* _tmp39_; cairo_text_extents_t _tmp40_ = {0}; cairo_text_extents_t _tmp41_; gint _tmp42_; gint _tmp43_; LiveChartPadding _tmp44_; LiveChartXAxis* _tmp45_; LiveChartLabels* _tmp46_; cairo_text_extents_t _tmp47_ = {0}; cairo_text_extents_t _tmp48_; const gchar* _tmp49_; #line 82 "../src/grid.vala" _tmp31_ = config->x_axis; #line 82 "../src/grid.vala" _tmp32_ = _tmp31_->labels; #line 82 "../src/grid.vala" _tmp33_ = live_chart_labels_get_font (_tmp32_); #line 82 "../src/grid.vala" _tmp34_ = _tmp33_; #line 82 "../src/grid.vala" live_chart_font_configure (_tmp34_, ctx); #line 83 "../src/grid.vala" _tmp35_ = g_date_time_new_from_unix_local (time); #line 83 "../src/grid.vala" _tmp36_ = _tmp35_; #line 83 "../src/grid.vala" _tmp37_ = g_date_time_format (_tmp36_, "%H:%M:%S"); #line 83 "../src/grid.vala" _tmp38_ = _tmp37_; #line 83 "../src/grid.vala" _g_date_time_unref0 (_tmp36_); #line 83 "../src/grid.vala" text = _tmp38_; #line 85 "../src/grid.vala" _tmp39_ = text; #line 85 "../src/grid.vala" cairo_text_extents (ctx, _tmp39_, &_tmp40_); #line 85 "../src/grid.vala" extents = _tmp40_; #line 87 "../src/grid.vala" _tmp41_ = extents; #line 87 "../src/grid.vala" _tmp42_ = live_chart_config_get_height (config); #line 87 "../src/grid.vala" _tmp43_ = _tmp42_; #line 87 "../src/grid.vala" _tmp44_ = config->padding; #line 87 "../src/grid.vala" _tmp45_ = config->x_axis; #line 87 "../src/grid.vala" _tmp46_ = _tmp45_->labels; #line 87 "../src/grid.vala" live_chart_labels_get_extents (_tmp46_, &_tmp47_); #line 87 "../src/grid.vala" _tmp48_ = _tmp47_; #line 87 "../src/grid.vala" cairo_move_to (ctx, (i + 0.5) - (_tmp41_.width / 2), (((0.5 + _tmp43_) - _tmp44_.bottom) + _tmp48_.height) + LIVE_CHART_GRID_ABSCISSA_TIME_PADDING); #line 88 "../src/grid.vala" _tmp49_ = text; #line 88 "../src/grid.vala" cairo_show_text (ctx, _tmp49_); #line 89 "../src/grid.vala" cairo_stroke (ctx); #line 81 "../src/grid.vala" _g_free0 (text); #line 581 "grid.c" } #line 91 "../src/grid.vala" _tmp50_ = config->x_axis; #line 91 "../src/grid.vala" _tmp51_ = live_chart_xaxis_get_tick_interval (_tmp50_); #line 91 "../src/grid.vala" _tmp52_ = _tmp51_; #line 91 "../src/grid.vala" time -= (gint64) ((gint) _tmp52_); #line 591 "grid.c" } } } } void live_chart_grid_render_hgrid (LiveChartGrid* self, cairo_t* ctx, LiveChartConfig* config) { LiveChartBoundaries boundaries = {0}; LiveChartBoundaries _tmp0_ = {0}; #line 95 "../src/grid.vala" g_return_if_fail (self != NULL); #line 95 "../src/grid.vala" g_return_if_fail (ctx != NULL); #line 95 "../src/grid.vala" g_return_if_fail (config != NULL); #line 97 "../src/grid.vala" live_chart_config_boundaries (config, &_tmp0_); #line 97 "../src/grid.vala" boundaries = _tmp0_; #line 614 "grid.c" { GeeList* _position_list = NULL; LiveChartYAxis* _tmp1_; LiveChartTicks _tmp2_; GeeList* _tmp3_; gint _position_size = 0; GeeList* _tmp4_; gint _tmp5_; gint _tmp6_; gint _position_index = 0; #line 98 "../src/grid.vala" _tmp1_ = config->y_axis; #line 98 "../src/grid.vala" _tmp2_ = _tmp1_->ticks; #line 98 "../src/grid.vala" _tmp3_ = _tmp2_.values; #line 98 "../src/grid.vala" _position_list = _tmp3_; #line 98 "../src/grid.vala" _tmp4_ = _position_list; #line 98 "../src/grid.vala" _tmp5_ = gee_collection_get_size ((GeeCollection*) _tmp4_); #line 98 "../src/grid.vala" _tmp6_ = _tmp5_; #line 98 "../src/grid.vala" _position_size = _tmp6_; #line 98 "../src/grid.vala" _position_index = -1; #line 98 "../src/grid.vala" while (TRUE) { #line 645 "grid.c" gint _tmp7_; gint _tmp8_; gfloat position = 0.0F; GeeList* _tmp9_; gpointer _tmp10_; gfloat* _tmp11_; gfloat _tmp12_; gdouble y = 0.0; LiveChartBoundaries _tmp13_; LiveChartBoundaries _tmp14_; LiveChartBoundary _tmp15_; LiveChartYAxis* _tmp16_; LiveChartBoundaries _tmp17_; LiveChartBoundary _tmp18_; LiveChartYAxis* _tmp19_; LiveChartPath* _tmp20_; gboolean _tmp21_; gboolean _tmp22_; gboolean _tmp29_ = FALSE; LiveChartYAxis* _tmp30_; gboolean _tmp31_; gboolean _tmp32_; #line 98 "../src/grid.vala" _position_index = _position_index + 1; #line 98 "../src/grid.vala" _tmp7_ = _position_index; #line 98 "../src/grid.vala" _tmp8_ = _position_size; #line 98 "../src/grid.vala" if (!(_tmp7_ < _tmp8_)) { #line 98 "../src/grid.vala" break; #line 678 "grid.c" } #line 98 "../src/grid.vala" _tmp9_ = _position_list; #line 98 "../src/grid.vala" _tmp10_ = gee_list_get (_tmp9_, _position_index); #line 98 "../src/grid.vala" _tmp11_ = (gfloat*) _tmp10_; #line 98 "../src/grid.vala" _tmp12_ = *_tmp11_; #line 98 "../src/grid.vala" _g_free0 (_tmp11_); #line 98 "../src/grid.vala" position = _tmp12_; #line 100 "../src/grid.vala" _tmp13_ = boundaries; #line 100 "../src/grid.vala" _tmp14_ = boundaries; #line 100 "../src/grid.vala" _tmp15_ = _tmp14_.y; #line 100 "../src/grid.vala" _tmp16_ = config->y_axis; #line 100 "../src/grid.vala" y = (_tmp13_.height + _tmp15_.min) - (position * live_chart_yaxis_get_ratio (_tmp16_)); #line 101 "../src/grid.vala" _tmp17_ = boundaries; #line 101 "../src/grid.vala" _tmp18_ = _tmp17_.y; #line 101 "../src/grid.vala" if (y < ((gdouble) _tmp18_.min)) { #line 102 "../src/grid.vala" break; #line 710 "grid.c" } #line 104 "../src/grid.vala" _tmp19_ = config->y_axis; #line 104 "../src/grid.vala" _tmp20_ = _tmp19_->lines; #line 104 "../src/grid.vala" _tmp21_ = live_chart_path_get_visible (_tmp20_); #line 104 "../src/grid.vala" _tmp22_ = _tmp21_; #line 104 "../src/grid.vala" if (_tmp22_) { #line 722 "grid.c" LiveChartYAxis* _tmp23_; LiveChartPath* _tmp24_; LiveChartBoundaries _tmp25_; LiveChartBoundary _tmp26_; LiveChartBoundaries _tmp27_; LiveChartBoundary _tmp28_; #line 105 "../src/grid.vala" _tmp23_ = config->y_axis; #line 105 "../src/grid.vala" _tmp24_ = _tmp23_->lines; #line 105 "../src/grid.vala" live_chart_path_configure (_tmp24_, ctx); #line 106 "../src/grid.vala" _tmp25_ = boundaries; #line 106 "../src/grid.vala" _tmp26_ = _tmp25_.x; #line 106 "../src/grid.vala" cairo_move_to (ctx, 0.5 + _tmp26_.max, ((gint) y) + 0.5); #line 107 "../src/grid.vala" _tmp27_ = boundaries; #line 107 "../src/grid.vala" _tmp28_ = _tmp27_.x; #line 107 "../src/grid.vala" cairo_line_to (ctx, _tmp28_.min + 0.5, ((gint) y) + 0.5); #line 108 "../src/grid.vala" cairo_stroke (ctx); #line 109 "../src/grid.vala" live_chart_grid_restore (self, ctx); #line 751 "grid.c" } #line 113 "../src/grid.vala" _tmp30_ = config->y_axis; #line 113 "../src/grid.vala" _tmp31_ = live_chart_yaxis_get_visible (_tmp30_); #line 113 "../src/grid.vala" _tmp32_ = _tmp31_; #line 113 "../src/grid.vala" if (_tmp32_) { #line 761 "grid.c" LiveChartYAxis* _tmp33_; LiveChartLabels* _tmp34_; gboolean _tmp35_; gboolean _tmp36_; #line 113 "../src/grid.vala" _tmp33_ = config->y_axis; #line 113 "../src/grid.vala" _tmp34_ = _tmp33_->labels; #line 113 "../src/grid.vala" _tmp35_ = live_chart_labels_get_visible (_tmp34_); #line 113 "../src/grid.vala" _tmp36_ = _tmp35_; #line 113 "../src/grid.vala" _tmp29_ = _tmp36_; #line 776 "grid.c" } else { #line 113 "../src/grid.vala" _tmp29_ = FALSE; #line 780 "grid.c" } #line 113 "../src/grid.vala" if (_tmp29_) { #line 784 "grid.c" LiveChartYAxis* _tmp37_; LiveChartLabels* _tmp38_; LiveChartFont* _tmp39_; LiveChartFont* _tmp40_; gchar* value = NULL; LiveChartYAxis* _tmp41_; const gchar* _tmp42_; const gchar* _tmp43_; gchar* _tmp44_; cairo_text_extents_t extents = {0}; const gchar* _tmp45_; cairo_text_extents_t _tmp46_ = {0}; LiveChartBoundaries _tmp47_; LiveChartBoundary _tmp48_; cairo_text_extents_t _tmp49_; cairo_text_extents_t _tmp50_; const gchar* _tmp51_; #line 114 "../src/grid.vala" _tmp37_ = config->y_axis; #line 114 "../src/grid.vala" _tmp38_ = _tmp37_->labels; #line 114 "../src/grid.vala" _tmp39_ = live_chart_labels_get_font (_tmp38_); #line 114 "../src/grid.vala" _tmp40_ = _tmp39_; #line 114 "../src/grid.vala" live_chart_font_configure (_tmp40_, ctx); #line 115 "../src/grid.vala" _tmp41_ = config->y_axis; #line 115 "../src/grid.vala" _tmp42_ = live_chart_yaxis_get_unit (_tmp41_); #line 115 "../src/grid.vala" _tmp43_ = _tmp42_; #line 115 "../src/grid.vala" _tmp44_ = live_chart_format_for_y_axis (_tmp43_, position); #line 115 "../src/grid.vala" value = _tmp44_; #line 118 "../src/grid.vala" _tmp45_ = value; #line 118 "../src/grid.vala" cairo_text_extents (ctx, _tmp45_, &_tmp46_); #line 118 "../src/grid.vala" extents = _tmp46_; #line 119 "../src/grid.vala" _tmp47_ = boundaries; #line 119 "../src/grid.vala" _tmp48_ = _tmp47_.x; #line 119 "../src/grid.vala" _tmp49_ = extents; #line 119 "../src/grid.vala" _tmp50_ = extents; #line 119 "../src/grid.vala" cairo_move_to (ctx, (_tmp48_.min - _tmp49_.width) - 5, (y + (_tmp50_.height / 2)) + 0.5); #line 120 "../src/grid.vala" _tmp51_ = value; #line 120 "../src/grid.vala" cairo_show_text (ctx, _tmp51_); #line 121 "../src/grid.vala" cairo_stroke (ctx); #line 113 "../src/grid.vala" _g_free0 (value); #line 846 "grid.c" } } } } void live_chart_grid_update_bounding_box (LiveChartGrid* self, LiveChartConfig* config) { LiveChartBoundaries boundaries = {0}; LiveChartBoundaries _tmp0_ = {0}; LiveChartBoundaries _tmp1_; LiveChartBoundary _tmp2_; LiveChartBoundaries _tmp3_; LiveChartBoundary _tmp4_; LiveChartBoundaries _tmp5_; LiveChartBoundary _tmp6_; LiveChartBoundaries _tmp7_; LiveChartBoundary _tmp8_; LiveChartBoundaries _tmp9_; LiveChartBoundary _tmp10_; LiveChartBoundaries _tmp11_; LiveChartBoundary _tmp12_; LiveChartBoundingBox _tmp13_ = {0}; #line 126 "../src/grid.vala" g_return_if_fail (self != NULL); #line 126 "../src/grid.vala" g_return_if_fail (config != NULL); #line 127 "../src/grid.vala" live_chart_config_boundaries (config, &_tmp0_); #line 127 "../src/grid.vala" boundaries = _tmp0_; #line 128 "../src/grid.vala" _tmp1_ = boundaries; #line 128 "../src/grid.vala" _tmp2_ = _tmp1_.x; #line 128 "../src/grid.vala" _tmp3_ = boundaries; #line 128 "../src/grid.vala" _tmp4_ = _tmp3_.y; #line 128 "../src/grid.vala" _tmp5_ = boundaries; #line 128 "../src/grid.vala" _tmp6_ = _tmp5_.x; #line 128 "../src/grid.vala" _tmp7_ = boundaries; #line 128 "../src/grid.vala" _tmp8_ = _tmp7_.x; #line 128 "../src/grid.vala" _tmp9_ = boundaries; #line 128 "../src/grid.vala" _tmp10_ = _tmp9_.y; #line 128 "../src/grid.vala" _tmp11_ = boundaries; #line 128 "../src/grid.vala" _tmp12_ = _tmp11_.y; #line 128 "../src/grid.vala" memset (&_tmp13_, 0, sizeof (LiveChartBoundingBox)); #line 128 "../src/grid.vala" _tmp13_.x = (gdouble) _tmp2_.min; #line 128 "../src/grid.vala" _tmp13_.y = (gdouble) _tmp4_.min; #line 128 "../src/grid.vala" _tmp13_.width = (gdouble) (_tmp6_.max - _tmp8_.min); #line 128 "../src/grid.vala" _tmp13_.height = (gdouble) ((_tmp10_.max - _tmp12_.min) + LIVE_CHART_GRID_ABSCISSA_TIME_PADDING); #line 128 "../src/grid.vala" self->bounding_box = _tmp13_; #line 915 "grid.c" } void live_chart_grid_debug (LiveChartGrid* self, cairo_t* ctx) { gchar* debug = NULL; const gchar* _tmp0_; gchar* _tmp1_; const gchar* _tmp2_; #line 136 "../src/grid.vala" g_return_if_fail (self != NULL); #line 136 "../src/grid.vala" g_return_if_fail (ctx != NULL); #line 137 "../src/grid.vala" _tmp0_ = g_getenv ("LIVE_CHART_DEBUG"); #line 137 "../src/grid.vala" _tmp1_ = g_strdup (_tmp0_); #line 137 "../src/grid.vala" debug = _tmp1_; #line 138 "../src/grid.vala" _tmp2_ = debug; #line 138 "../src/grid.vala" if (_tmp2_ != NULL) { #line 940 "grid.c" LiveChartBoundingBox _tmp3_; LiveChartBoundingBox _tmp4_; LiveChartBoundingBox _tmp5_; LiveChartBoundingBox _tmp6_; #line 139 "../src/grid.vala" _tmp3_ = self->bounding_box; #line 139 "../src/grid.vala" _tmp4_ = self->bounding_box; #line 139 "../src/grid.vala" _tmp5_ = self->bounding_box; #line 139 "../src/grid.vala" _tmp6_ = self->bounding_box; #line 139 "../src/grid.vala" cairo_rectangle (ctx, _tmp3_.x, _tmp4_.y, _tmp5_.width, _tmp6_.height); #line 140 "../src/grid.vala" cairo_stroke (ctx); #line 957 "grid.c" } #line 136 "../src/grid.vala" _g_free0 (debug); #line 961 "grid.c" } LiveChartGrid* live_chart_grid_construct (GType object_type) { LiveChartGrid * self = NULL; #line 5 "../src/grid.vala" self = (LiveChartGrid*) g_object_new (object_type, NULL); #line 5 "../src/grid.vala" return self; #line 972 "grid.c" } LiveChartGrid* live_chart_grid_new (void) { #line 5 "../src/grid.vala" return live_chart_grid_construct (LIVE_CHART_TYPE_GRID); #line 980 "grid.c" } static gboolean live_chart_grid_real_get_visible (LiveChartDrawable* base) { gboolean result; LiveChartGrid* self; #line 14 "../src/grid.vala" self = (LiveChartGrid*) base; #line 14 "../src/grid.vala" result = self->priv->_visible; #line 14 "../src/grid.vala" return result; #line 994 "grid.c" } static void live_chart_grid_real_set_visible (LiveChartDrawable* base, gboolean value) { LiveChartGrid* self; gboolean old_value; #line 14 "../src/grid.vala" self = (LiveChartGrid*) base; #line 14 "../src/grid.vala" old_value = live_chart_grid_real_get_visible (base); #line 14 "../src/grid.vala" if (old_value != value) { #line 14 "../src/grid.vala" self->priv->_visible = value; #line 14 "../src/grid.vala" g_object_notify_by_pspec ((GObject *) self, live_chart_grid_properties[LIVE_CHART_GRID_VISIBLE_PROPERTY]); #line 1013 "grid.c" } } void live_chart_grid_get_main_color (LiveChartGrid* self, GdkRGBA * result) { GdkRGBA _tmp0_; #line 16 "../src/grid.vala" g_return_if_fail (self != NULL); #line 16 "../src/grid.vala" _tmp0_ = self->priv->_main_color; #line 16 "../src/grid.vala" *result = _tmp0_; #line 16 "../src/grid.vala" return; #line 1030 "grid.c" } static gboolean _gdk_rgba_equal (const GdkRGBA * s1, const GdkRGBA * s2) { #line 16 "../src/grid.vala" if (s1 == s2) { #line 16 "../src/grid.vala" return TRUE; #line 1041 "grid.c" } #line 16 "../src/grid.vala" if (s1 == NULL) { #line 16 "../src/grid.vala" return FALSE; #line 1047 "grid.c" } #line 16 "../src/grid.vala" if (s2 == NULL) { #line 16 "../src/grid.vala" return FALSE; #line 1053 "grid.c" } #line 16 "../src/grid.vala" if (s1->red != s2->red) { #line 16 "../src/grid.vala" return FALSE; #line 1059 "grid.c" } #line 16 "../src/grid.vala" if (s1->green != s2->green) { #line 16 "../src/grid.vala" return FALSE; #line 1065 "grid.c" } #line 16 "../src/grid.vala" if (s1->blue != s2->blue) { #line 16 "../src/grid.vala" return FALSE; #line 1071 "grid.c" } #line 16 "../src/grid.vala" if (s1->alpha != s2->alpha) { #line 16 "../src/grid.vala" return FALSE; #line 1077 "grid.c" } #line 16 "../src/grid.vala" return TRUE; #line 1081 "grid.c" } void live_chart_grid_set_main_color (LiveChartGrid* self, GdkRGBA * value) { GdkRGBA old_value; #line 16 "../src/grid.vala" g_return_if_fail (self != NULL); #line 16 "../src/grid.vala" live_chart_grid_get_main_color (self, &old_value); #line 16 "../src/grid.vala" if (_gdk_rgba_equal (value, &old_value) != TRUE) { #line 1095 "grid.c" GdkRGBA _tmp0_; #line 16 "../src/grid.vala" _tmp0_ = *value; #line 16 "../src/grid.vala" self->priv->_main_color = _tmp0_; #line 16 "../src/grid.vala" g_object_notify_by_pspec ((GObject *) self, live_chart_grid_properties[LIVE_CHART_GRID_MAIN_COLOR_PROPERTY]); #line 1103 "grid.c" } } static void live_chart_grid_class_init (LiveChartGridClass * klass, gpointer klass_data) { #line 5 "../src/grid.vala" live_chart_grid_parent_class = g_type_class_peek_parent (klass); #line 5 "../src/grid.vala" g_type_class_adjust_private_offset (klass, &LiveChartGrid_private_offset); #line 5 "../src/grid.vala" G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_grid_get_property; #line 5 "../src/grid.vala" G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_grid_set_property; #line 5 "../src/grid.vala" G_OBJECT_CLASS (klass)->finalize = live_chart_grid_finalize; #line 5 "../src/grid.vala" g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_GRID_VISIBLE_PROPERTY, live_chart_grid_properties[LIVE_CHART_GRID_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); #line 5 "../src/grid.vala" g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_GRID_MAIN_COLOR_PROPERTY, live_chart_grid_properties[LIVE_CHART_GRID_MAIN_COLOR_PROPERTY] = g_param_spec_boxed ("main-color", "main-color", "main-color", gdk_rgba_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); #line 1125 "grid.c" } static void live_chart_grid_live_chart_drawable_interface_init (LiveChartDrawableIface * iface, gpointer iface_data) { #line 5 "../src/grid.vala" live_chart_grid_live_chart_drawable_parent_iface = g_type_interface_peek_parent (iface); #line 5 "../src/grid.vala" iface->draw = (void (*) (LiveChartDrawable*, cairo_t*, LiveChartConfig*)) live_chart_grid_real_draw; #line 5 "../src/grid.vala" iface->get_bounding_box = (void (*) (LiveChartDrawable*, LiveChartBoundingBox*)) live_chart_grid_real_get_bounding_box; #line 5 "../src/grid.vala" iface->get_visible = live_chart_grid_real_get_visible; #line 5 "../src/grid.vala" iface->set_visible = live_chart_grid_real_set_visible; #line 1142 "grid.c" } static void live_chart_grid_instance_init (LiveChartGrid * self, gpointer klass) { LiveChartBoundingBox _tmp0_ = {0}; GdkRGBA _tmp1_ = {0}; #line 5 "../src/grid.vala" self->priv = live_chart_grid_get_instance_private (self); #line 7 "../src/grid.vala" memset (&_tmp0_, 0, sizeof (LiveChartBoundingBox)); #line 7 "../src/grid.vala" _tmp0_.x = (gdouble) 0; #line 7 "../src/grid.vala" _tmp0_.y = (gdouble) 0; #line 7 "../src/grid.vala" _tmp0_.width = (gdouble) 0; #line 7 "../src/grid.vala" _tmp0_.height = (gdouble) 0; #line 7 "../src/grid.vala" self->bounding_box = _tmp0_; #line 14 "../src/grid.vala" self->priv->_visible = TRUE; #line 15 "../src/grid.vala" memset (&_tmp1_, 0, sizeof (GdkRGBA)); #line 15 "../src/grid.vala" _tmp1_.red = 0.4; #line 15 "../src/grid.vala" _tmp1_.green = 0.4; #line 15 "../src/grid.vala" _tmp1_.blue = 0.4; #line 15 "../src/grid.vala" _tmp1_.alpha = 1.0; #line 15 "../src/grid.vala" self->priv->_main_color = _tmp1_; #line 1179 "grid.c" } static void live_chart_grid_finalize (GObject * obj) { LiveChartGrid * self; #line 5 "../src/grid.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_GRID, LiveChartGrid); #line 5 "../src/grid.vala" G_OBJECT_CLASS (live_chart_grid_parent_class)->finalize (obj); #line 1190 "grid.c" } static GType live_chart_grid_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (LiveChartGridClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_grid_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartGrid), 0, (GInstanceInitFunc) live_chart_grid_instance_init, NULL }; static const GInterfaceInfo live_chart_drawable_info = { (GInterfaceInitFunc) live_chart_grid_live_chart_drawable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType live_chart_grid_type_id; live_chart_grid_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartGrid", &g_define_type_info, 0); g_type_add_interface_static (live_chart_grid_type_id, LIVE_CHART_TYPE_DRAWABLE, &live_chart_drawable_info); LiveChartGrid_private_offset = g_type_add_instance_private (live_chart_grid_type_id, sizeof (LiveChartGridPrivate)); return live_chart_grid_type_id; } GType live_chart_grid_get_type (void) { static volatile gsize live_chart_grid_type_id__once = 0; if (g_once_init_enter (&live_chart_grid_type_id__once)) { GType live_chart_grid_type_id; live_chart_grid_type_id = live_chart_grid_get_type_once (); g_once_init_leave (&live_chart_grid_type_id__once, live_chart_grid_type_id); } return live_chart_grid_type_id__once; } static void _vala_live_chart_grid_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { LiveChartGrid * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_GRID, LiveChartGrid); #line 5 "../src/grid.vala" switch (property_id) { #line 5 "../src/grid.vala" case LIVE_CHART_GRID_VISIBLE_PROPERTY: #line 5 "../src/grid.vala" g_value_set_boolean (value, live_chart_drawable_get_visible ((LiveChartDrawable*) self)); #line 5 "../src/grid.vala" break; #line 5 "../src/grid.vala" case LIVE_CHART_GRID_MAIN_COLOR_PROPERTY: #line 1235 "grid.c" { GdkRGBA boxed; #line 5 "../src/grid.vala" live_chart_grid_get_main_color (self, &boxed); #line 5 "../src/grid.vala" g_value_set_boxed (value, &boxed); #line 1242 "grid.c" } #line 5 "../src/grid.vala" break; #line 1246 "grid.c" default: #line 5 "../src/grid.vala" G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); #line 5 "../src/grid.vala" break; #line 1252 "grid.c" } } static void _vala_live_chart_grid_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { LiveChartGrid * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_GRID, LiveChartGrid); #line 5 "../src/grid.vala" switch (property_id) { #line 5 "../src/grid.vala" case LIVE_CHART_GRID_VISIBLE_PROPERTY: #line 5 "../src/grid.vala" live_chart_drawable_set_visible ((LiveChartDrawable*) self, g_value_get_boolean (value)); #line 5 "../src/grid.vala" break; #line 5 "../src/grid.vala" case LIVE_CHART_GRID_MAIN_COLOR_PROPERTY: #line 5 "../src/grid.vala" live_chart_grid_set_main_color (self, g_value_get_boxed (value)); #line 5 "../src/grid.vala" break; #line 1278 "grid.c" default: #line 5 "../src/grid.vala" G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); #line 5 "../src/grid.vala" break; #line 1284 "grid.c" } }