/* legend.c generated by valac 0.56.0, the Vala compiler * generated from legend.vala, do not modify */ #include "livechart.h" #include #include #include #include #include #include #include #include #include #define LIVE_CHART_HORIZONTAL_LEGEND_COLOR_BLOCK_WIDTH 15 #define LIVE_CHART_HORIZONTAL_LEGEND_COLOR_BLOCK_HEIGHT 10 enum { LIVE_CHART_LEGEND_0_PROPERTY, LIVE_CHART_LEGEND_VISIBLE_PROPERTY, LIVE_CHART_LEGEND_MAIN_COLOR_PROPERTY, LIVE_CHART_LEGEND_NUM_PROPERTIES }; static GParamSpec* live_chart_legend_properties[LIVE_CHART_LEGEND_NUM_PROPERTIES]; #define _live_chart_labels_unref0(var) ((var == NULL) ? NULL : (var = (live_chart_labels_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) enum { LIVE_CHART_HORIZONTAL_LEGEND_0_PROPERTY, LIVE_CHART_HORIZONTAL_LEGEND_NUM_PROPERTIES }; static GParamSpec* live_chart_horizontal_legend_properties[LIVE_CHART_HORIZONTAL_LEGEND_NUM_PROPERTIES]; #define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) typedef struct _Block3Data Block3Data; typedef struct _Block4Data Block4Data; #define _g_free0(var) (var = (g_free (var), NULL)) enum { LIVE_CHART_NOOP_LEGEND_0_PROPERTY, LIVE_CHART_NOOP_LEGEND_NUM_PROPERTIES }; static GParamSpec* live_chart_noop_legend_properties[LIVE_CHART_NOOP_LEGEND_NUM_PROPERTIES]; struct _LiveChartLegendPrivate { gboolean _visible; GdkRGBA _main_color; }; struct _Block3Data { int _ref_count_; LiveChartHorizontalLegend* self; cairo_t* ctx; }; struct _Block4Data { int _ref_count_; Block3Data * _data3_; gint y_padding; LiveChartBoundaries boundaries; gint pos; }; static gint LiveChartLegend_private_offset; static gpointer live_chart_legend_parent_class = NULL; static LiveChartDrawableIface * live_chart_legend_live_chart_drawable_parent_iface = NULL; static gpointer live_chart_horizontal_legend_parent_class = NULL; static gpointer live_chart_noop_legend_parent_class = NULL; static void live_chart_legend_real_draw (LiveChartLegend* self, cairo_t* ctx, LiveChartConfig* config); static void live_chart_legend_real_get_bounding_box (LiveChartDrawable* base, LiveChartBoundingBox* result); static gboolean _gdk_rgba_equal (const GdkRGBA * s1, const GdkRGBA * s2); static void live_chart_legend_finalize (GObject * obj); static GType live_chart_legend_get_type_once (void); static void _vala_live_chart_legend_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_live_chart_legend_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); static void live_chart_horizontal_legend_real_draw (LiveChartLegend* base, cairo_t* ctx, LiveChartConfig* config); static Block3Data* block3_data_ref (Block3Data* _data3_); static void block3_data_unref (void * _userdata_); static Block4Data* block4_data_ref (Block4Data* _data4_); static void block4_data_unref (void * _userdata_); static gint live_chart_horizontal_legend_get_y_padding (LiveChartHorizontalLegend* self, LiveChartConfig* config); static gboolean ___lambda6_ (Block4Data* _data4_, LiveChartSerie* serie); static void live_chart_horizontal_legend_name_extents (LiveChartHorizontalLegend* self, const gchar* name, cairo_t* ctx, cairo_text_extents_t* result); static gboolean ____lambda6__gee_forall_func (gpointer g, gpointer self); static void live_chart_horizontal_legend_update_bounding_box (LiveChartHorizontalLegend* self, LiveChartConfig* config, gint width); static GType live_chart_horizontal_legend_get_type_once (void); static void live_chart_noop_legend_real_draw (LiveChartLegend* base, cairo_t* ctx, LiveChartConfig* config); static GType live_chart_noop_legend_get_type_once (void); static inline gpointer live_chart_legend_get_instance_private (LiveChartLegend* self) { return G_STRUCT_MEMBER_P (self, LiveChartLegend_private_offset); } void live_chart_legend_add_legend (LiveChartLegend* self, LiveChartSerie* serie) { GeeArrayList* _tmp0_; #line 25 "../src/legend.vala" g_return_if_fail (self != NULL); #line 25 "../src/legend.vala" g_return_if_fail (serie != NULL); #line 26 "../src/legend.vala" _tmp0_ = self->series; #line 26 "../src/legend.vala" gee_abstract_collection_add ((GeeAbstractCollection*) _tmp0_, serie); #line 130 "legend.c" } static void live_chart_legend_real_draw (LiveChartLegend* self, cairo_t* ctx, LiveChartConfig* config) { #line 29 "../src/legend.vala" g_critical ("Type `%s' does not implement abstract method `live_chart_legend_draw'", g_type_name (G_TYPE_FROM_INSTANCE (self))); #line 29 "../src/legend.vala" return; #line 142 "legend.c" } void live_chart_legend_draw (LiveChartLegend* self, cairo_t* ctx, LiveChartConfig* config) { LiveChartLegendClass* _klass_; #line 29 "../src/legend.vala" g_return_if_fail (self != NULL); #line 29 "../src/legend.vala" _klass_ = LIVE_CHART_LEGEND_GET_CLASS (self); #line 29 "../src/legend.vala" if (_klass_->draw) { #line 29 "../src/legend.vala" _klass_->draw (self, ctx, config); #line 159 "legend.c" } } static void live_chart_legend_real_get_bounding_box (LiveChartDrawable* base, LiveChartBoundingBox* result) { LiveChartLegend * self; LiveChartBoundingBox _tmp0_; #line 30 "../src/legend.vala" self = (LiveChartLegend*) base; #line 31 "../src/legend.vala" _tmp0_ = self->bounding_box; #line 31 "../src/legend.vala" *result = _tmp0_; #line 31 "../src/legend.vala" return; #line 177 "legend.c" } LiveChartLegend* live_chart_legend_construct (GType object_type) { LiveChartLegend * self = NULL; #line 5 "../src/legend.vala" self = (LiveChartLegend*) g_object_new (object_type, NULL); #line 5 "../src/legend.vala" return self; #line 188 "legend.c" } static gboolean live_chart_legend_real_get_visible (LiveChartDrawable* base) { gboolean result; LiveChartLegend* self; #line 7 "../src/legend.vala" self = (LiveChartLegend*) base; #line 7 "../src/legend.vala" result = self->priv->_visible; #line 7 "../src/legend.vala" return result; #line 202 "legend.c" } static void live_chart_legend_real_set_visible (LiveChartDrawable* base, gboolean value) { LiveChartLegend* self; gboolean old_value; #line 7 "../src/legend.vala" self = (LiveChartLegend*) base; #line 7 "../src/legend.vala" old_value = live_chart_legend_real_get_visible (base); #line 7 "../src/legend.vala" if (old_value != value) { #line 7 "../src/legend.vala" self->priv->_visible = value; #line 7 "../src/legend.vala" g_object_notify_by_pspec ((GObject *) self, live_chart_legend_properties[LIVE_CHART_LEGEND_VISIBLE_PROPERTY]); #line 221 "legend.c" } } void live_chart_legend_get_main_color (LiveChartLegend* self, GdkRGBA * result) { GdkRGBA _tmp0_; #line 18 "../src/legend.vala" g_return_if_fail (self != NULL); #line 18 "../src/legend.vala" _tmp0_ = self->priv->_main_color; #line 18 "../src/legend.vala" *result = _tmp0_; #line 18 "../src/legend.vala" return; #line 238 "legend.c" } static gboolean _gdk_rgba_equal (const GdkRGBA * s1, const GdkRGBA * s2) { #line 18 "../src/legend.vala" if (s1 == s2) { #line 18 "../src/legend.vala" return TRUE; #line 249 "legend.c" } #line 18 "../src/legend.vala" if (s1 == NULL) { #line 18 "../src/legend.vala" return FALSE; #line 255 "legend.c" } #line 18 "../src/legend.vala" if (s2 == NULL) { #line 18 "../src/legend.vala" return FALSE; #line 261 "legend.c" } #line 18 "../src/legend.vala" if (s1->red != s2->red) { #line 18 "../src/legend.vala" return FALSE; #line 267 "legend.c" } #line 18 "../src/legend.vala" if (s1->green != s2->green) { #line 18 "../src/legend.vala" return FALSE; #line 273 "legend.c" } #line 18 "../src/legend.vala" if (s1->blue != s2->blue) { #line 18 "../src/legend.vala" return FALSE; #line 279 "legend.c" } #line 18 "../src/legend.vala" if (s1->alpha != s2->alpha) { #line 18 "../src/legend.vala" return FALSE; #line 285 "legend.c" } #line 18 "../src/legend.vala" return TRUE; #line 289 "legend.c" } void live_chart_legend_set_main_color (LiveChartLegend* self, GdkRGBA * value) { GdkRGBA old_value; #line 18 "../src/legend.vala" g_return_if_fail (self != NULL); #line 18 "../src/legend.vala" live_chart_legend_get_main_color (self, &old_value); #line 18 "../src/legend.vala" if (_gdk_rgba_equal (value, &old_value) != TRUE) { #line 303 "legend.c" GdkRGBA _tmp0_; #line 18 "../src/legend.vala" _tmp0_ = *value; #line 18 "../src/legend.vala" self->priv->_main_color = _tmp0_; #line 18 "../src/legend.vala" g_object_notify_by_pspec ((GObject *) self, live_chart_legend_properties[LIVE_CHART_LEGEND_MAIN_COLOR_PROPERTY]); #line 311 "legend.c" } } static void live_chart_legend_class_init (LiveChartLegendClass * klass, gpointer klass_data) { #line 5 "../src/legend.vala" live_chart_legend_parent_class = g_type_class_peek_parent (klass); #line 5 "../src/legend.vala" g_type_class_adjust_private_offset (klass, &LiveChartLegend_private_offset); #line 5 "../src/legend.vala" ((LiveChartLegendClass *) klass)->draw = (void (*) (LiveChartLegend*, cairo_t*, LiveChartConfig*)) live_chart_legend_real_draw; #line 5 "../src/legend.vala" G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_legend_get_property; #line 5 "../src/legend.vala" G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_legend_set_property; #line 5 "../src/legend.vala" G_OBJECT_CLASS (klass)->finalize = live_chart_legend_finalize; #line 5 "../src/legend.vala" g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_LEGEND_VISIBLE_PROPERTY, live_chart_legend_properties[LIVE_CHART_LEGEND_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); #line 5 "../src/legend.vala" g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_LEGEND_MAIN_COLOR_PROPERTY, live_chart_legend_properties[LIVE_CHART_LEGEND_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 335 "legend.c" } static void live_chart_legend_live_chart_drawable_interface_init (LiveChartDrawableIface * iface, gpointer iface_data) { #line 5 "../src/legend.vala" live_chart_legend_live_chart_drawable_parent_iface = g_type_interface_peek_parent (iface); #line 5 "../src/legend.vala" iface->draw = (void (*) (LiveChartDrawable*, cairo_t*, LiveChartConfig*)) live_chart_legend_draw; #line 5 "../src/legend.vala" iface->get_bounding_box = (void (*) (LiveChartDrawable*, LiveChartBoundingBox*)) live_chart_legend_real_get_bounding_box; #line 5 "../src/legend.vala" iface->get_visible = live_chart_legend_real_get_visible; #line 5 "../src/legend.vala" iface->set_visible = live_chart_legend_real_set_visible; #line 352 "legend.c" } static void live_chart_legend_instance_init (LiveChartLegend * self, gpointer klass) { LiveChartLabels* _tmp0_; GeeArrayList* _tmp1_; LiveChartBoundingBox _tmp2_ = {0}; GdkRGBA _tmp3_ = {0}; #line 5 "../src/legend.vala" self->priv = live_chart_legend_get_instance_private (self); #line 7 "../src/legend.vala" self->priv->_visible = TRUE; #line 8 "../src/legend.vala" _tmp0_ = live_chart_labels_new (); #line 8 "../src/legend.vala" self->labels = _tmp0_; #line 10 "../src/legend.vala" _tmp1_ = gee_array_list_new (LIVE_CHART_TYPE_SERIE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL); #line 10 "../src/legend.vala" self->series = _tmp1_; #line 11 "../src/legend.vala" memset (&_tmp2_, 0, sizeof (LiveChartBoundingBox)); #line 11 "../src/legend.vala" _tmp2_.x = (gdouble) 0; #line 11 "../src/legend.vala" _tmp2_.y = (gdouble) 0; #line 11 "../src/legend.vala" _tmp2_.width = (gdouble) 0; #line 11 "../src/legend.vala" _tmp2_.height = (gdouble) 0; #line 11 "../src/legend.vala" self->bounding_box = _tmp2_; #line 17 "../src/legend.vala" memset (&_tmp3_, 0, sizeof (GdkRGBA)); #line 17 "../src/legend.vala" _tmp3_.red = 1.0; #line 17 "../src/legend.vala" _tmp3_.green = 1.0; #line 17 "../src/legend.vala" _tmp3_.blue = 1.0; #line 17 "../src/legend.vala" _tmp3_.alpha = 1.0; #line 17 "../src/legend.vala" self->priv->_main_color = _tmp3_; #line 399 "legend.c" } static void live_chart_legend_finalize (GObject * obj) { LiveChartLegend * self; #line 5 "../src/legend.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_LEGEND, LiveChartLegend); #line 8 "../src/legend.vala" _live_chart_labels_unref0 (self->labels); #line 10 "../src/legend.vala" _g_object_unref0 (self->series); #line 5 "../src/legend.vala" G_OBJECT_CLASS (live_chart_legend_parent_class)->finalize (obj); #line 414 "legend.c" } static GType live_chart_legend_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (LiveChartLegendClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_legend_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartLegend), 0, (GInstanceInitFunc) live_chart_legend_instance_init, NULL }; static const GInterfaceInfo live_chart_drawable_info = { (GInterfaceInitFunc) live_chart_legend_live_chart_drawable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType live_chart_legend_type_id; live_chart_legend_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartLegend", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); g_type_add_interface_static (live_chart_legend_type_id, LIVE_CHART_TYPE_DRAWABLE, &live_chart_drawable_info); LiveChartLegend_private_offset = g_type_add_instance_private (live_chart_legend_type_id, sizeof (LiveChartLegendPrivate)); return live_chart_legend_type_id; } GType live_chart_legend_get_type (void) { static volatile gsize live_chart_legend_type_id__once = 0; if (g_once_init_enter (&live_chart_legend_type_id__once)) { GType live_chart_legend_type_id; live_chart_legend_type_id = live_chart_legend_get_type_once (); g_once_init_leave (&live_chart_legend_type_id__once, live_chart_legend_type_id); } return live_chart_legend_type_id__once; } static void _vala_live_chart_legend_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { LiveChartLegend * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_LEGEND, LiveChartLegend); #line 5 "../src/legend.vala" switch (property_id) { #line 5 "../src/legend.vala" case LIVE_CHART_LEGEND_VISIBLE_PROPERTY: #line 5 "../src/legend.vala" g_value_set_boolean (value, live_chart_drawable_get_visible ((LiveChartDrawable*) self)); #line 5 "../src/legend.vala" break; #line 5 "../src/legend.vala" case LIVE_CHART_LEGEND_MAIN_COLOR_PROPERTY: #line 459 "legend.c" { GdkRGBA boxed; #line 5 "../src/legend.vala" live_chart_legend_get_main_color (self, &boxed); #line 5 "../src/legend.vala" g_value_set_boxed (value, &boxed); #line 466 "legend.c" } #line 5 "../src/legend.vala" break; #line 470 "legend.c" default: #line 5 "../src/legend.vala" G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); #line 5 "../src/legend.vala" break; #line 476 "legend.c" } } static void _vala_live_chart_legend_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { LiveChartLegend * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_LEGEND, LiveChartLegend); #line 5 "../src/legend.vala" switch (property_id) { #line 5 "../src/legend.vala" case LIVE_CHART_LEGEND_VISIBLE_PROPERTY: #line 5 "../src/legend.vala" live_chart_drawable_set_visible ((LiveChartDrawable*) self, g_value_get_boolean (value)); #line 5 "../src/legend.vala" break; #line 5 "../src/legend.vala" case LIVE_CHART_LEGEND_MAIN_COLOR_PROPERTY: #line 5 "../src/legend.vala" live_chart_legend_set_main_color (self, g_value_get_boxed (value)); #line 5 "../src/legend.vala" break; #line 502 "legend.c" default: #line 5 "../src/legend.vala" G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); #line 5 "../src/legend.vala" break; #line 508 "legend.c" } } static gpointer _cairo_reference0 (gpointer self) { #line 40 "../src/legend.vala" return self ? cairo_reference (self) : NULL; #line 517 "legend.c" } static Block3Data* block3_data_ref (Block3Data* _data3_) { #line 40 "../src/legend.vala" g_atomic_int_inc (&_data3_->_ref_count_); #line 40 "../src/legend.vala" return _data3_; #line 527 "legend.c" } static void block3_data_unref (void * _userdata_) { Block3Data* _data3_; _data3_ = (Block3Data*) _userdata_; #line 40 "../src/legend.vala" if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) { #line 537 "legend.c" LiveChartHorizontalLegend* self; #line 40 "../src/legend.vala" self = _data3_->self; #line 40 "../src/legend.vala" _cairo_destroy0 (_data3_->ctx); #line 40 "../src/legend.vala" _g_object_unref0 (self); #line 40 "../src/legend.vala" g_slice_free (Block3Data, _data3_); #line 547 "legend.c" } } static Block4Data* block4_data_ref (Block4Data* _data4_) { #line 41 "../src/legend.vala" g_atomic_int_inc (&_data4_->_ref_count_); #line 41 "../src/legend.vala" return _data4_; #line 558 "legend.c" } static void block4_data_unref (void * _userdata_) { Block4Data* _data4_; _data4_ = (Block4Data*) _userdata_; #line 41 "../src/legend.vala" if (g_atomic_int_dec_and_test (&_data4_->_ref_count_)) { #line 568 "legend.c" LiveChartHorizontalLegend* self; #line 41 "../src/legend.vala" self = _data4_->_data3_->self; #line 41 "../src/legend.vala" block3_data_unref (_data4_->_data3_); #line 41 "../src/legend.vala" _data4_->_data3_ = NULL; #line 41 "../src/legend.vala" g_slice_free (Block4Data, _data4_); #line 578 "legend.c" } } static gboolean ___lambda6_ (Block4Data* _data4_, LiveChartSerie* serie) { Block3Data* _data3_; LiveChartHorizontalLegend* self; GdkRGBA _tmp0_ = {0}; GdkRGBA _tmp1_; GdkRGBA _tmp2_ = {0}; GdkRGBA _tmp3_; GdkRGBA _tmp4_ = {0}; GdkRGBA _tmp5_; LiveChartBoundaries _tmp6_; LiveChartBoundary _tmp7_; LiveChartBoundaries _tmp8_; LiveChartBoundary _tmp9_; LiveChartLabels* _tmp10_; LiveChartFont* _tmp11_; LiveChartFont* _tmp12_; cairo_text_extents_t extents = {0}; const gchar* _tmp13_; const gchar* _tmp14_; cairo_text_extents_t _tmp15_ = {0}; LiveChartBoundaries _tmp16_; LiveChartBoundary _tmp17_; LiveChartBoundaries _tmp18_; LiveChartBoundary _tmp19_; cairo_text_extents_t _tmp20_; cairo_text_extents_t _tmp21_; const gchar* _tmp22_; const gchar* _tmp23_; cairo_text_extents_t _tmp24_; gboolean result; #line 46 "../src/legend.vala" _data3_ = _data4_->_data3_; #line 46 "../src/legend.vala" self = _data3_->self; #line 46 "../src/legend.vala" g_return_val_if_fail (serie != NULL, FALSE); #line 47 "../src/legend.vala" live_chart_colorable_get_main_color ((LiveChartColorable*) serie, &_tmp0_); #line 47 "../src/legend.vala" _tmp1_ = _tmp0_; #line 47 "../src/legend.vala" live_chart_colorable_get_main_color ((LiveChartColorable*) serie, &_tmp2_); #line 47 "../src/legend.vala" _tmp3_ = _tmp2_; #line 47 "../src/legend.vala" live_chart_colorable_get_main_color ((LiveChartColorable*) serie, &_tmp4_); #line 47 "../src/legend.vala" _tmp5_ = _tmp4_; #line 47 "../src/legend.vala" cairo_set_source_rgba (_data3_->ctx, _tmp1_.red, _tmp3_.green, _tmp5_.blue, (gdouble) 1); #line 48 "../src/legend.vala" _tmp6_ = _data4_->boundaries; #line 48 "../src/legend.vala" _tmp7_ = _tmp6_.x; #line 48 "../src/legend.vala" _tmp8_ = _data4_->boundaries; #line 48 "../src/legend.vala" _tmp9_ = _tmp8_.y; #line 48 "../src/legend.vala" cairo_rectangle (_data3_->ctx, (gdouble) (_tmp7_.min + _data4_->pos), (gdouble) (_tmp9_.max + _data4_->y_padding), (gdouble) LIVE_CHART_HORIZONTAL_LEGEND_COLOR_BLOCK_WIDTH, (gdouble) LIVE_CHART_HORIZONTAL_LEGEND_COLOR_BLOCK_HEIGHT); #line 49 "../src/legend.vala" cairo_fill (_data3_->ctx); #line 51 "../src/legend.vala" _tmp10_ = ((LiveChartLegend*) self)->labels; #line 51 "../src/legend.vala" _tmp11_ = live_chart_labels_get_font (_tmp10_); #line 51 "../src/legend.vala" _tmp12_ = _tmp11_; #line 51 "../src/legend.vala" live_chart_font_configure (_tmp12_, _data3_->ctx); #line 52 "../src/legend.vala" _tmp13_ = live_chart_serie_get_name (serie); #line 52 "../src/legend.vala" _tmp14_ = _tmp13_; #line 52 "../src/legend.vala" live_chart_horizontal_legend_name_extents (self, _tmp14_, _data3_->ctx, &_tmp15_); #line 52 "../src/legend.vala" extents = _tmp15_; #line 53 "../src/legend.vala" _tmp16_ = _data4_->boundaries; #line 53 "../src/legend.vala" _tmp17_ = _tmp16_.x; #line 53 "../src/legend.vala" _tmp18_ = _data4_->boundaries; #line 53 "../src/legend.vala" _tmp19_ = _tmp18_.y; #line 53 "../src/legend.vala" _tmp20_ = extents; #line 53 "../src/legend.vala" _tmp21_ = extents; #line 53 "../src/legend.vala" cairo_move_to (_data3_->ctx, (gdouble) (((_tmp17_.min + _data4_->pos) + LIVE_CHART_HORIZONTAL_LEGEND_COLOR_BLOCK_WIDTH) + 3), ((_tmp19_.max + _data4_->y_padding) + _tmp20_.height) + ((LIVE_CHART_HORIZONTAL_LEGEND_COLOR_BLOCK_HEIGHT - _tmp21_.height) / 2)); #line 54 "../src/legend.vala" _tmp22_ = live_chart_serie_get_name (serie); #line 54 "../src/legend.vala" _tmp23_ = _tmp22_; #line 54 "../src/legend.vala" cairo_show_text (_data3_->ctx, _tmp23_); #line 56 "../src/legend.vala" _tmp24_ = extents; #line 56 "../src/legend.vala" _data4_->pos += (LIVE_CHART_HORIZONTAL_LEGEND_COLOR_BLOCK_WIDTH + ((gint) _tmp24_.width)) + 20; #line 58 "../src/legend.vala" result = TRUE; #line 58 "../src/legend.vala" _g_object_unref0 (serie); #line 58 "../src/legend.vala" return result; #line 693 "legend.c" } static gboolean ____lambda6__gee_forall_func (gpointer g, gpointer self) { gboolean result; result = ___lambda6_ (self, (LiveChartSerie*) g); #line 46 "../src/legend.vala" return result; #line 704 "legend.c" } static void live_chart_horizontal_legend_real_draw (LiveChartLegend* base, cairo_t* ctx, LiveChartConfig* config) { LiveChartHorizontalLegend * self; Block3Data* _data3_; cairo_t* _tmp0_; gboolean _tmp1_; gboolean _tmp2_; #line 40 "../src/legend.vala" self = (LiveChartHorizontalLegend*) base; #line 40 "../src/legend.vala" g_return_if_fail (ctx != NULL); #line 40 "../src/legend.vala" g_return_if_fail (config != NULL); #line 40 "../src/legend.vala" _data3_ = g_slice_new0 (Block3Data); #line 40 "../src/legend.vala" _data3_->_ref_count_ = 1; #line 40 "../src/legend.vala" _data3_->self = g_object_ref (self); #line 40 "../src/legend.vala" _tmp0_ = _cairo_reference0 (ctx); #line 40 "../src/legend.vala" _cairo_destroy0 (_data3_->ctx); #line 40 "../src/legend.vala" _data3_->ctx = _tmp0_; #line 41 "../src/legend.vala" _tmp1_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self); #line 41 "../src/legend.vala" _tmp2_ = _tmp1_; #line 41 "../src/legend.vala" if (_tmp2_) { #line 741 "legend.c" Block4Data* _data4_; LiveChartBoundaries _tmp3_ = {0}; GeeArrayList* _tmp4_; #line 41 "../src/legend.vala" _data4_ = g_slice_new0 (Block4Data); #line 41 "../src/legend.vala" _data4_->_ref_count_ = 1; #line 41 "../src/legend.vala" _data4_->_data3_ = block3_data_ref (_data3_); #line 43 "../src/legend.vala" _data4_->y_padding = live_chart_horizontal_legend_get_y_padding (self, config); #line 44 "../src/legend.vala" live_chart_config_boundaries (config, &_tmp3_); #line 44 "../src/legend.vala" _data4_->boundaries = _tmp3_; #line 45 "../src/legend.vala" _data4_->pos = 0; #line 46 "../src/legend.vala" _tmp4_ = ((LiveChartLegend*) self)->series; #line 46 "../src/legend.vala" gee_abstract_collection_foreach ((GeeAbstractCollection*) _tmp4_, ____lambda6__gee_forall_func, _data4_); #line 60 "../src/legend.vala" cairo_stroke (_data3_->ctx); #line 61 "../src/legend.vala" live_chart_horizontal_legend_update_bounding_box (self, config, _data4_->pos); #line 62 "../src/legend.vala" live_chart_horizontal_legend_debug (self, _data3_->ctx); #line 41 "../src/legend.vala" block4_data_unref (_data4_); #line 41 "../src/legend.vala" _data4_ = NULL; #line 773 "legend.c" } #line 40 "../src/legend.vala" block3_data_unref (_data3_); #line 40 "../src/legend.vala" _data3_ = NULL; #line 779 "legend.c" } static gint live_chart_horizontal_legend_get_y_padding (LiveChartHorizontalLegend* self, LiveChartConfig* config) { LiveChartXAxis* _tmp0_; LiveChartLabels* _tmp1_; cairo_text_extents_t _tmp2_ = {0}; cairo_text_extents_t _tmp3_; gint result; #line 66 "../src/legend.vala" g_return_val_if_fail (self != NULL, 0); #line 66 "../src/legend.vala" g_return_val_if_fail (config != NULL, 0); #line 67 "../src/legend.vala" _tmp0_ = config->x_axis; #line 67 "../src/legend.vala" _tmp1_ = _tmp0_->labels; #line 67 "../src/legend.vala" live_chart_labels_get_extents (_tmp1_, &_tmp2_); #line 67 "../src/legend.vala" _tmp3_ = _tmp2_; #line 67 "../src/legend.vala" result = (gint) ((LIVE_CHART_GRID_ABSCISSA_TIME_PADDING * 2) + _tmp3_.height); #line 67 "../src/legend.vala" return result; #line 807 "legend.c" } static void live_chart_horizontal_legend_name_extents (LiveChartHorizontalLegend* self, const gchar* name, cairo_t* ctx, cairo_text_extents_t* result) { cairo_text_extents_t name_extents = {0}; cairo_text_extents_t _tmp0_ = {0}; #line 70 "../src/legend.vala" g_return_if_fail (self != NULL); #line 70 "../src/legend.vala" g_return_if_fail (name != NULL); #line 70 "../src/legend.vala" g_return_if_fail (ctx != NULL); #line 72 "../src/legend.vala" cairo_text_extents (ctx, name, &_tmp0_); #line 72 "../src/legend.vala" name_extents = _tmp0_; #line 74 "../src/legend.vala" *result = name_extents; #line 74 "../src/legend.vala" return; #line 832 "legend.c" } static void live_chart_horizontal_legend_update_bounding_box (LiveChartHorizontalLegend* self, LiveChartConfig* config, gint width) { LiveChartBoundaries boundaries = {0}; LiveChartBoundaries _tmp0_ = {0}; LiveChartBoundaries _tmp1_; LiveChartBoundary _tmp2_; LiveChartBoundaries _tmp3_; LiveChartBoundary _tmp4_; LiveChartBoundingBox _tmp5_ = {0}; #line 77 "../src/legend.vala" g_return_if_fail (self != NULL); #line 77 "../src/legend.vala" g_return_if_fail (config != NULL); #line 78 "../src/legend.vala" live_chart_config_boundaries (config, &_tmp0_); #line 78 "../src/legend.vala" boundaries = _tmp0_; #line 79 "../src/legend.vala" _tmp1_ = boundaries; #line 79 "../src/legend.vala" _tmp2_ = _tmp1_.x; #line 79 "../src/legend.vala" _tmp3_ = boundaries; #line 79 "../src/legend.vala" _tmp4_ = _tmp3_.y; #line 79 "../src/legend.vala" memset (&_tmp5_, 0, sizeof (LiveChartBoundingBox)); #line 79 "../src/legend.vala" _tmp5_.x = (gdouble) _tmp2_.min; #line 79 "../src/legend.vala" _tmp5_.y = (gdouble) (_tmp4_.max + live_chart_horizontal_legend_get_y_padding (self, config)); #line 79 "../src/legend.vala" _tmp5_.width = (gdouble) width; #line 79 "../src/legend.vala" _tmp5_.height = (gdouble) 10; #line 79 "../src/legend.vala" ((LiveChartLegend*) self)->bounding_box = _tmp5_; #line 875 "legend.c" } void live_chart_horizontal_legend_debug (LiveChartHorizontalLegend* self, cairo_t* ctx) { gchar* debug = NULL; const gchar* _tmp0_; gchar* _tmp1_; const gchar* _tmp2_; #line 87 "../src/legend.vala" g_return_if_fail (self != NULL); #line 87 "../src/legend.vala" g_return_if_fail (ctx != NULL); #line 88 "../src/legend.vala" _tmp0_ = g_getenv ("LIVE_CHART_DEBUG"); #line 88 "../src/legend.vala" _tmp1_ = g_strdup (_tmp0_); #line 88 "../src/legend.vala" debug = _tmp1_; #line 89 "../src/legend.vala" _tmp2_ = debug; #line 89 "../src/legend.vala" if (_tmp2_ != NULL) { #line 900 "legend.c" LiveChartBoundingBox _tmp3_; LiveChartBoundingBox _tmp4_; LiveChartBoundingBox _tmp5_; LiveChartBoundingBox _tmp6_; #line 90 "../src/legend.vala" _tmp3_ = ((LiveChartLegend*) self)->bounding_box; #line 90 "../src/legend.vala" _tmp4_ = ((LiveChartLegend*) self)->bounding_box; #line 90 "../src/legend.vala" _tmp5_ = ((LiveChartLegend*) self)->bounding_box; #line 90 "../src/legend.vala" _tmp6_ = ((LiveChartLegend*) self)->bounding_box; #line 90 "../src/legend.vala" cairo_rectangle (ctx, _tmp3_.x, _tmp4_.y, _tmp5_.width, _tmp6_.height); #line 91 "../src/legend.vala" cairo_stroke (ctx); #line 917 "legend.c" } #line 87 "../src/legend.vala" _g_free0 (debug); #line 921 "legend.c" } LiveChartHorizontalLegend* live_chart_horizontal_legend_construct (GType object_type) { LiveChartHorizontalLegend * self = NULL; #line 35 "../src/legend.vala" self = (LiveChartHorizontalLegend*) live_chart_legend_construct (object_type); #line 35 "../src/legend.vala" return self; #line 932 "legend.c" } LiveChartHorizontalLegend* live_chart_horizontal_legend_new (void) { #line 35 "../src/legend.vala" return live_chart_horizontal_legend_construct (LIVE_CHART_TYPE_HORIZONTAL_LEGEND); #line 940 "legend.c" } static void live_chart_horizontal_legend_class_init (LiveChartHorizontalLegendClass * klass, gpointer klass_data) { #line 35 "../src/legend.vala" live_chart_horizontal_legend_parent_class = g_type_class_peek_parent (klass); #line 35 "../src/legend.vala" ((LiveChartLegendClass *) klass)->draw = (void (*) (LiveChartLegend*, cairo_t*, LiveChartConfig*)) live_chart_horizontal_legend_real_draw; #line 951 "legend.c" } static void live_chart_horizontal_legend_instance_init (LiveChartHorizontalLegend * self, gpointer klass) { } static GType live_chart_horizontal_legend_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (LiveChartHorizontalLegendClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_horizontal_legend_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartHorizontalLegend), 0, (GInstanceInitFunc) live_chart_horizontal_legend_instance_init, NULL }; GType live_chart_horizontal_legend_type_id; live_chart_horizontal_legend_type_id = g_type_register_static (LIVE_CHART_TYPE_LEGEND, "LiveChartHorizontalLegend", &g_define_type_info, 0); return live_chart_horizontal_legend_type_id; } GType live_chart_horizontal_legend_get_type (void) { static volatile gsize live_chart_horizontal_legend_type_id__once = 0; if (g_once_init_enter (&live_chart_horizontal_legend_type_id__once)) { GType live_chart_horizontal_legend_type_id; live_chart_horizontal_legend_type_id = live_chart_horizontal_legend_get_type_once (); g_once_init_leave (&live_chart_horizontal_legend_type_id__once, live_chart_horizontal_legend_type_id); } return live_chart_horizontal_legend_type_id__once; } static void live_chart_noop_legend_real_draw (LiveChartLegend* base, cairo_t* ctx, LiveChartConfig* config) { LiveChartNoopLegend * self; #line 97 "../src/legend.vala" self = (LiveChartNoopLegend*) base; #line 97 "../src/legend.vala" g_return_if_fail (ctx != NULL); #line 97 "../src/legend.vala" g_return_if_fail (config != NULL); #line 993 "legend.c" } LiveChartNoopLegend* live_chart_noop_legend_construct (GType object_type) { LiveChartNoopLegend * self = NULL; #line 96 "../src/legend.vala" self = (LiveChartNoopLegend*) live_chart_legend_construct (object_type); #line 96 "../src/legend.vala" return self; #line 1004 "legend.c" } LiveChartNoopLegend* live_chart_noop_legend_new (void) { #line 96 "../src/legend.vala" return live_chart_noop_legend_construct (LIVE_CHART_TYPE_NOOP_LEGEND); #line 1012 "legend.c" } static void live_chart_noop_legend_class_init (LiveChartNoopLegendClass * klass, gpointer klass_data) { #line 96 "../src/legend.vala" live_chart_noop_legend_parent_class = g_type_class_peek_parent (klass); #line 96 "../src/legend.vala" ((LiveChartLegendClass *) klass)->draw = (void (*) (LiveChartLegend*, cairo_t*, LiveChartConfig*)) live_chart_noop_legend_real_draw; #line 1023 "legend.c" } static void live_chart_noop_legend_instance_init (LiveChartNoopLegend * self, gpointer klass) { } static GType live_chart_noop_legend_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (LiveChartNoopLegendClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_noop_legend_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartNoopLegend), 0, (GInstanceInitFunc) live_chart_noop_legend_instance_init, NULL }; GType live_chart_noop_legend_type_id; live_chart_noop_legend_type_id = g_type_register_static (LIVE_CHART_TYPE_LEGEND, "LiveChartNoopLegend", &g_define_type_info, 0); return live_chart_noop_legend_type_id; } GType live_chart_noop_legend_get_type (void) { static volatile gsize live_chart_noop_legend_type_id__once = 0; if (g_once_init_enter (&live_chart_noop_legend_type_id__once)) { GType live_chart_noop_legend_type_id; live_chart_noop_legend_type_id = live_chart_noop_legend_get_type_once (); g_once_init_leave (&live_chart_noop_legend_type_id__once, live_chart_noop_legend_type_id); } return live_chart_noop_legend_type_id__once; }