/* intersectors.c generated by valac 0.56.0, the Vala compiler * generated from intersectors.vala, do not modify */ #include "livechart_static.h" #include #include #include #include #include #include #define _live_chart_region_unref0(var) ((var == NULL) ? NULL : (var = (live_chart_region_unref (var), NULL))) #define _live_chart_config_unref0(var) ((var == NULL) ? NULL : (var = (live_chart_config_unref (var), NULL))) #define _live_chart_bezier_curve_free0(var) ((var == NULL) ? NULL : (var = (live_chart_bezier_curve_free (var), NULL))) typedef struct _Block2Data Block2Data; #define _live_chart_bezier_intersector_unref0(var) ((var == NULL) ? NULL : (var = (live_chart_bezier_intersector_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) typedef struct _LiveChartParamSpecBezierIntersector LiveChartParamSpecBezierIntersector; struct _LiveChartBezierIntersectorPrivate { LiveChartRegion* region; LiveChartConfig* config; }; struct _Block2Data { int _ref_count_; LiveChartBezierIntersector* self; LiveChartBezierCurve* path; }; struct _LiveChartParamSpecBezierIntersector { GParamSpec parent_instance; }; static gint LiveChartBezierIntersector_private_offset; static gpointer live_chart_bezier_intersector_parent_class = NULL; static LiveChartIntersectorIface * live_chart_bezier_intersector_live_chart_intersector_parent_iface = NULL; static GType live_chart_intersector_get_type_once (void); static void live_chart_bezier_intersector_real_intersect (LiveChartIntersector* base, LiveChartIntersections* intersections, LiveChartPoint* previous, LiveChartPoint* current, LiveChartBezierCurve* path); static Block2Data* block2_data_ref (Block2Data* _data2_); static void block2_data_unref (void * _userdata_); static LiveChartCoord* __lambda12_ (Block2Data* _data2_, gdouble value); static LiveChartCoord* live_chart_bezier_intersector_intersect_at (LiveChartBezierIntersector* self, LiveChartConfig* config, LiveChartBezierCurve* curve, gdouble at_value); static LiveChartCoord* ___lambda12__live_chart_get_intersection (gdouble at_value, gpointer self); static void live_chart_bezier_intersector_create_intersection_segment_at (LiveChartBezierIntersector* self, LiveChartConfig* config, gdouble at_y, LiveChartSegment* result); static void live_chart_bezier_intersector_finalize (LiveChartBezierIntersector * obj); static GType live_chart_bezier_intersector_get_type_once (void); void live_chart_intersector_intersect (LiveChartIntersector* self, LiveChartIntersections* intersections, LiveChartPoint* previous, LiveChartPoint* current, gconstpointer path) { LiveChartIntersectorIface* _iface_; #line 3 "../src/intersectors.vala" g_return_if_fail (self != NULL); #line 3 "../src/intersectors.vala" _iface_ = LIVE_CHART_INTERSECTOR_GET_INTERFACE (self); #line 3 "../src/intersectors.vala" if (_iface_->intersect) { #line 3 "../src/intersectors.vala" _iface_->intersect (self, intersections, previous, current, path); #line 79 "intersectors.c" } } static void live_chart_intersector_default_init (LiveChartIntersectorIface * iface, gpointer iface_data) { } static GType live_chart_intersector_get_type_once (void) { static const GTypeInfo g_define_type_info = { sizeof (LiveChartIntersectorIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_intersector_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; GType live_chart_intersector_type_id; live_chart_intersector_type_id = g_type_register_static (G_TYPE_INTERFACE, "LiveChartIntersector", &g_define_type_info, 0); return live_chart_intersector_type_id; } GType live_chart_intersector_get_type (void) { static volatile gsize live_chart_intersector_type_id__once = 0; if (g_once_init_enter (&live_chart_intersector_type_id__once)) { GType live_chart_intersector_type_id; live_chart_intersector_type_id = live_chart_intersector_get_type_once (); g_once_init_leave (&live_chart_intersector_type_id__once, live_chart_intersector_type_id); } return live_chart_intersector_type_id__once; } static inline gpointer live_chart_bezier_intersector_get_instance_private (LiveChartBezierIntersector* self) { return G_STRUCT_MEMBER_P (self, LiveChartBezierIntersector_private_offset); } static gpointer _live_chart_region_ref0 (gpointer self) { #line 11 "../src/intersectors.vala" return self ? live_chart_region_ref (self) : NULL; #line 121 "intersectors.c" } static gpointer _live_chart_config_ref0 (gpointer self) { #line 12 "../src/intersectors.vala" return self ? live_chart_config_ref (self) : NULL; #line 129 "intersectors.c" } LiveChartBezierIntersector* live_chart_bezier_intersector_construct (GType object_type, LiveChartRegion* region, LiveChartConfig* config) { LiveChartBezierIntersector* self = NULL; LiveChartRegion* _tmp0_; LiveChartConfig* _tmp1_; #line 10 "../src/intersectors.vala" g_return_val_if_fail (region != NULL, NULL); #line 10 "../src/intersectors.vala" g_return_val_if_fail (config != NULL, NULL); #line 10 "../src/intersectors.vala" self = (LiveChartBezierIntersector*) g_type_create_instance (object_type); #line 11 "../src/intersectors.vala" _tmp0_ = _live_chart_region_ref0 (region); #line 11 "../src/intersectors.vala" _live_chart_region_unref0 (self->priv->region); #line 11 "../src/intersectors.vala" self->priv->region = _tmp0_; #line 12 "../src/intersectors.vala" _tmp1_ = _live_chart_config_ref0 (config); #line 12 "../src/intersectors.vala" _live_chart_config_unref0 (self->priv->config); #line 12 "../src/intersectors.vala" self->priv->config = _tmp1_; #line 10 "../src/intersectors.vala" return self; #line 160 "intersectors.c" } LiveChartBezierIntersector* live_chart_bezier_intersector_new (LiveChartRegion* region, LiveChartConfig* config) { #line 10 "../src/intersectors.vala" return live_chart_bezier_intersector_construct (LIVE_CHART_TYPE_BEZIER_INTERSECTOR, region, config); #line 169 "intersectors.c" } static gpointer _live_chart_bezier_curve_dup0 (gpointer self) { #line 15 "../src/intersectors.vala" return self ? live_chart_bezier_curve_dup (self) : NULL; #line 177 "intersectors.c" } static Block2Data* block2_data_ref (Block2Data* _data2_) { #line 15 "../src/intersectors.vala" g_atomic_int_inc (&_data2_->_ref_count_); #line 15 "../src/intersectors.vala" return _data2_; #line 187 "intersectors.c" } static void block2_data_unref (void * _userdata_) { Block2Data* _data2_; _data2_ = (Block2Data*) _userdata_; #line 15 "../src/intersectors.vala" if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) { #line 197 "intersectors.c" LiveChartBezierIntersector* self; #line 15 "../src/intersectors.vala" self = _data2_->self; #line 15 "../src/intersectors.vala" _live_chart_bezier_curve_free0 (_data2_->path); #line 15 "../src/intersectors.vala" _live_chart_bezier_intersector_unref0 (self); #line 15 "../src/intersectors.vala" g_slice_free (Block2Data, _data2_); #line 207 "intersectors.c" } } static LiveChartCoord* __lambda12_ (Block2Data* _data2_, gdouble value) { LiveChartBezierIntersector* self; LiveChartConfig* _tmp0_; LiveChartBezierCurve _tmp1_; LiveChartCoord* _tmp2_; LiveChartCoord* result; #line 16 "../src/intersectors.vala" self = _data2_->self; #line 17 "../src/intersectors.vala" _tmp0_ = self->priv->config; #line 17 "../src/intersectors.vala" _tmp1_ = *_data2_->path; #line 17 "../src/intersectors.vala" _tmp2_ = live_chart_bezier_intersector_intersect_at (self, _tmp0_, &_tmp1_, value); #line 17 "../src/intersectors.vala" result = _tmp2_; #line 17 "../src/intersectors.vala" return result; #line 232 "intersectors.c" } static LiveChartCoord* ___lambda12__live_chart_get_intersection (gdouble at_value, gpointer self) { LiveChartCoord* result; result = __lambda12_ (self, at_value); #line 16 "../src/intersectors.vala" return result; #line 243 "intersectors.c" } static void live_chart_bezier_intersector_real_intersect (LiveChartIntersector* base, LiveChartIntersections* intersections, LiveChartPoint* previous, LiveChartPoint* current, LiveChartBezierCurve* path) { LiveChartBezierIntersector * self; Block2Data* _data2_; LiveChartBezierCurve* _tmp0_; LiveChartRegion* _tmp1_; LiveChartPoint _tmp2_; LiveChartPoint _tmp3_; #line 15 "../src/intersectors.vala" self = (LiveChartBezierIntersector*) base; #line 15 "../src/intersectors.vala" g_return_if_fail (intersections != NULL); #line 15 "../src/intersectors.vala" g_return_if_fail (previous != NULL); #line 15 "../src/intersectors.vala" g_return_if_fail (current != NULL); #line 15 "../src/intersectors.vala" _data2_ = g_slice_new0 (Block2Data); #line 15 "../src/intersectors.vala" _data2_->_ref_count_ = 1; #line 15 "../src/intersectors.vala" _data2_->self = live_chart_bezier_intersector_ref (self); #line 15 "../src/intersectors.vala" _tmp0_ = _live_chart_bezier_curve_dup0 (path); #line 15 "../src/intersectors.vala" _live_chart_bezier_curve_free0 (_data2_->path); #line 15 "../src/intersectors.vala" _data2_->path = _tmp0_; #line 16 "../src/intersectors.vala" _tmp1_ = self->priv->region; #line 16 "../src/intersectors.vala" _tmp2_ = *previous; #line 16 "../src/intersectors.vala" _tmp3_ = *current; #line 16 "../src/intersectors.vala" live_chart_region_handle (_tmp1_, intersections, &_tmp2_, &_tmp3_, ___lambda12__live_chart_get_intersection, _data2_); #line 15 "../src/intersectors.vala" block2_data_unref (_data2_); #line 15 "../src/intersectors.vala" _data2_ = NULL; #line 291 "intersectors.c" } static LiveChartCoord* live_chart_bezier_intersector_intersect_at (LiveChartBezierIntersector* self, LiveChartConfig* config, LiveChartBezierCurve* curve, gdouble at_value) { LiveChartSegment intersection_segment = {0}; LiveChartSegment _tmp0_ = {0}; GeeList* intersections = NULL; LiveChartSegment _tmp1_; LiveChartBezierCurve _tmp2_; GeeList* _tmp3_; GeeList* _tmp4_; gint _tmp5_; gint _tmp6_; LiveChartCoord* result; #line 21 "../src/intersectors.vala" g_return_val_if_fail (self != NULL, NULL); #line 21 "../src/intersectors.vala" g_return_val_if_fail (config != NULL, NULL); #line 21 "../src/intersectors.vala" g_return_val_if_fail (curve != NULL, NULL); #line 22 "../src/intersectors.vala" live_chart_bezier_intersector_create_intersection_segment_at (self, config, at_value, &_tmp0_); #line 22 "../src/intersectors.vala" intersection_segment = _tmp0_; #line 23 "../src/intersectors.vala" _tmp1_ = intersection_segment; #line 23 "../src/intersectors.vala" _tmp2_ = *curve; #line 23 "../src/intersectors.vala" _tmp3_ = live_chart_find_intersections_between (&_tmp1_, &_tmp2_); #line 23 "../src/intersectors.vala" intersections = _tmp3_; #line 24 "../src/intersectors.vala" _tmp4_ = intersections; #line 24 "../src/intersectors.vala" _tmp5_ = gee_collection_get_size ((GeeCollection*) _tmp4_); #line 24 "../src/intersectors.vala" _tmp6_ = _tmp5_; #line 24 "../src/intersectors.vala" if (_tmp6_ > 0) { #line 336 "intersectors.c" GeeList* _tmp7_; gpointer _tmp8_; #line 25 "../src/intersectors.vala" _tmp7_ = intersections; #line 25 "../src/intersectors.vala" _tmp8_ = gee_list_first (_tmp7_); #line 25 "../src/intersectors.vala" result = (LiveChartCoord*) _tmp8_; #line 25 "../src/intersectors.vala" _g_object_unref0 (intersections); #line 25 "../src/intersectors.vala" return result; #line 349 "intersectors.c" } #line 27 "../src/intersectors.vala" result = NULL; #line 27 "../src/intersectors.vala" _g_object_unref0 (intersections); #line 27 "../src/intersectors.vala" return result; #line 357 "intersectors.c" } static void live_chart_bezier_intersector_create_intersection_segment_at (LiveChartBezierIntersector* self, LiveChartConfig* config, gdouble at_y, LiveChartSegment* result) { LiveChartBoundaries boundaries = {0}; LiveChartBoundaries _tmp0_ = {0}; gdouble y = 0.0; LiveChartBoundaries _tmp1_; LiveChartBoundary _tmp2_; LiveChartYAxis* _tmp3_; LiveChartBoundaries _tmp4_; LiveChartBoundary _tmp5_; LiveChartCoord _tmp6_ = {0}; LiveChartBoundaries _tmp7_; LiveChartBoundary _tmp8_; LiveChartCoord _tmp9_ = {0}; LiveChartSegment _tmp10_ = {0}; #line 30 "../src/intersectors.vala" g_return_if_fail (self != NULL); #line 30 "../src/intersectors.vala" g_return_if_fail (config != NULL); #line 31 "../src/intersectors.vala" live_chart_config_boundaries (config, &_tmp0_); #line 31 "../src/intersectors.vala" boundaries = _tmp0_; #line 32 "../src/intersectors.vala" _tmp1_ = boundaries; #line 32 "../src/intersectors.vala" _tmp2_ = _tmp1_.y; #line 32 "../src/intersectors.vala" _tmp3_ = config->y_axis; #line 32 "../src/intersectors.vala" y = _tmp2_.max - (at_y * live_chart_yaxis_get_ratio (_tmp3_)); #line 33 "../src/intersectors.vala" _tmp4_ = boundaries; #line 33 "../src/intersectors.vala" _tmp5_ = _tmp4_.x; #line 33 "../src/intersectors.vala" _tmp6_.x = (gdouble) _tmp5_.min; #line 33 "../src/intersectors.vala" _tmp6_.y = y; #line 33 "../src/intersectors.vala" _tmp7_ = boundaries; #line 33 "../src/intersectors.vala" _tmp8_ = _tmp7_.x; #line 33 "../src/intersectors.vala" _tmp9_.x = (gdouble) _tmp8_.max; #line 33 "../src/intersectors.vala" _tmp9_.y = y; #line 33 "../src/intersectors.vala" _tmp10_.from = _tmp6_; #line 33 "../src/intersectors.vala" _tmp10_.to = _tmp9_; #line 33 "../src/intersectors.vala" *result = _tmp10_; #line 33 "../src/intersectors.vala" return; #line 419 "intersectors.c" } static void live_chart_value_bezier_intersector_init (GValue* value) { #line 6 "../src/intersectors.vala" value->data[0].v_pointer = NULL; #line 427 "intersectors.c" } static void live_chart_value_bezier_intersector_free_value (GValue* value) { #line 6 "../src/intersectors.vala" if (value->data[0].v_pointer) { #line 6 "../src/intersectors.vala" live_chart_bezier_intersector_unref (value->data[0].v_pointer); #line 437 "intersectors.c" } } static void live_chart_value_bezier_intersector_copy_value (const GValue* src_value, GValue* dest_value) { #line 6 "../src/intersectors.vala" if (src_value->data[0].v_pointer) { #line 6 "../src/intersectors.vala" dest_value->data[0].v_pointer = live_chart_bezier_intersector_ref (src_value->data[0].v_pointer); #line 449 "intersectors.c" } else { #line 6 "../src/intersectors.vala" dest_value->data[0].v_pointer = NULL; #line 453 "intersectors.c" } } static gpointer live_chart_value_bezier_intersector_peek_pointer (const GValue* value) { #line 6 "../src/intersectors.vala" return value->data[0].v_pointer; #line 462 "intersectors.c" } static gchar* live_chart_value_bezier_intersector_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { #line 6 "../src/intersectors.vala" if (collect_values[0].v_pointer) { #line 473 "intersectors.c" LiveChartBezierIntersector * object; object = collect_values[0].v_pointer; #line 6 "../src/intersectors.vala" if (object->parent_instance.g_class == NULL) { #line 6 "../src/intersectors.vala" return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); #line 480 "intersectors.c" } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) { #line 6 "../src/intersectors.vala" return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL); #line 484 "intersectors.c" } #line 6 "../src/intersectors.vala" value->data[0].v_pointer = live_chart_bezier_intersector_ref (object); #line 488 "intersectors.c" } else { #line 6 "../src/intersectors.vala" value->data[0].v_pointer = NULL; #line 492 "intersectors.c" } #line 6 "../src/intersectors.vala" return NULL; #line 496 "intersectors.c" } static gchar* live_chart_value_bezier_intersector_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) { LiveChartBezierIntersector ** object_p; object_p = collect_values[0].v_pointer; #line 6 "../src/intersectors.vala" if (!object_p) { #line 6 "../src/intersectors.vala" return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value)); #line 511 "intersectors.c" } #line 6 "../src/intersectors.vala" if (!value->data[0].v_pointer) { #line 6 "../src/intersectors.vala" *object_p = NULL; #line 517 "intersectors.c" } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) { #line 6 "../src/intersectors.vala" *object_p = value->data[0].v_pointer; #line 521 "intersectors.c" } else { #line 6 "../src/intersectors.vala" *object_p = live_chart_bezier_intersector_ref (value->data[0].v_pointer); #line 525 "intersectors.c" } #line 6 "../src/intersectors.vala" return NULL; #line 529 "intersectors.c" } GParamSpec* live_chart_param_spec_bezier_intersector (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) { LiveChartParamSpecBezierIntersector* spec; #line 6 "../src/intersectors.vala" g_return_val_if_fail (g_type_is_a (object_type, LIVE_CHART_TYPE_BEZIER_INTERSECTOR), NULL); #line 6 "../src/intersectors.vala" spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags); #line 6 "../src/intersectors.vala" G_PARAM_SPEC (spec)->value_type = object_type; #line 6 "../src/intersectors.vala" return G_PARAM_SPEC (spec); #line 548 "intersectors.c" } gpointer live_chart_value_get_bezier_intersector (const GValue* value) { #line 6 "../src/intersectors.vala" g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIVE_CHART_TYPE_BEZIER_INTERSECTOR), NULL); #line 6 "../src/intersectors.vala" return value->data[0].v_pointer; #line 558 "intersectors.c" } void live_chart_value_set_bezier_intersector (GValue* value, gpointer v_object) { LiveChartBezierIntersector * old; #line 6 "../src/intersectors.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIVE_CHART_TYPE_BEZIER_INTERSECTOR)); #line 6 "../src/intersectors.vala" old = value->data[0].v_pointer; #line 6 "../src/intersectors.vala" if (v_object) { #line 6 "../src/intersectors.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LIVE_CHART_TYPE_BEZIER_INTERSECTOR)); #line 6 "../src/intersectors.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 6 "../src/intersectors.vala" value->data[0].v_pointer = v_object; #line 6 "../src/intersectors.vala" live_chart_bezier_intersector_ref (value->data[0].v_pointer); #line 580 "intersectors.c" } else { #line 6 "../src/intersectors.vala" value->data[0].v_pointer = NULL; #line 584 "intersectors.c" } #line 6 "../src/intersectors.vala" if (old) { #line 6 "../src/intersectors.vala" live_chart_bezier_intersector_unref (old); #line 590 "intersectors.c" } } void live_chart_value_take_bezier_intersector (GValue* value, gpointer v_object) { LiveChartBezierIntersector * old; #line 6 "../src/intersectors.vala" g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIVE_CHART_TYPE_BEZIER_INTERSECTOR)); #line 6 "../src/intersectors.vala" old = value->data[0].v_pointer; #line 6 "../src/intersectors.vala" if (v_object) { #line 6 "../src/intersectors.vala" g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LIVE_CHART_TYPE_BEZIER_INTERSECTOR)); #line 6 "../src/intersectors.vala" g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value))); #line 6 "../src/intersectors.vala" value->data[0].v_pointer = v_object; #line 611 "intersectors.c" } else { #line 6 "../src/intersectors.vala" value->data[0].v_pointer = NULL; #line 615 "intersectors.c" } #line 6 "../src/intersectors.vala" if (old) { #line 6 "../src/intersectors.vala" live_chart_bezier_intersector_unref (old); #line 621 "intersectors.c" } } static void live_chart_bezier_intersector_class_init (LiveChartBezierIntersectorClass * klass, gpointer klass_data) { #line 6 "../src/intersectors.vala" live_chart_bezier_intersector_parent_class = g_type_class_peek_parent (klass); #line 6 "../src/intersectors.vala" ((LiveChartBezierIntersectorClass *) klass)->finalize = live_chart_bezier_intersector_finalize; #line 6 "../src/intersectors.vala" g_type_class_adjust_private_offset (klass, &LiveChartBezierIntersector_private_offset); #line 635 "intersectors.c" } static void live_chart_bezier_intersector_live_chart_intersector_interface_init (LiveChartIntersectorIface * iface, gpointer iface_data) { #line 6 "../src/intersectors.vala" live_chart_bezier_intersector_live_chart_intersector_parent_iface = g_type_interface_peek_parent (iface); #line 6 "../src/intersectors.vala" iface->intersect = (void (*) (LiveChartIntersector*, LiveChartIntersections*, LiveChartPoint*, LiveChartPoint*, gconstpointer)) live_chart_bezier_intersector_real_intersect; #line 646 "intersectors.c" } static void live_chart_bezier_intersector_instance_init (LiveChartBezierIntersector * self, gpointer klass) { #line 6 "../src/intersectors.vala" self->priv = live_chart_bezier_intersector_get_instance_private (self); #line 6 "../src/intersectors.vala" self->ref_count = 1; #line 657 "intersectors.c" } static void live_chart_bezier_intersector_finalize (LiveChartBezierIntersector * obj) { LiveChartBezierIntersector * self; #line 6 "../src/intersectors.vala" self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_BEZIER_INTERSECTOR, LiveChartBezierIntersector); #line 6 "../src/intersectors.vala" g_signal_handlers_destroy (self); #line 7 "../src/intersectors.vala" _live_chart_region_unref0 (self->priv->region); #line 8 "../src/intersectors.vala" _live_chart_config_unref0 (self->priv->config); #line 672 "intersectors.c" } static GType live_chart_bezier_intersector_get_type_once (void) { static const GTypeValueTable g_define_type_value_table = { live_chart_value_bezier_intersector_init, live_chart_value_bezier_intersector_free_value, live_chart_value_bezier_intersector_copy_value, live_chart_value_bezier_intersector_peek_pointer, "p", live_chart_value_bezier_intersector_collect_value, "p", live_chart_value_bezier_intersector_lcopy_value }; static const GTypeInfo g_define_type_info = { sizeof (LiveChartBezierIntersectorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_bezier_intersector_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartBezierIntersector), 0, (GInstanceInitFunc) live_chart_bezier_intersector_instance_init, &g_define_type_value_table }; static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) }; static const GInterfaceInfo live_chart_intersector_info = { (GInterfaceInitFunc) live_chart_bezier_intersector_live_chart_intersector_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType live_chart_bezier_intersector_type_id; live_chart_bezier_intersector_type_id = g_type_register_fundamental (g_type_fundamental_next (), "LiveChartBezierIntersector", &g_define_type_info, &g_define_type_fundamental_info, 0); g_type_add_interface_static (live_chart_bezier_intersector_type_id, LIVE_CHART_TYPE_INTERSECTOR, &live_chart_intersector_info); LiveChartBezierIntersector_private_offset = g_type_add_instance_private (live_chart_bezier_intersector_type_id, sizeof (LiveChartBezierIntersectorPrivate)); return live_chart_bezier_intersector_type_id; } GType live_chart_bezier_intersector_get_type (void) { static volatile gsize live_chart_bezier_intersector_type_id__once = 0; if (g_once_init_enter (&live_chart_bezier_intersector_type_id__once)) { GType live_chart_bezier_intersector_type_id; live_chart_bezier_intersector_type_id = live_chart_bezier_intersector_get_type_once (); g_once_init_leave (&live_chart_bezier_intersector_type_id__once, live_chart_bezier_intersector_type_id); } return live_chart_bezier_intersector_type_id__once; } gpointer live_chart_bezier_intersector_ref (gpointer instance) { LiveChartBezierIntersector * self; self = instance; #line 6 "../src/intersectors.vala" g_atomic_int_inc (&self->ref_count); #line 6 "../src/intersectors.vala" return instance; #line 710 "intersectors.c" } void live_chart_bezier_intersector_unref (gpointer instance) { LiveChartBezierIntersector * self; self = instance; #line 6 "../src/intersectors.vala" if (g_atomic_int_dec_and_test (&self->ref_count)) { #line 6 "../src/intersectors.vala" LIVE_CHART_BEZIER_INTERSECTOR_GET_CLASS (self)->finalize (self); #line 6 "../src/intersectors.vala" g_type_free_instance ((GTypeInstance *) self); #line 724 "intersectors.c" } }