/* livechart_static.h generated by valac 0.56.0, the Vala compiler, do not modify */

#ifndef __SRC_LIVECHART_STATIC_H__
#define __SRC_LIVECHART_STATIC_H__

#include <glib-object.h>
#include <cairo-gobject.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>
#include <gee.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif
#define LIVE_CHART_GRID_ABSCISSA_TIME_PADDING 5
#define LIVE_CHART_STATIC_STATIC_GRID_ABSCISSA_TIME_PADDING 5

#define LIVE_CHART_TYPE_DRAWABLE (live_chart_drawable_get_type ())
#define LIVE_CHART_DRAWABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_DRAWABLE, LiveChartDrawable))
#define LIVE_CHART_IS_DRAWABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_DRAWABLE))
#define LIVE_CHART_DRAWABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), LIVE_CHART_TYPE_DRAWABLE, LiveChartDrawableIface))

typedef struct _LiveChartDrawable LiveChartDrawable;
typedef struct _LiveChartDrawableIface LiveChartDrawableIface;

#define LIVE_CHART_TYPE_CONFIG (live_chart_config_get_type ())
#define LIVE_CHART_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_CONFIG, LiveChartConfig))
#define LIVE_CHART_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_CONFIG, LiveChartConfigClass))
#define LIVE_CHART_IS_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_CONFIG))
#define LIVE_CHART_IS_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_CONFIG))
#define LIVE_CHART_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_CONFIG, LiveChartConfigClass))

typedef struct _LiveChartConfig LiveChartConfig;
typedef struct _LiveChartConfigClass LiveChartConfigClass;

#define LIVE_CHART_TYPE_BOUNDING_BOX (live_chart_bounding_box_get_type ())
typedef struct _LiveChartBoundingBox LiveChartBoundingBox;

#define LIVE_CHART_TYPE_AREA (live_chart_area_get_type ())
#define LIVE_CHART_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_AREA, LiveChartArea))
#define LIVE_CHART_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_AREA, LiveChartAreaClass))
#define LIVE_CHART_IS_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_AREA))
#define LIVE_CHART_IS_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_AREA))
#define LIVE_CHART_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_AREA, LiveChartAreaClass))

typedef struct _LiveChartArea LiveChartArea;
typedef struct _LiveChartAreaClass LiveChartAreaClass;
typedef struct _LiveChartAreaPrivate LiveChartAreaPrivate;

#define LIVE_CHART_TYPE_POINTS (live_chart_points_get_type ())
#define LIVE_CHART_POINTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_POINTS, LiveChartPoints))
#define LIVE_CHART_POINTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_POINTS, LiveChartPointsClass))
#define LIVE_CHART_IS_POINTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_POINTS))
#define LIVE_CHART_IS_POINTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_POINTS))
#define LIVE_CHART_POINTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_POINTS, LiveChartPointsClass))

typedef struct _LiveChartPoints LiveChartPoints;
typedef struct _LiveChartPointsClass LiveChartPointsClass;

#define LIVE_CHART_TYPE_XAXIS (live_chart_xaxis_get_type ())
#define LIVE_CHART_XAXIS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_XAXIS, LiveChartXAxis))
#define LIVE_CHART_XAXIS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_XAXIS, LiveChartXAxisClass))
#define LIVE_CHART_IS_XAXIS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_XAXIS))
#define LIVE_CHART_IS_XAXIS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_XAXIS))
#define LIVE_CHART_XAXIS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_XAXIS, LiveChartXAxisClass))

typedef struct _LiveChartXAxis LiveChartXAxis;
typedef struct _LiveChartXAxisClass LiveChartXAxisClass;
typedef struct _LiveChartXAxisPrivate LiveChartXAxisPrivate;

#define LIVE_CHART_TYPE_LABELS (live_chart_labels_get_type ())
#define LIVE_CHART_LABELS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_LABELS, LiveChartLabels))
#define LIVE_CHART_LABELS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_LABELS, LiveChartLabelsClass))
#define LIVE_CHART_IS_LABELS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_LABELS))
#define LIVE_CHART_IS_LABELS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_LABELS))
#define LIVE_CHART_LABELS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_LABELS, LiveChartLabelsClass))

typedef struct _LiveChartLabels LiveChartLabels;
typedef struct _LiveChartLabelsClass LiveChartLabelsClass;

#define LIVE_CHART_TYPE_PATH (live_chart_path_get_type ())
#define LIVE_CHART_PATH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_PATH, LiveChartPath))
#define LIVE_CHART_PATH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_PATH, LiveChartPathClass))
#define LIVE_CHART_IS_PATH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_PATH))
#define LIVE_CHART_IS_PATH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_PATH))
#define LIVE_CHART_PATH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_PATH, LiveChartPathClass))

typedef struct _LiveChartPath LiveChartPath;
typedef struct _LiveChartPathClass LiveChartPathClass;

#define LIVE_CHART_TYPE_TICKS (live_chart_ticks_get_type ())
typedef struct _LiveChartTicks LiveChartTicks;

#define LIVE_CHART_TYPE_YAXIS (live_chart_yaxis_get_type ())
#define LIVE_CHART_YAXIS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_YAXIS, LiveChartYAxis))
#define LIVE_CHART_YAXIS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_YAXIS, LiveChartYAxisClass))
#define LIVE_CHART_IS_YAXIS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_YAXIS))
#define LIVE_CHART_IS_YAXIS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_YAXIS))
#define LIVE_CHART_YAXIS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_YAXIS, LiveChartYAxisClass))

typedef struct _LiveChartYAxis LiveChartYAxis;
typedef struct _LiveChartYAxisClass LiveChartYAxisClass;
typedef struct _LiveChartYAxisPrivate LiveChartYAxisPrivate;

#define LIVE_CHART_TYPE_BOUNDS (live_chart_bounds_get_type ())
#define LIVE_CHART_BOUNDS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_BOUNDS, LiveChartBounds))
#define LIVE_CHART_BOUNDS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_BOUNDS, LiveChartBoundsClass))
#define LIVE_CHART_IS_BOUNDS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_BOUNDS))
#define LIVE_CHART_IS_BOUNDS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_BOUNDS))
#define LIVE_CHART_BOUNDS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_BOUNDS, LiveChartBoundsClass))

typedef struct _LiveChartBounds LiveChartBounds;
typedef struct _LiveChartBoundsClass LiveChartBoundsClass;

#define LIVE_CHART_TYPE_BACKGROUND (live_chart_background_get_type ())
#define LIVE_CHART_BACKGROUND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_BACKGROUND, LiveChartBackground))
#define LIVE_CHART_BACKGROUND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_BACKGROUND, LiveChartBackgroundClass))
#define LIVE_CHART_IS_BACKGROUND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_BACKGROUND))
#define LIVE_CHART_IS_BACKGROUND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_BACKGROUND))
#define LIVE_CHART_BACKGROUND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_BACKGROUND, LiveChartBackgroundClass))

typedef struct _LiveChartBackground LiveChartBackground;
typedef struct _LiveChartBackgroundClass LiveChartBackgroundClass;
typedef struct _LiveChartBackgroundPrivate LiveChartBackgroundPrivate;

#define LIVE_CHART_TYPE_SERIE_RENDERER (live_chart_serie_renderer_get_type ())
#define LIVE_CHART_SERIE_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_SERIE_RENDERER, LiveChartSerieRenderer))
#define LIVE_CHART_SERIE_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_SERIE_RENDERER, LiveChartSerieRendererClass))
#define LIVE_CHART_IS_SERIE_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_SERIE_RENDERER))
#define LIVE_CHART_IS_SERIE_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_SERIE_RENDERER))
#define LIVE_CHART_SERIE_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_SERIE_RENDERER, LiveChartSerieRendererClass))

typedef struct _LiveChartSerieRenderer LiveChartSerieRenderer;
typedef struct _LiveChartSerieRendererClass LiveChartSerieRendererClass;
typedef struct _LiveChartSerieRendererPrivate LiveChartSerieRendererPrivate;

#define LIVE_CHART_TYPE_VALUES (live_chart_values_get_type ())
#define LIVE_CHART_VALUES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_VALUES, LiveChartValues))
#define LIVE_CHART_VALUES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_VALUES, LiveChartValuesClass))
#define LIVE_CHART_IS_VALUES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_VALUES))
#define LIVE_CHART_IS_VALUES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_VALUES))
#define LIVE_CHART_VALUES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_VALUES, LiveChartValuesClass))

typedef struct _LiveChartValues LiveChartValues;
typedef struct _LiveChartValuesClass LiveChartValuesClass;

#define LIVE_CHART_TYPE_BAR (live_chart_bar_get_type ())
#define LIVE_CHART_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_BAR, LiveChartBar))
#define LIVE_CHART_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_BAR, LiveChartBarClass))
#define LIVE_CHART_IS_BAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_BAR))
#define LIVE_CHART_IS_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_BAR))
#define LIVE_CHART_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_BAR, LiveChartBarClass))

typedef struct _LiveChartBar LiveChartBar;
typedef struct _LiveChartBarClass LiveChartBarClass;
typedef struct _LiveChartBarPrivate LiveChartBarPrivate;

#define LIVE_CHART_TYPE_SEGMENT (live_chart_segment_get_type ())
typedef struct _LiveChartSegment LiveChartSegment;

#define LIVE_CHART_TYPE_COORD (live_chart_coord_get_type ())
typedef struct _LiveChartCoord LiveChartCoord;

#define LIVE_CHART_TYPE_BEZIER_CURVE (live_chart_bezier_curve_get_type ())
typedef struct _LiveChartBezierCurve LiveChartBezierCurve;
typedef struct _LiveChartBoundsPrivate LiveChartBoundsPrivate;

#define LIVE_CHART_TYPE_CHART_ERROR (live_chart_chart_error_get_type ())

#define LIVE_CHART_TYPE_CHART (live_chart_chart_get_type ())
#define LIVE_CHART_CHART(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_CHART, LiveChartChart))
#define LIVE_CHART_CHART_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_CHART, LiveChartChartClass))
#define LIVE_CHART_IS_CHART(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_CHART))
#define LIVE_CHART_IS_CHART_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_CHART))
#define LIVE_CHART_CHART_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_CHART, LiveChartChartClass))

typedef struct _LiveChartChart LiveChartChart;
typedef struct _LiveChartChartClass LiveChartChartClass;
typedef struct _LiveChartChartPrivate LiveChartChartPrivate;

#define LIVE_CHART_TYPE_SERIES (live_chart_series_get_type ())
#define LIVE_CHART_SERIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_SERIES, LiveChartSeries))
#define LIVE_CHART_SERIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_SERIES, LiveChartSeriesClass))
#define LIVE_CHART_IS_SERIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_SERIES))
#define LIVE_CHART_IS_SERIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_SERIES))
#define LIVE_CHART_SERIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_SERIES, LiveChartSeriesClass))

typedef struct _LiveChartSeries LiveChartSeries;
typedef struct _LiveChartSeriesClass LiveChartSeriesClass;

#define LIVE_CHART_TYPE_SERIE (live_chart_serie_get_type ())
#define LIVE_CHART_SERIE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_SERIE, LiveChartSerie))
#define LIVE_CHART_SERIE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_SERIE, LiveChartSerieClass))
#define LIVE_CHART_IS_SERIE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_SERIE))
#define LIVE_CHART_IS_SERIE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_SERIE))
#define LIVE_CHART_SERIE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_SERIE, LiveChartSerieClass))

typedef struct _LiveChartSerie LiveChartSerie;
typedef struct _LiveChartSerieClass LiveChartSerieClass;

#define LIVE_CHART_TYPE_GRID (live_chart_grid_get_type ())
#define LIVE_CHART_GRID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_GRID, LiveChartGrid))
#define LIVE_CHART_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_GRID, LiveChartGridClass))
#define LIVE_CHART_IS_GRID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_GRID))
#define LIVE_CHART_IS_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_GRID))
#define LIVE_CHART_GRID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_GRID, LiveChartGridClass))

typedef struct _LiveChartGrid LiveChartGrid;
typedef struct _LiveChartGridClass LiveChartGridClass;

#define LIVE_CHART_TYPE_LEGEND (live_chart_legend_get_type ())
#define LIVE_CHART_LEGEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_LEGEND, LiveChartLegend))
#define LIVE_CHART_LEGEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_LEGEND, LiveChartLegendClass))
#define LIVE_CHART_IS_LEGEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_LEGEND))
#define LIVE_CHART_IS_LEGEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_LEGEND))
#define LIVE_CHART_LEGEND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_LEGEND, LiveChartLegendClass))

typedef struct _LiveChartLegend LiveChartLegend;
typedef struct _LiveChartLegendClass LiveChartLegendClass;
typedef enum  {
	LIVE_CHART_AUTO_PADDING_NONE = 1 << 0,
	LIVE_CHART_AUTO_PADDING_TOP = 1 << 1,
	LIVE_CHART_AUTO_PADDING_RIGHT = 1 << 2,
	LIVE_CHART_AUTO_PADDING_BOTTOM = 1 << 3,
	LIVE_CHART_AUTO_PADDING_LEFT = 1 << 4
} LiveChartAutoPadding;

#define LIVE_CHART_TYPE_AUTO_PADDING (live_chart_auto_padding_get_type ())

#define LIVE_CHART_TYPE_PADDING (live_chart_padding_get_type ())
typedef struct _LiveChartPadding LiveChartPadding;

#define LIVE_CHART_TYPE_BOUNDARY (live_chart_boundary_get_type ())
typedef struct _LiveChartBoundary LiveChartBoundary;

#define LIVE_CHART_TYPE_BOUNDARIES (live_chart_boundaries_get_type ())
typedef struct _LiveChartBoundaries LiveChartBoundaries;
typedef struct _LiveChartConfigPrivate LiveChartConfigPrivate;

#define LIVE_CHART_TYPE_COLORABLE (live_chart_colorable_get_type ())
#define LIVE_CHART_COLORABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_COLORABLE, LiveChartColorable))
#define LIVE_CHART_IS_COLORABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_COLORABLE))
#define LIVE_CHART_COLORABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), LIVE_CHART_TYPE_COLORABLE, LiveChartColorableIface))

typedef struct _LiveChartColorable LiveChartColorable;
typedef struct _LiveChartColorableIface LiveChartColorableIface;

#define LIVE_CHART_TYPE_FONT (live_chart_font_get_type ())
#define LIVE_CHART_FONT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_FONT, LiveChartFont))
#define LIVE_CHART_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_FONT, LiveChartFontClass))
#define LIVE_CHART_IS_FONT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_FONT))
#define LIVE_CHART_IS_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_FONT))
#define LIVE_CHART_FONT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_FONT, LiveChartFontClass))

typedef struct _LiveChartFont LiveChartFont;
typedef struct _LiveChartFontClass LiveChartFontClass;
typedef struct _LiveChartFontPrivate LiveChartFontPrivate;

#define LIVE_CHART_TYPE_POINT (live_chart_point_get_type ())
typedef struct _LiveChartPoint LiveChartPoint;

#define LIVE_CHART_TYPE_TIMESTAMPED_VALUE (live_chart_timestamped_value_get_type ())
typedef struct _LiveChartTimestampedValue LiveChartTimestampedValue;
typedef struct _LiveChartGridPrivate LiveChartGridPrivate;

#define LIVE_CHART_TYPE_INTERSECTIONS (live_chart_intersections_get_type ())
#define LIVE_CHART_INTERSECTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_INTERSECTIONS, LiveChartIntersections))
#define LIVE_CHART_INTERSECTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_INTERSECTIONS, LiveChartIntersectionsClass))
#define LIVE_CHART_IS_INTERSECTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_INTERSECTIONS))
#define LIVE_CHART_IS_INTERSECTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_INTERSECTIONS))
#define LIVE_CHART_INTERSECTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_INTERSECTIONS, LiveChartIntersectionsClass))

typedef struct _LiveChartIntersections LiveChartIntersections;
typedef struct _LiveChartIntersectionsClass LiveChartIntersectionsClass;
typedef struct _LiveChartIntersectionsPrivate LiveChartIntersectionsPrivate;

#define LIVE_CHART_TYPE_REGION (live_chart_region_get_type ())
#define LIVE_CHART_REGION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_REGION, LiveChartRegion))
#define LIVE_CHART_REGION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_REGION, LiveChartRegionClass))
#define LIVE_CHART_IS_REGION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_REGION))
#define LIVE_CHART_IS_REGION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_REGION))
#define LIVE_CHART_REGION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_REGION, LiveChartRegionClass))

typedef struct _LiveChartRegion LiveChartRegion;
typedef struct _LiveChartRegionClass LiveChartRegionClass;

#define LIVE_CHART_TYPE_INTERSECTION (live_chart_intersection_get_type ())
#define LIVE_CHART_INTERSECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_INTERSECTION, LiveChartIntersection))
#define LIVE_CHART_INTERSECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_INTERSECTION, LiveChartIntersectionClass))
#define LIVE_CHART_IS_INTERSECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_INTERSECTION))
#define LIVE_CHART_IS_INTERSECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_INTERSECTION))
#define LIVE_CHART_INTERSECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_INTERSECTION, LiveChartIntersectionClass))

typedef struct _LiveChartIntersection LiveChartIntersection;
typedef struct _LiveChartIntersectionClass LiveChartIntersectionClass;
typedef struct _LiveChartIntersectionPrivate LiveChartIntersectionPrivate;

#define LIVE_CHART_TYPE_INTERSECTOR (live_chart_intersector_get_type ())
#define LIVE_CHART_INTERSECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_INTERSECTOR, LiveChartIntersector))
#define LIVE_CHART_IS_INTERSECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_INTERSECTOR))
#define LIVE_CHART_INTERSECTOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), LIVE_CHART_TYPE_INTERSECTOR, LiveChartIntersectorIface))

typedef struct _LiveChartIntersector LiveChartIntersector;
typedef struct _LiveChartIntersectorIface LiveChartIntersectorIface;

#define LIVE_CHART_TYPE_BEZIER_INTERSECTOR (live_chart_bezier_intersector_get_type ())
#define LIVE_CHART_BEZIER_INTERSECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_BEZIER_INTERSECTOR, LiveChartBezierIntersector))
#define LIVE_CHART_BEZIER_INTERSECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_BEZIER_INTERSECTOR, LiveChartBezierIntersectorClass))
#define LIVE_CHART_IS_BEZIER_INTERSECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_BEZIER_INTERSECTOR))
#define LIVE_CHART_IS_BEZIER_INTERSECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_BEZIER_INTERSECTOR))
#define LIVE_CHART_BEZIER_INTERSECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_BEZIER_INTERSECTOR, LiveChartBezierIntersectorClass))

typedef struct _LiveChartBezierIntersector LiveChartBezierIntersector;
typedef struct _LiveChartBezierIntersectorClass LiveChartBezierIntersectorClass;
typedef struct _LiveChartBezierIntersectorPrivate LiveChartBezierIntersectorPrivate;
typedef struct _LiveChartLabelsPrivate LiveChartLabelsPrivate;
typedef struct _LiveChartLegendPrivate LiveChartLegendPrivate;

#define LIVE_CHART_TYPE_HORIZONTAL_LEGEND (live_chart_horizontal_legend_get_type ())
#define LIVE_CHART_HORIZONTAL_LEGEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_HORIZONTAL_LEGEND, LiveChartHorizontalLegend))
#define LIVE_CHART_HORIZONTAL_LEGEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_HORIZONTAL_LEGEND, LiveChartHorizontalLegendClass))
#define LIVE_CHART_IS_HORIZONTAL_LEGEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_HORIZONTAL_LEGEND))
#define LIVE_CHART_IS_HORIZONTAL_LEGEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_HORIZONTAL_LEGEND))
#define LIVE_CHART_HORIZONTAL_LEGEND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_HORIZONTAL_LEGEND, LiveChartHorizontalLegendClass))

typedef struct _LiveChartHorizontalLegend LiveChartHorizontalLegend;
typedef struct _LiveChartHorizontalLegendClass LiveChartHorizontalLegendClass;
typedef struct _LiveChartHorizontalLegendPrivate LiveChartHorizontalLegendPrivate;

#define LIVE_CHART_TYPE_NOOP_LEGEND (live_chart_noop_legend_get_type ())
#define LIVE_CHART_NOOP_LEGEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_NOOP_LEGEND, LiveChartNoopLegend))
#define LIVE_CHART_NOOP_LEGEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_NOOP_LEGEND, LiveChartNoopLegendClass))
#define LIVE_CHART_IS_NOOP_LEGEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_NOOP_LEGEND))
#define LIVE_CHART_IS_NOOP_LEGEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_NOOP_LEGEND))
#define LIVE_CHART_NOOP_LEGEND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_NOOP_LEGEND, LiveChartNoopLegendClass))

typedef struct _LiveChartNoopLegend LiveChartNoopLegend;
typedef struct _LiveChartNoopLegendClass LiveChartNoopLegendClass;
typedef struct _LiveChartNoopLegendPrivate LiveChartNoopLegendPrivate;

#define LIVE_CHART_TYPE_LINE (live_chart_line_get_type ())
#define LIVE_CHART_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_LINE, LiveChartLine))
#define LIVE_CHART_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_LINE, LiveChartLineClass))
#define LIVE_CHART_IS_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_LINE))
#define LIVE_CHART_IS_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_LINE))
#define LIVE_CHART_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_LINE, LiveChartLineClass))

typedef struct _LiveChartLine LiveChartLine;
typedef struct _LiveChartLineClass LiveChartLineClass;
typedef struct _LiveChartLinePrivate LiveChartLinePrivate;

#define LIVE_CHART_TYPE_LINE_AREA (live_chart_line_area_get_type ())
#define LIVE_CHART_LINE_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_LINE_AREA, LiveChartLineArea))
#define LIVE_CHART_LINE_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_LINE_AREA, LiveChartLineAreaClass))
#define LIVE_CHART_IS_LINE_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_LINE_AREA))
#define LIVE_CHART_IS_LINE_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_LINE_AREA))
#define LIVE_CHART_LINE_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_LINE_AREA, LiveChartLineAreaClass))

typedef struct _LiveChartLineArea LiveChartLineArea;
typedef struct _LiveChartLineAreaClass LiveChartLineAreaClass;
typedef struct _LiveChartLineAreaPrivate LiveChartLineAreaPrivate;

#define LIVE_CHART_TYPE_MAX_BOUND_LINE (live_chart_max_bound_line_get_type ())
#define LIVE_CHART_MAX_BOUND_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_MAX_BOUND_LINE, LiveChartMaxBoundLine))
#define LIVE_CHART_MAX_BOUND_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_MAX_BOUND_LINE, LiveChartMaxBoundLineClass))
#define LIVE_CHART_IS_MAX_BOUND_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_MAX_BOUND_LINE))
#define LIVE_CHART_IS_MAX_BOUND_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_MAX_BOUND_LINE))
#define LIVE_CHART_MAX_BOUND_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_MAX_BOUND_LINE, LiveChartMaxBoundLineClass))

typedef struct _LiveChartMaxBoundLine LiveChartMaxBoundLine;
typedef struct _LiveChartMaxBoundLineClass LiveChartMaxBoundLineClass;
typedef struct _LiveChartMaxBoundLinePrivate LiveChartMaxBoundLinePrivate;

#define LIVE_CHART_TYPE_MIN_BOUND_LINE (live_chart_min_bound_line_get_type ())
#define LIVE_CHART_MIN_BOUND_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_MIN_BOUND_LINE, LiveChartMinBoundLine))
#define LIVE_CHART_MIN_BOUND_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_MIN_BOUND_LINE, LiveChartMinBoundLineClass))
#define LIVE_CHART_IS_MIN_BOUND_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_MIN_BOUND_LINE))
#define LIVE_CHART_IS_MIN_BOUND_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_MIN_BOUND_LINE))
#define LIVE_CHART_MIN_BOUND_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_MIN_BOUND_LINE, LiveChartMinBoundLineClass))

typedef struct _LiveChartMinBoundLine LiveChartMinBoundLine;
typedef struct _LiveChartMinBoundLineClass LiveChartMinBoundLineClass;
typedef struct _LiveChartMinBoundLinePrivate LiveChartMinBoundLinePrivate;

#define LIVE_CHART_TYPE_DASH (live_chart_dash_get_type ())
typedef struct _LiveChartDash LiveChartDash;
typedef struct _LiveChartPathPrivate LiveChartPathPrivate;
typedef struct _LiveChartPointsPrivate LiveChartPointsPrivate;
typedef enum  {
	LIVE_CHART_REGION_HANDLE_STATUS_ENTER,
	LIVE_CHART_REGION_HANDLE_STATUS_EXIT,
	LIVE_CHART_REGION_HANDLE_STATUS_WITHIN,
	LIVE_CHART_REGION_HANDLE_STATUS_OUT
} LiveChartRegionHandleStatus;

#define LIVE_CHART_TYPE_REGION_HANDLE_STATUS (live_chart_region_handle_status_get_type ())

#define LIVE_CHART_TYPE_REGION_HANDLE_RESULT (live_chart_region_handle_result_get_type ())
typedef struct _LiveChartRegionHandleResult LiveChartRegionHandleResult;
typedef LiveChartCoord* (*LiveChartGetIntersection) (gdouble at_value, gpointer user_data);
typedef struct _LiveChartRegionPrivate LiveChartRegionPrivate;
typedef struct _LiveChartSeriePrivate LiveChartSeriePrivate;
typedef struct _LiveChartSeriesPrivate LiveChartSeriesPrivate;

#define LIVE_CHART_TYPE_SMOOTH_LINE (live_chart_smooth_line_get_type ())
#define LIVE_CHART_SMOOTH_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_SMOOTH_LINE, LiveChartSmoothLine))
#define LIVE_CHART_SMOOTH_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_SMOOTH_LINE, LiveChartSmoothLineClass))
#define LIVE_CHART_IS_SMOOTH_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_SMOOTH_LINE))
#define LIVE_CHART_IS_SMOOTH_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_SMOOTH_LINE))
#define LIVE_CHART_SMOOTH_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_SMOOTH_LINE, LiveChartSmoothLineClass))

typedef struct _LiveChartSmoothLine LiveChartSmoothLine;
typedef struct _LiveChartSmoothLineClass LiveChartSmoothLineClass;
typedef struct _LiveChartSmoothLinePrivate LiveChartSmoothLinePrivate;

#define LIVE_CHART_TYPE_SMOOTH_LINE_AREA (live_chart_smooth_line_area_get_type ())
#define LIVE_CHART_SMOOTH_LINE_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_SMOOTH_LINE_AREA, LiveChartSmoothLineArea))
#define LIVE_CHART_SMOOTH_LINE_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_SMOOTH_LINE_AREA, LiveChartSmoothLineAreaClass))
#define LIVE_CHART_IS_SMOOTH_LINE_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_SMOOTH_LINE_AREA))
#define LIVE_CHART_IS_SMOOTH_LINE_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_SMOOTH_LINE_AREA))
#define LIVE_CHART_SMOOTH_LINE_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_SMOOTH_LINE_AREA, LiveChartSmoothLineAreaClass))

typedef struct _LiveChartSmoothLineArea LiveChartSmoothLineArea;
typedef struct _LiveChartSmoothLineAreaClass LiveChartSmoothLineAreaClass;
typedef struct _LiveChartSmoothLineAreaPrivate LiveChartSmoothLineAreaPrivate;

#define LIVE_CHART_TYPE_THRESHOLD_LINE (live_chart_threshold_line_get_type ())
#define LIVE_CHART_THRESHOLD_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_TYPE_THRESHOLD_LINE, LiveChartThresholdLine))
#define LIVE_CHART_THRESHOLD_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_TYPE_THRESHOLD_LINE, LiveChartThresholdLineClass))
#define LIVE_CHART_IS_THRESHOLD_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_TYPE_THRESHOLD_LINE))
#define LIVE_CHART_IS_THRESHOLD_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_TYPE_THRESHOLD_LINE))
#define LIVE_CHART_THRESHOLD_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_TYPE_THRESHOLD_LINE, LiveChartThresholdLineClass))

typedef struct _LiveChartThresholdLine LiveChartThresholdLine;
typedef struct _LiveChartThresholdLineClass LiveChartThresholdLineClass;
typedef struct _LiveChartThresholdLinePrivate LiveChartThresholdLinePrivate;
typedef struct _LiveChartValuesPrivate LiveChartValuesPrivate;

#define LIVE_CHART_STATIC_TYPE_STATIC_CHART (live_chart_static_static_chart_get_type ())
#define LIVE_CHART_STATIC_STATIC_CHART(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_STATIC_TYPE_STATIC_CHART, LiveChartStaticStaticChart))
#define LIVE_CHART_STATIC_STATIC_CHART_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_STATIC_TYPE_STATIC_CHART, LiveChartStaticStaticChartClass))
#define LIVE_CHART_STATIC_IS_STATIC_CHART(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_STATIC_TYPE_STATIC_CHART))
#define LIVE_CHART_STATIC_IS_STATIC_CHART_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_STATIC_TYPE_STATIC_CHART))
#define LIVE_CHART_STATIC_STATIC_CHART_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_STATIC_TYPE_STATIC_CHART, LiveChartStaticStaticChartClass))

typedef struct _LiveChartStaticStaticChart LiveChartStaticStaticChart;
typedef struct _LiveChartStaticStaticChartClass LiveChartStaticStaticChartClass;
typedef struct _LiveChartStaticStaticChartPrivate LiveChartStaticStaticChartPrivate;

#define LIVE_CHART_STATIC_TYPE_STATIC_SERIES (live_chart_static_static_series_get_type ())
#define LIVE_CHART_STATIC_STATIC_SERIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_STATIC_TYPE_STATIC_SERIES, LiveChartStaticStaticSeries))
#define LIVE_CHART_STATIC_STATIC_SERIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_STATIC_TYPE_STATIC_SERIES, LiveChartStaticStaticSeriesClass))
#define LIVE_CHART_STATIC_IS_STATIC_SERIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_STATIC_TYPE_STATIC_SERIES))
#define LIVE_CHART_STATIC_IS_STATIC_SERIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_STATIC_TYPE_STATIC_SERIES))
#define LIVE_CHART_STATIC_STATIC_SERIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_STATIC_TYPE_STATIC_SERIES, LiveChartStaticStaticSeriesClass))

typedef struct _LiveChartStaticStaticSeries LiveChartStaticStaticSeries;
typedef struct _LiveChartStaticStaticSeriesClass LiveChartStaticStaticSeriesClass;

#define LIVE_CHART_STATIC_TYPE_STATIC_SERIE (live_chart_static_static_serie_get_type ())
#define LIVE_CHART_STATIC_STATIC_SERIE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_STATIC_TYPE_STATIC_SERIE, LiveChartStaticStaticSerie))
#define LIVE_CHART_STATIC_STATIC_SERIE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_STATIC_TYPE_STATIC_SERIE, LiveChartStaticStaticSerieClass))
#define LIVE_CHART_STATIC_IS_STATIC_SERIE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_STATIC_TYPE_STATIC_SERIE))
#define LIVE_CHART_STATIC_IS_STATIC_SERIE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_STATIC_TYPE_STATIC_SERIE))
#define LIVE_CHART_STATIC_STATIC_SERIE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_STATIC_TYPE_STATIC_SERIE, LiveChartStaticStaticSerieClass))

typedef struct _LiveChartStaticStaticSerie LiveChartStaticStaticSerie;
typedef struct _LiveChartStaticStaticSerieClass LiveChartStaticStaticSerieClass;

#define LIVE_CHART_STATIC_TYPE_STATIC_GRID (live_chart_static_static_grid_get_type ())
#define LIVE_CHART_STATIC_STATIC_GRID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_STATIC_TYPE_STATIC_GRID, LiveChartStaticStaticGrid))
#define LIVE_CHART_STATIC_STATIC_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_STATIC_TYPE_STATIC_GRID, LiveChartStaticStaticGridClass))
#define LIVE_CHART_STATIC_IS_STATIC_GRID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_STATIC_TYPE_STATIC_GRID))
#define LIVE_CHART_STATIC_IS_STATIC_GRID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_STATIC_TYPE_STATIC_GRID))
#define LIVE_CHART_STATIC_STATIC_GRID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_STATIC_TYPE_STATIC_GRID, LiveChartStaticStaticGridClass))

typedef struct _LiveChartStaticStaticGrid LiveChartStaticStaticGrid;
typedef struct _LiveChartStaticStaticGridClass LiveChartStaticStaticGridClass;
typedef struct _LiveChartStaticStaticSeriesPrivate LiveChartStaticStaticSeriesPrivate;
typedef struct _LiveChartStaticStaticSeriePrivate LiveChartStaticStaticSeriePrivate;

#define LIVE_CHART_STATIC_TYPE_STATIC_SERIE_RENDERER (live_chart_static_static_serie_renderer_get_type ())
#define LIVE_CHART_STATIC_STATIC_SERIE_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_STATIC_TYPE_STATIC_SERIE_RENDERER, LiveChartStaticStaticSerieRenderer))
#define LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_STATIC_TYPE_STATIC_SERIE_RENDERER, LiveChartStaticStaticSerieRendererClass))
#define LIVE_CHART_STATIC_IS_STATIC_SERIE_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_STATIC_TYPE_STATIC_SERIE_RENDERER))
#define LIVE_CHART_STATIC_IS_STATIC_SERIE_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_STATIC_TYPE_STATIC_SERIE_RENDERER))
#define LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_STATIC_TYPE_STATIC_SERIE_RENDERER, LiveChartStaticStaticSerieRendererClass))

typedef struct _LiveChartStaticStaticSerieRenderer LiveChartStaticStaticSerieRenderer;
typedef struct _LiveChartStaticStaticSerieRendererClass LiveChartStaticStaticSerieRendererClass;

#define LIVE_CHART_STATIC_TYPE_STATIC_VALUES (live_chart_static_static_values_get_type ())
#define LIVE_CHART_STATIC_STATIC_VALUES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_STATIC_TYPE_STATIC_VALUES, LiveChartStaticStaticValues))
#define LIVE_CHART_STATIC_STATIC_VALUES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_STATIC_TYPE_STATIC_VALUES, LiveChartStaticStaticValuesClass))
#define LIVE_CHART_STATIC_IS_STATIC_VALUES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_STATIC_TYPE_STATIC_VALUES))
#define LIVE_CHART_STATIC_IS_STATIC_VALUES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_STATIC_TYPE_STATIC_VALUES))
#define LIVE_CHART_STATIC_STATIC_VALUES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_STATIC_TYPE_STATIC_VALUES, LiveChartStaticStaticValuesClass))

typedef struct _LiveChartStaticStaticValues LiveChartStaticStaticValues;
typedef struct _LiveChartStaticStaticValuesClass LiveChartStaticStaticValuesClass;

#define LIVE_CHART_STATIC_TYPE_NAMED_VALUE (live_chart_static_named_value_get_type ())
typedef struct _LiveChartStaticNamedValue LiveChartStaticNamedValue;
typedef struct _LiveChartStaticStaticValuesPrivate LiveChartStaticStaticValuesPrivate;
typedef struct _LiveChartStaticStaticSerieRendererPrivate LiveChartStaticStaticSerieRendererPrivate;

#define LIVE_CHART_STATIC_TYPE_STATIC_LINE (live_chart_static_static_line_get_type ())
#define LIVE_CHART_STATIC_STATIC_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_STATIC_TYPE_STATIC_LINE, LiveChartStaticStaticLine))
#define LIVE_CHART_STATIC_STATIC_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_STATIC_TYPE_STATIC_LINE, LiveChartStaticStaticLineClass))
#define LIVE_CHART_STATIC_IS_STATIC_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_STATIC_TYPE_STATIC_LINE))
#define LIVE_CHART_STATIC_IS_STATIC_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_STATIC_TYPE_STATIC_LINE))
#define LIVE_CHART_STATIC_STATIC_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_STATIC_TYPE_STATIC_LINE, LiveChartStaticStaticLineClass))

typedef struct _LiveChartStaticStaticLine LiveChartStaticStaticLine;
typedef struct _LiveChartStaticStaticLineClass LiveChartStaticStaticLineClass;
typedef struct _LiveChartStaticStaticLinePrivate LiveChartStaticStaticLinePrivate;

#define LIVE_CHART_STATIC_TYPE_STATIC_POINTS (live_chart_static_static_points_get_type ())
#define LIVE_CHART_STATIC_STATIC_POINTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIVE_CHART_STATIC_TYPE_STATIC_POINTS, LiveChartStaticStaticPoints))
#define LIVE_CHART_STATIC_STATIC_POINTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), LIVE_CHART_STATIC_TYPE_STATIC_POINTS, LiveChartStaticStaticPointsClass))
#define LIVE_CHART_STATIC_IS_STATIC_POINTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIVE_CHART_STATIC_TYPE_STATIC_POINTS))
#define LIVE_CHART_STATIC_IS_STATIC_POINTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIVE_CHART_STATIC_TYPE_STATIC_POINTS))
#define LIVE_CHART_STATIC_STATIC_POINTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), LIVE_CHART_STATIC_TYPE_STATIC_POINTS, LiveChartStaticStaticPointsClass))

typedef struct _LiveChartStaticStaticPoints LiveChartStaticStaticPoints;
typedef struct _LiveChartStaticStaticPointsClass LiveChartStaticStaticPointsClass;
typedef struct _LiveChartStaticStaticGridPrivate LiveChartStaticStaticGridPrivate;
typedef struct _LiveChartStaticStaticPointsPrivate LiveChartStaticStaticPointsPrivate;

struct _LiveChartBoundingBox {
	gdouble x;
	gdouble y;
	gdouble width;
	gdouble height;
};

struct _LiveChartDrawableIface {
	GTypeInterface parent_iface;
	void (*draw) (LiveChartDrawable* self, cairo_t* ctx, LiveChartConfig* config);
	void (*get_bounding_box) (LiveChartDrawable* self, LiveChartBoundingBox* result);
	gboolean (*get_visible) (LiveChartDrawable* self);
	void (*set_visible) (LiveChartDrawable* self, gboolean value);
};

struct _LiveChartArea {
	GObject parent_instance;
	LiveChartAreaPrivate * priv;
};

struct _LiveChartAreaClass {
	GObjectClass parent_class;
};

struct _LiveChartXAxis {
	GTypeInstance parent_instance;
	volatile int ref_count;
	LiveChartXAxisPrivate * priv;
	LiveChartLabels* labels;
	LiveChartPath* axis;
	LiveChartPath* lines;
};

struct _LiveChartXAxisClass {
	GTypeClass parent_class;
	void (*finalize) (LiveChartXAxis *self);
};

struct _LiveChartTicks {
	GeeList* values;
};

struct _LiveChartYAxis {
	GTypeInstance parent_instance;
	volatile int ref_count;
	LiveChartYAxisPrivate * priv;
	LiveChartLabels* labels;
	LiveChartPath* axis;
	LiveChartPath* lines;
	gboolean smart_ratio G_GNUC_DEPRECATED ;
	gdouble* fixed_max;
	LiveChartTicks ticks;
};

struct _LiveChartYAxisClass {
	GTypeClass parent_class;
	void (*finalize) (LiveChartYAxis *self);
};

struct _LiveChartBackground {
	GObject parent_instance;
	LiveChartBackgroundPrivate * priv;
};

struct _LiveChartBackgroundClass {
	GObjectClass parent_class;
};

struct _LiveChartSerieRenderer {
	GObject parent_instance;
	LiveChartSerieRendererPrivate * priv;
	LiveChartBoundingBox bounding_box;
	LiveChartValues* values;
};

struct _LiveChartSerieRendererClass {
	GObjectClass parent_class;
	void (*draw) (LiveChartSerieRenderer* self, cairo_t* ctx, LiveChartConfig* config);
};

struct _LiveChartBar {
	LiveChartSerieRenderer parent_instance;
	LiveChartBarPrivate * priv;
};

struct _LiveChartBarClass {
	LiveChartSerieRendererClass parent_class;
};

struct _LiveChartCoord {
	gdouble x;
	gdouble y;
};

struct _LiveChartSegment {
	LiveChartCoord from;
	LiveChartCoord to;
};

struct _LiveChartBezierCurve {
	LiveChartCoord c0;
	LiveChartCoord c1;
	LiveChartCoord c2;
	LiveChartCoord c3;
};

struct _LiveChartBounds {
	GObject parent_instance;
	LiveChartBoundsPrivate * priv;
};

struct _LiveChartBoundsClass {
	GObjectClass parent_class;
};

typedef enum  {
	LIVE_CHART_CHART_ERROR_EXPORT_ERROR,
	LIVE_CHART_CHART_ERROR_SERIE_NOT_FOUND
} LiveChartChartError;
#define LIVE_CHART_CHART_ERROR live_chart_chart_error_quark ()

struct _LiveChartChart {
	GtkDrawingArea parent_instance;
	LiveChartChartPrivate * priv;
	LiveChartConfig* config;
	LiveChartSeries* series;
};

struct _LiveChartChartClass {
	GtkDrawingAreaClass parent_class;
};

struct _LiveChartPadding {
	LiveChartAutoPadding smart;
	gint top;
	gint right;
	gint bottom;
	gint left;
};

struct _LiveChartBoundary {
	gint min;
	gint max;
};

struct _LiveChartBoundaries {
	LiveChartBoundary x;
	LiveChartBoundary y;
	gint width;
	gint height;
};

struct _LiveChartConfig {
	GTypeInstance parent_instance;
	volatile int ref_count;
	LiveChartConfigPrivate * priv;
	LiveChartPadding padding;
	LiveChartYAxis* y_axis;
	LiveChartXAxis* x_axis;
	GeeArrayList* categories;
};

struct _LiveChartConfigClass {
	GTypeClass parent_class;
	void (*finalize) (LiveChartConfig *self);
};

struct _LiveChartColorableIface {
	GTypeInterface parent_iface;
	void (*get_main_color) (LiveChartColorable* self, GdkRGBA * result);
	void (*set_main_color) (LiveChartColorable* self, GdkRGBA * value);
};

struct _LiveChartFont {
	GTypeInstance parent_instance;
	volatile int ref_count;
	LiveChartFontPrivate * priv;
};

struct _LiveChartFontClass {
	GTypeClass parent_class;
	void (*finalize) (LiveChartFont *self);
};

struct _LiveChartTimestampedValue {
	gdouble timestamp;
	gdouble value;
};

struct _LiveChartPoint {
	gdouble x;
	gdouble y;
	gdouble height;
	LiveChartTimestampedValue data;
};

struct _LiveChartGrid {
	GObject parent_instance;
	LiveChartGridPrivate * priv;
	LiveChartBoundingBox bounding_box;
};

struct _LiveChartGridClass {
	GObjectClass parent_class;
};

struct _LiveChartIntersections {
	GObject parent_instance;
	LiveChartIntersectionsPrivate * priv;
};

struct _LiveChartIntersectionsClass {
	GObjectClass parent_class;
};

struct _LiveChartIntersection {
	GObject parent_instance;
	LiveChartIntersectionPrivate * priv;
	gdouble* entered_at;
	gdouble* exited_at;
};

struct _LiveChartIntersectionClass {
	GObjectClass parent_class;
};

struct _LiveChartIntersectorIface {
	GTypeInterface parent_iface;
	void (*intersect) (LiveChartIntersector* self, LiveChartIntersections* intersections, LiveChartPoint* previous, LiveChartPoint* current, gconstpointer path);
};

struct _LiveChartBezierIntersector {
	GTypeInstance parent_instance;
	volatile int ref_count;
	LiveChartBezierIntersectorPrivate * priv;
};

struct _LiveChartBezierIntersectorClass {
	GTypeClass parent_class;
	void (*finalize) (LiveChartBezierIntersector *self);
};

struct _LiveChartLabels {
	GTypeInstance parent_instance;
	volatile int ref_count;
	LiveChartLabelsPrivate * priv;
};

struct _LiveChartLabelsClass {
	GTypeClass parent_class;
	void (*finalize) (LiveChartLabels *self);
};

struct _LiveChartLegend {
	GObject parent_instance;
	LiveChartLegendPrivate * priv;
	LiveChartLabels* labels;
	GeeArrayList* series;
	LiveChartBoundingBox bounding_box;
};

struct _LiveChartLegendClass {
	GObjectClass parent_class;
	void (*draw) (LiveChartLegend* self, cairo_t* ctx, LiveChartConfig* config);
};

struct _LiveChartHorizontalLegend {
	LiveChartLegend parent_instance;
	LiveChartHorizontalLegendPrivate * priv;
};

struct _LiveChartHorizontalLegendClass {
	LiveChartLegendClass parent_class;
};

struct _LiveChartNoopLegend {
	LiveChartLegend parent_instance;
	LiveChartNoopLegendPrivate * priv;
};

struct _LiveChartNoopLegendClass {
	LiveChartLegendClass parent_class;
};

struct _LiveChartLine {
	LiveChartSerieRenderer parent_instance;
	LiveChartLinePrivate * priv;
};

struct _LiveChartLineClass {
	LiveChartSerieRendererClass parent_class;
};

struct _LiveChartLineArea {
	LiveChartLine parent_instance;
	LiveChartLineAreaPrivate * priv;
};

struct _LiveChartLineAreaClass {
	LiveChartLineClass parent_class;
};

struct _LiveChartMaxBoundLine {
	LiveChartSerieRenderer parent_instance;
	LiveChartMaxBoundLinePrivate * priv;
};

struct _LiveChartMaxBoundLineClass {
	LiveChartSerieRendererClass parent_class;
};

struct _LiveChartMinBoundLine {
	LiveChartSerieRenderer parent_instance;
	LiveChartMinBoundLinePrivate * priv;
};

struct _LiveChartMinBoundLineClass {
	LiveChartSerieRendererClass parent_class;
};

struct _LiveChartDash {
	gdouble* dashes;
	gint dashes_length1;
	gdouble offset;
};

struct _LiveChartPath {
	GObject parent_instance;
	LiveChartPathPrivate * priv;
	LiveChartDash* dash;
};

struct _LiveChartPathClass {
	GObjectClass parent_class;
};

struct _LiveChartPoints {
	GObject parent_instance;
	LiveChartPointsPrivate * priv;
};

struct _LiveChartPointsClass {
	GObjectClass parent_class;
};

struct _LiveChartRegionHandleResult {
	LiveChartRegionHandleStatus status;
	gdouble at_value;
};

struct _LiveChartRegion {
	GTypeInstance parent_instance;
	volatile int ref_count;
	LiveChartRegionPrivate * priv;
};

struct _LiveChartRegionClass {
	GTypeClass parent_class;
	void (*finalize) (LiveChartRegion *self);
};

struct _LiveChartSerie {
	GObject parent_instance;
	LiveChartSeriePrivate * priv;
};

struct _LiveChartSerieClass {
	GObjectClass parent_class;
};

struct _LiveChartSeries {
	GObject parent_instance;
	LiveChartSeriesPrivate * priv;
};

struct _LiveChartSeriesClass {
	GObjectClass parent_class;
};

struct _LiveChartSmoothLine {
	LiveChartSerieRenderer parent_instance;
	LiveChartSmoothLinePrivate * priv;
	LiveChartIntersections* intersections;
};

struct _LiveChartSmoothLineClass {
	LiveChartSerieRendererClass parent_class;
};

struct _LiveChartSmoothLineArea {
	LiveChartSmoothLine parent_instance;
	LiveChartSmoothLineAreaPrivate * priv;
};

struct _LiveChartSmoothLineAreaClass {
	LiveChartSmoothLineClass parent_class;
};

struct _LiveChartThresholdLine {
	LiveChartSerieRenderer parent_instance;
	LiveChartThresholdLinePrivate * priv;
};

struct _LiveChartThresholdLineClass {
	LiveChartSerieRendererClass parent_class;
};

struct _LiveChartValues {
	GeeLinkedList parent_instance;
	LiveChartValuesPrivate * priv;
};

struct _LiveChartValuesClass {
	GeeLinkedListClass parent_class;
};

struct _LiveChartStaticStaticChart {
	GtkDrawingArea parent_instance;
	LiveChartStaticStaticChartPrivate * priv;
	LiveChartConfig* config;
	LiveChartStaticStaticSeries* series;
};

struct _LiveChartStaticStaticChartClass {
	GtkDrawingAreaClass parent_class;
};

struct _LiveChartStaticStaticSeries {
	GObject parent_instance;
	LiveChartStaticStaticSeriesPrivate * priv;
};

struct _LiveChartStaticStaticSeriesClass {
	GObjectClass parent_class;
};

struct _LiveChartStaticStaticSerie {
	GObject parent_instance;
	LiveChartStaticStaticSeriePrivate * priv;
};

struct _LiveChartStaticStaticSerieClass {
	GObjectClass parent_class;
};

struct _LiveChartStaticNamedValue {
	gchar* name;
	gdouble value;
};

struct _LiveChartStaticStaticValues {
	GeeLinkedList parent_instance;
	LiveChartStaticStaticValuesPrivate * priv;
};

struct _LiveChartStaticStaticValuesClass {
	GeeLinkedListClass parent_class;
};

struct _LiveChartStaticStaticSerieRenderer {
	GObject parent_instance;
	LiveChartStaticStaticSerieRendererPrivate * priv;
	LiveChartBoundingBox bounding_box;
	LiveChartStaticStaticValues* values;
};

struct _LiveChartStaticStaticSerieRendererClass {
	GObjectClass parent_class;
	void (*draw) (LiveChartStaticStaticSerieRenderer* self, cairo_t* ctx, LiveChartConfig* config);
};

struct _LiveChartStaticStaticLine {
	LiveChartStaticStaticSerieRenderer parent_instance;
	LiveChartStaticStaticLinePrivate * priv;
};

struct _LiveChartStaticStaticLineClass {
	LiveChartStaticStaticSerieRendererClass parent_class;
};

struct _LiveChartStaticStaticGrid {
	GObject parent_instance;
	LiveChartStaticStaticGridPrivate * priv;
	LiveChartBoundingBox bounding_box;
};

struct _LiveChartStaticStaticGridClass {
	GObjectClass parent_class;
};

struct _LiveChartStaticStaticPoints {
	GObject parent_instance;
	LiveChartStaticStaticPointsPrivate * priv;
};

struct _LiveChartStaticStaticPointsClass {
	GObjectClass parent_class;
};

VALA_EXTERN gpointer live_chart_config_ref (gpointer instance);
VALA_EXTERN void live_chart_config_unref (gpointer instance);
VALA_EXTERN GParamSpec* live_chart_param_spec_config (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
VALA_EXTERN void live_chart_value_set_config (GValue* value,
                                  gpointer v_object);
VALA_EXTERN void live_chart_value_take_config (GValue* value,
                                   gpointer v_object);
VALA_EXTERN gpointer live_chart_value_get_config (const GValue* value);
VALA_EXTERN GType live_chart_config_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartConfig, live_chart_config_unref)
VALA_EXTERN GType live_chart_bounding_box_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartBoundingBox* live_chart_bounding_box_dup (const LiveChartBoundingBox* self);
VALA_EXTERN void live_chart_bounding_box_free (LiveChartBoundingBox* self);
VALA_EXTERN GType live_chart_drawable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartDrawable, g_object_unref)
VALA_EXTERN GType live_chart_area_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartArea, g_object_unref)
VALA_EXTERN GType live_chart_points_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartPoints, g_object_unref)
VALA_EXTERN LiveChartArea* live_chart_area_new (LiveChartPoints* points,
                                    GdkRGBA* color,
                                    gdouble alpha);
VALA_EXTERN LiveChartArea* live_chart_area_construct (GType object_type,
                                          LiveChartPoints* points,
                                          GdkRGBA* color,
                                          gdouble alpha);
VALA_EXTERN gpointer live_chart_xaxis_ref (gpointer instance);
VALA_EXTERN void live_chart_xaxis_unref (gpointer instance);
VALA_EXTERN GParamSpec* live_chart_param_spec_xaxis (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags);
VALA_EXTERN void live_chart_value_set_xaxis (GValue* value,
                                 gpointer v_object);
VALA_EXTERN void live_chart_value_take_xaxis (GValue* value,
                                  gpointer v_object);
VALA_EXTERN gpointer live_chart_value_get_xaxis (const GValue* value);
VALA_EXTERN GType live_chart_xaxis_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartXAxis, live_chart_xaxis_unref)
VALA_EXTERN gpointer live_chart_labels_ref (gpointer instance);
VALA_EXTERN void live_chart_labels_unref (gpointer instance);
VALA_EXTERN GParamSpec* live_chart_param_spec_labels (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
VALA_EXTERN void live_chart_value_set_labels (GValue* value,
                                  gpointer v_object);
VALA_EXTERN void live_chart_value_take_labels (GValue* value,
                                   gpointer v_object);
VALA_EXTERN gpointer live_chart_value_get_labels (const GValue* value);
VALA_EXTERN GType live_chart_labels_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartLabels, live_chart_labels_unref)
VALA_EXTERN GType live_chart_path_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartPath, g_object_unref)
VALA_EXTERN LiveChartXAxis* live_chart_xaxis_new (void);
VALA_EXTERN LiveChartXAxis* live_chart_xaxis_construct (GType object_type);
VALA_EXTERN gdouble live_chart_xaxis_get_ratio (LiveChartXAxis* self);
VALA_EXTERN gfloat live_chart_xaxis_get_tick_interval (LiveChartXAxis* self);
VALA_EXTERN void live_chart_xaxis_set_tick_interval (LiveChartXAxis* self,
                                         gfloat value);
VALA_EXTERN gfloat live_chart_xaxis_get_tick_length (LiveChartXAxis* self);
VALA_EXTERN void live_chart_xaxis_set_tick_length (LiveChartXAxis* self,
                                       gfloat value);
VALA_EXTERN gboolean live_chart_xaxis_get_visible (LiveChartXAxis* self);
VALA_EXTERN void live_chart_xaxis_set_visible (LiveChartXAxis* self,
                                   gboolean value);
VALA_EXTERN GType live_chart_ticks_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartTicks* live_chart_ticks_dup (const LiveChartTicks* self);
VALA_EXTERN void live_chart_ticks_free (LiveChartTicks* self);
VALA_EXTERN void live_chart_ticks_copy (const LiveChartTicks* self,
                            LiveChartTicks* dest);
VALA_EXTERN void live_chart_ticks_destroy (LiveChartTicks* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (LiveChartTicks, live_chart_ticks_destroy)
VALA_EXTERN void live_chart_ticks_init (LiveChartTicks *self);
VALA_EXTERN gpointer live_chart_yaxis_ref (gpointer instance);
VALA_EXTERN void live_chart_yaxis_unref (gpointer instance);
VALA_EXTERN GParamSpec* live_chart_param_spec_yaxis (const gchar* name,
                                         const gchar* nick,
                                         const gchar* blurb,
                                         GType object_type,
                                         GParamFlags flags);
VALA_EXTERN void live_chart_value_set_yaxis (GValue* value,
                                 gpointer v_object);
VALA_EXTERN void live_chart_value_take_yaxis (GValue* value,
                                  gpointer v_object);
VALA_EXTERN gpointer live_chart_value_get_yaxis (const GValue* value);
VALA_EXTERN GType live_chart_yaxis_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartYAxis, live_chart_yaxis_unref)
VALA_EXTERN LiveChartYAxis* live_chart_yaxis_new (const gchar* unit);
VALA_EXTERN LiveChartYAxis* live_chart_yaxis_construct (GType object_type,
                                            const gchar* unit);
VALA_EXTERN gdouble live_chart_yaxis_get_ratio (LiveChartYAxis* self);
VALA_EXTERN GType live_chart_bounds_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartBounds, g_object_unref)
VALA_EXTERN LiveChartBounds* live_chart_yaxis_get_bounds (LiveChartYAxis* self);
VALA_EXTERN gboolean live_chart_yaxis_update_bounds (LiveChartYAxis* self,
                                         gdouble value);
VALA_EXTERN void live_chart_yaxis_update (LiveChartYAxis* self,
                              gint area_height);
VALA_EXTERN gchar* live_chart_yaxis_get_max_displayed_value (LiveChartYAxis* self);
VALA_EXTERN void live_chart_yaxis_get_ticks (LiveChartYAxis* self,
                                 LiveChartTicks* result);
VALA_EXTERN gfloat live_chart_yaxis_get_ratio_threshold (LiveChartYAxis* self);
VALA_EXTERN void live_chart_yaxis_set_ratio_threshold (LiveChartYAxis* self,
                                           gfloat value);
VALA_EXTERN gfloat live_chart_yaxis_get_tick_interval (LiveChartYAxis* self);
VALA_EXTERN void live_chart_yaxis_set_tick_interval (LiveChartYAxis* self,
                                         gfloat value);
VALA_EXTERN gboolean live_chart_yaxis_get_visible (LiveChartYAxis* self);
VALA_EXTERN void live_chart_yaxis_set_visible (LiveChartYAxis* self,
                                   gboolean value);
VALA_EXTERN gfloat live_chart_yaxis_get_tick_length (LiveChartYAxis* self) G_GNUC_DEPRECATED ;
VALA_EXTERN void live_chart_yaxis_set_tick_length (LiveChartYAxis* self,
                                       gfloat value) G_GNUC_DEPRECATED ;
VALA_EXTERN const gchar* live_chart_yaxis_get_unit (LiveChartYAxis* self);
VALA_EXTERN void live_chart_yaxis_set_unit (LiveChartYAxis* self,
                                const gchar* value);
VALA_EXTERN GType live_chart_background_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartBackground, g_object_unref)
VALA_EXTERN LiveChartBackground* live_chart_background_new (void);
VALA_EXTERN LiveChartBackground* live_chart_background_construct (GType object_type);
VALA_EXTERN void live_chart_background_get_color (LiveChartBackground* self,
                                      GdkRGBA * result);
VALA_EXTERN void live_chart_background_set_color (LiveChartBackground* self,
                                      GdkRGBA * value);
VALA_EXTERN void live_chart_background_get_main_color (LiveChartBackground* self,
                                           GdkRGBA * result) G_GNUC_DEPRECATED ;
VALA_EXTERN void live_chart_background_set_main_color (LiveChartBackground* self,
                                           GdkRGBA * value) G_GNUC_DEPRECATED ;
VALA_EXTERN GType live_chart_serie_renderer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartSerieRenderer, g_object_unref)
VALA_EXTERN GType live_chart_values_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartValues, g_object_unref)
VALA_EXTERN GType live_chart_bar_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartBar, g_object_unref)
VALA_EXTERN LiveChartBar* live_chart_bar_new (LiveChartValues* values);
VALA_EXTERN LiveChartBar* live_chart_bar_construct (GType object_type,
                                        LiveChartValues* values);
VALA_EXTERN GType live_chart_segment_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType live_chart_coord_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartCoord* live_chart_coord_dup (const LiveChartCoord* self);
VALA_EXTERN void live_chart_coord_free (LiveChartCoord* self);
VALA_EXTERN LiveChartSegment* live_chart_segment_dup (const LiveChartSegment* self);
VALA_EXTERN void live_chart_segment_free (LiveChartSegment* self);
VALA_EXTERN GType live_chart_bezier_curve_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartBezierCurve* live_chart_bezier_curve_dup (const LiveChartBezierCurve* self);
VALA_EXTERN void live_chart_bezier_curve_free (LiveChartBezierCurve* self);
VALA_EXTERN GeeList* live_chart_find_intersections_between (LiveChartSegment* segment,
                                                LiveChartBezierCurve* bezier);
VALA_EXTERN LiveChartBounds* live_chart_bounds_new (gdouble lower,
                                        gdouble upper);
VALA_EXTERN LiveChartBounds* live_chart_bounds_construct (GType object_type,
                                              gdouble lower,
                                              gdouble upper);
VALA_EXTERN gboolean live_chart_bounds_has_lower (LiveChartBounds* self);
VALA_EXTERN gboolean live_chart_bounds_has_upper (LiveChartBounds* self);
VALA_EXTERN gboolean live_chart_bounds_update (LiveChartBounds* self,
                                   gdouble value);
VALA_EXTERN gdouble live_chart_bounds_get_lower (LiveChartBounds* self);
VALA_EXTERN gdouble live_chart_bounds_get_upper (LiveChartBounds* self);
VALA_EXTERN GQuark live_chart_chart_error_quark (void);
GType live_chart_chart_error_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType live_chart_chart_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartChart, g_object_unref)
VALA_EXTERN GType live_chart_series_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartSeries, g_object_unref)
VALA_EXTERN LiveChartChart* live_chart_chart_new (LiveChartConfig* config);
VALA_EXTERN LiveChartChart* live_chart_chart_construct (GType object_type,
                                            LiveChartConfig* config);
VALA_EXTERN GType live_chart_serie_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartSerie, g_object_unref)
VALA_EXTERN void live_chart_chart_add_serie (LiveChartChart* self,
                                 LiveChartSerie* serie);
VALA_EXTERN void live_chart_chart_add_value (LiveChartChart* self,
                                 LiveChartSerie* serie,
                                 gdouble value) G_GNUC_DEPRECATED ;
VALA_EXTERN void live_chart_chart_add_value_by_index (LiveChartChart* self,
                                          gint serie_index,
                                          gdouble value,
                                          GError** error) G_GNUC_DEPRECATED ;
VALA_EXTERN void live_chart_chart_add_unaware_timestamp_collection (LiveChartChart* self,
                                                        LiveChartSerie* serie,
                                                        GeeCollection* collection,
                                                        gint timespan_between_value);
VALA_EXTERN void live_chart_chart_add_unaware_timestamp_collection_by_index (LiveChartChart* self,
                                                                 gint serie_index,
                                                                 GeeCollection* collection,
                                                                 gint timespan_between_value,
                                                                 GError** error);
VALA_EXTERN void live_chart_chart_to_png (LiveChartChart* self,
                              const gchar* filename,
                              GError** error);
VALA_EXTERN void live_chart_chart_refresh_every (LiveChartChart* self,
                                     gint ms);
VALA_EXTERN GType live_chart_grid_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartGrid, g_object_unref)
VALA_EXTERN LiveChartGrid* live_chart_chart_get_grid (LiveChartChart* self);
VALA_EXTERN void live_chart_chart_set_grid (LiveChartChart* self,
                                LiveChartGrid* value);
VALA_EXTERN LiveChartBackground* live_chart_chart_get_background (LiveChartChart* self);
VALA_EXTERN void live_chart_chart_set_background (LiveChartChart* self,
                                      LiveChartBackground* value);
VALA_EXTERN GType live_chart_legend_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartLegend, g_object_unref)
VALA_EXTERN LiveChartLegend* live_chart_chart_get_legend (LiveChartChart* self);
VALA_EXTERN void live_chart_chart_set_legend (LiveChartChart* self,
                                  LiveChartLegend* value);
VALA_EXTERN GType live_chart_auto_padding_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType live_chart_padding_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartPadding* live_chart_padding_dup (const LiveChartPadding* self);
VALA_EXTERN void live_chart_padding_free (LiveChartPadding* self);
VALA_EXTERN void live_chart_padding_init (LiveChartPadding *self);
VALA_EXTERN GType live_chart_boundary_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartBoundary* live_chart_boundary_dup (const LiveChartBoundary* self);
VALA_EXTERN void live_chart_boundary_free (LiveChartBoundary* self);
VALA_EXTERN GType live_chart_boundaries_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartBoundaries* live_chart_boundaries_dup (const LiveChartBoundaries* self);
VALA_EXTERN void live_chart_boundaries_free (LiveChartBoundaries* self);
VALA_EXTERN void live_chart_config_boundaries (LiveChartConfig* self,
                                   LiveChartBoundaries* result);
VALA_EXTERN void live_chart_config_configure (LiveChartConfig* self,
                                  cairo_t* ctx,
                                  LiveChartLegend* legend);
VALA_EXTERN LiveChartConfig* live_chart_config_new (void);
VALA_EXTERN LiveChartConfig* live_chart_config_construct (GType object_type);
VALA_EXTERN gint live_chart_config_get_width (LiveChartConfig* self);
VALA_EXTERN void live_chart_config_set_width (LiveChartConfig* self,
                                  gint value);
VALA_EXTERN gint live_chart_config_get_height (LiveChartConfig* self);
VALA_EXTERN void live_chart_config_set_height (LiveChartConfig* self,
                                   gint value);
VALA_EXTERN void live_chart_drawable_draw (LiveChartDrawable* self,
                               cairo_t* ctx,
                               LiveChartConfig* config);
VALA_EXTERN void live_chart_drawable_get_bounding_box (LiveChartDrawable* self,
                                           LiveChartBoundingBox* result);
VALA_EXTERN gboolean live_chart_drawable_get_visible (LiveChartDrawable* self);
VALA_EXTERN void live_chart_drawable_set_visible (LiveChartDrawable* self,
                                      gboolean value);
VALA_EXTERN GType live_chart_colorable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartColorable, g_object_unref)
VALA_EXTERN void live_chart_colorable_get_main_color (LiveChartColorable* self,
                                          GdkRGBA * result) G_GNUC_DEPRECATED ;
VALA_EXTERN void live_chart_colorable_set_main_color (LiveChartColorable* self,
                                          GdkRGBA * value) G_GNUC_DEPRECATED ;
VALA_EXTERN gpointer live_chart_font_ref (gpointer instance);
VALA_EXTERN void live_chart_font_unref (gpointer instance);
VALA_EXTERN GParamSpec* live_chart_param_spec_font (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
VALA_EXTERN void live_chart_value_set_font (GValue* value,
                                gpointer v_object);
VALA_EXTERN void live_chart_value_take_font (GValue* value,
                                 gpointer v_object);
VALA_EXTERN gpointer live_chart_value_get_font (const GValue* value);
VALA_EXTERN GType live_chart_font_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartFont, live_chart_font_unref)
VALA_EXTERN LiveChartFont* live_chart_font_new (void);
VALA_EXTERN LiveChartFont* live_chart_font_construct (GType object_type);
VALA_EXTERN void live_chart_font_configure (LiveChartFont* self,
                                cairo_t* ctx);
VALA_EXTERN guint8 live_chart_font_get_size (LiveChartFont* self);
VALA_EXTERN void live_chart_font_set_size (LiveChartFont* self,
                               guint8 value);
VALA_EXTERN const gchar* live_chart_font_get_face (LiveChartFont* self);
VALA_EXTERN void live_chart_font_set_face (LiveChartFont* self,
                               const gchar* value);
VALA_EXTERN cairo_font_slant_t live_chart_font_get_slant (LiveChartFont* self);
VALA_EXTERN void live_chart_font_set_slant (LiveChartFont* self,
                                cairo_font_slant_t value);
VALA_EXTERN cairo_font_weight_t live_chart_font_get_weight (LiveChartFont* self);
VALA_EXTERN void live_chart_font_set_weight (LiveChartFont* self,
                                 cairo_font_weight_t value);
VALA_EXTERN void live_chart_font_get_color (LiveChartFont* self,
                                GdkRGBA * result);
VALA_EXTERN void live_chart_font_set_color (LiveChartFont* self,
                                GdkRGBA * value);
VALA_EXTERN GType live_chart_point_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType live_chart_timestamped_value_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartTimestampedValue* live_chart_timestamped_value_dup (const LiveChartTimestampedValue* self);
VALA_EXTERN void live_chart_timestamped_value_free (LiveChartTimestampedValue* self);
VALA_EXTERN LiveChartPoint* live_chart_point_dup (const LiveChartPoint* self);
VALA_EXTERN void live_chart_point_free (LiveChartPoint* self);
VALA_EXTERN void live_chart_build_bezier_curve_from_points (LiveChartPoint* previous,
                                                LiveChartPoint* target,
                                                LiveChartBezierCurve* result);
VALA_EXTERN void live_chart_grid_restore (LiveChartGrid* self,
                              cairo_t* ctx);
VALA_EXTERN void live_chart_grid_render_abscissa (LiveChartGrid* self,
                                      cairo_t* ctx,
                                      LiveChartConfig* config);
VALA_EXTERN void live_chart_grid_render_ordinate (LiveChartGrid* self,
                                      cairo_t* ctx,
                                      LiveChartConfig* config);
VALA_EXTERN void live_chart_grid_render_grid (LiveChartGrid* self,
                                  cairo_t* ctx,
                                  LiveChartConfig* config);
VALA_EXTERN void live_chart_grid_render_vgrid (LiveChartGrid* self,
                                   cairo_t* ctx,
                                   LiveChartConfig* config);
VALA_EXTERN void live_chart_grid_render_hgrid (LiveChartGrid* self,
                                   cairo_t* ctx,
                                   LiveChartConfig* config);
VALA_EXTERN void live_chart_grid_update_bounding_box (LiveChartGrid* self,
                                          LiveChartConfig* config);
VALA_EXTERN void live_chart_grid_debug (LiveChartGrid* self,
                            cairo_t* ctx);
VALA_EXTERN LiveChartGrid* live_chart_grid_new (void);
VALA_EXTERN LiveChartGrid* live_chart_grid_construct (GType object_type);
VALA_EXTERN void live_chart_grid_get_main_color (LiveChartGrid* self,
                                     GdkRGBA * result);
VALA_EXTERN void live_chart_grid_set_main_color (LiveChartGrid* self,
                                     GdkRGBA * value);
VALA_EXTERN GType live_chart_intersections_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartIntersections, g_object_unref)
VALA_EXTERN void live_chart_intersections_close (LiveChartIntersections* self,
                                     gdouble x,
                                     gdouble exited_at);
VALA_EXTERN void live_chart_intersections_update (LiveChartIntersections* self,
                                      gdouble x);
VALA_EXTERN gpointer live_chart_region_ref (gpointer instance);
VALA_EXTERN void live_chart_region_unref (gpointer instance);
VALA_EXTERN GParamSpec* live_chart_param_spec_region (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
VALA_EXTERN void live_chart_value_set_region (GValue* value,
                                  gpointer v_object);
VALA_EXTERN void live_chart_value_take_region (GValue* value,
                                   gpointer v_object);
VALA_EXTERN gpointer live_chart_value_get_region (const GValue* value);
VALA_EXTERN GType live_chart_region_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartRegion, live_chart_region_unref)
VALA_EXTERN void live_chart_intersections_open (LiveChartIntersections* self,
                                    LiveChartRegion* region,
                                    gdouble x,
                                    gdouble entered_at);
VALA_EXTERN void live_chart_intersections_open_without_entrypoint (LiveChartIntersections* self,
                                                       LiveChartRegion* region,
                                                       gdouble x);
VALA_EXTERN GType live_chart_intersection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartIntersection, g_object_unref)
VALA_EXTERN void live_chart_intersections_foreach (LiveChartIntersections* self,
                                       GeeForallFunc f,
                                       gpointer f_target);
VALA_EXTERN gboolean live_chart_intersections_has_an_opened_intersection (LiveChartIntersections* self);
VALA_EXTERN LiveChartRegion* live_chart_intersections_get_current_region (LiveChartIntersections* self);
VALA_EXTERN gint live_chart_intersections_size (LiveChartIntersections* self);
VALA_EXTERN LiveChartIntersection* live_chart_intersections_get (LiveChartIntersections* self,
                                                     gint index);
VALA_EXTERN LiveChartIntersections* live_chart_intersections_new (void);
VALA_EXTERN LiveChartIntersections* live_chart_intersections_construct (GType object_type);
VALA_EXTERN LiveChartIntersection* live_chart_intersection_new (LiveChartRegion* region,
                                                    gdouble start_x,
                                                    gdouble entered_at);
VALA_EXTERN LiveChartIntersection* live_chart_intersection_construct (GType object_type,
                                                          LiveChartRegion* region,
                                                          gdouble start_x,
                                                          gdouble entered_at);
VALA_EXTERN LiveChartIntersection* live_chart_intersection_new_without_entry_point (LiveChartRegion* region,
                                                                        gdouble start_x);
VALA_EXTERN LiveChartIntersection* live_chart_intersection_construct_without_entry_point (GType object_type,
                                                                              LiveChartRegion* region,
                                                                              gdouble start_x);
VALA_EXTERN void live_chart_intersection_update (LiveChartIntersection* self,
                                     gdouble x);
VALA_EXTERN void live_chart_intersection_close (LiveChartIntersection* self,
                                    gdouble x,
                                    gdouble exited_at);
VALA_EXTERN gboolean live_chart_intersection_is_open (LiveChartIntersection* self);
VALA_EXTERN gboolean live_chart_intersection_is_closed (LiveChartIntersection* self);
VALA_EXTERN LiveChartRegion* live_chart_intersection_get_region (LiveChartIntersection* self);
VALA_EXTERN void live_chart_intersection_set_region (LiveChartIntersection* self,
                                         LiveChartRegion* value);
VALA_EXTERN gdouble live_chart_intersection_get_start_x (LiveChartIntersection* self);
VALA_EXTERN gdouble live_chart_intersection_get_end_x (LiveChartIntersection* self);
VALA_EXTERN GType live_chart_intersector_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void live_chart_intersector_intersect (LiveChartIntersector* self,
                                       LiveChartIntersections* intersections,
                                       LiveChartPoint* previous,
                                       LiveChartPoint* current,
                                       gconstpointer path);
VALA_EXTERN gpointer live_chart_bezier_intersector_ref (gpointer instance);
VALA_EXTERN void live_chart_bezier_intersector_unref (gpointer instance);
VALA_EXTERN GParamSpec* live_chart_param_spec_bezier_intersector (const gchar* name,
                                                      const gchar* nick,
                                                      const gchar* blurb,
                                                      GType object_type,
                                                      GParamFlags flags);
VALA_EXTERN void live_chart_value_set_bezier_intersector (GValue* value,
                                              gpointer v_object);
VALA_EXTERN void live_chart_value_take_bezier_intersector (GValue* value,
                                               gpointer v_object);
VALA_EXTERN gpointer live_chart_value_get_bezier_intersector (const GValue* value);
VALA_EXTERN GType live_chart_bezier_intersector_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartBezierIntersector, live_chart_bezier_intersector_unref)
VALA_EXTERN LiveChartBezierIntersector* live_chart_bezier_intersector_new (LiveChartRegion* region,
                                                               LiveChartConfig* config);
VALA_EXTERN LiveChartBezierIntersector* live_chart_bezier_intersector_construct (GType object_type,
                                                                     LiveChartRegion* region,
                                                                     LiveChartConfig* config);
VALA_EXTERN LiveChartLabels* live_chart_labels_new (void);
VALA_EXTERN LiveChartLabels* live_chart_labels_construct (GType object_type);
VALA_EXTERN gboolean live_chart_labels_get_visible (LiveChartLabels* self);
VALA_EXTERN void live_chart_labels_set_visible (LiveChartLabels* self,
                                    gboolean value);
VALA_EXTERN void live_chart_labels_get_extents (LiveChartLabels* self,
                                    cairo_text_extents_t * result);
VALA_EXTERN void live_chart_labels_set_extents (LiveChartLabels* self,
                                    cairo_text_extents_t * value);
VALA_EXTERN LiveChartFont* live_chart_labels_get_font (LiveChartLabels* self);
VALA_EXTERN void live_chart_labels_set_font (LiveChartLabels* self,
                                 LiveChartFont* value);
VALA_EXTERN void live_chart_legend_add_legend (LiveChartLegend* self,
                                   LiveChartSerie* serie);
VALA_EXTERN void live_chart_legend_draw (LiveChartLegend* self,
                             cairo_t* ctx,
                             LiveChartConfig* config);
VALA_EXTERN LiveChartLegend* live_chart_legend_construct (GType object_type);
VALA_EXTERN void live_chart_legend_get_main_color (LiveChartLegend* self,
                                       GdkRGBA * result);
VALA_EXTERN void live_chart_legend_set_main_color (LiveChartLegend* self,
                                       GdkRGBA * value);
VALA_EXTERN GType live_chart_horizontal_legend_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartHorizontalLegend, g_object_unref)
VALA_EXTERN void live_chart_horizontal_legend_debug (LiveChartHorizontalLegend* self,
                                         cairo_t* ctx);
VALA_EXTERN LiveChartHorizontalLegend* live_chart_horizontal_legend_new (void);
VALA_EXTERN LiveChartHorizontalLegend* live_chart_horizontal_legend_construct (GType object_type);
VALA_EXTERN GType live_chart_noop_legend_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartNoopLegend, g_object_unref)
VALA_EXTERN LiveChartNoopLegend* live_chart_noop_legend_new (void);
VALA_EXTERN LiveChartNoopLegend* live_chart_noop_legend_construct (GType object_type);
VALA_EXTERN GType live_chart_line_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartLine, g_object_unref)
VALA_EXTERN GType live_chart_line_area_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartLineArea, g_object_unref)
VALA_EXTERN LiveChartLineArea* live_chart_line_area_new (LiveChartValues* values);
VALA_EXTERN LiveChartLineArea* live_chart_line_area_construct (GType object_type,
                                                   LiveChartValues* values);
VALA_EXTERN gdouble live_chart_line_area_get_area_alpha (LiveChartLineArea* self);
VALA_EXTERN void live_chart_line_area_set_area_alpha (LiveChartLineArea* self,
                                          gdouble value);
VALA_EXTERN LiveChartLine* live_chart_line_new (LiveChartValues* values);
VALA_EXTERN LiveChartLine* live_chart_line_construct (GType object_type,
                                          LiveChartValues* values);
VALA_EXTERN LiveChartPoints* live_chart_line_draw_line (LiveChartLine* self,
                                            LiveChartPoints* points,
                                            cairo_t* ctx,
                                            LiveChartConfig* config);
VALA_EXTERN GType live_chart_max_bound_line_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartMaxBoundLine, g_object_unref)
VALA_EXTERN LiveChartMaxBoundLine* live_chart_max_bound_line_new (void);
VALA_EXTERN LiveChartMaxBoundLine* live_chart_max_bound_line_construct (GType object_type);
VALA_EXTERN LiveChartMaxBoundLine* live_chart_max_bound_line_new_from_serie (LiveChartSerie* serie);
VALA_EXTERN LiveChartMaxBoundLine* live_chart_max_bound_line_construct_from_serie (GType object_type,
                                                                       LiveChartSerie* serie);
VALA_EXTERN GType live_chart_min_bound_line_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartMinBoundLine, g_object_unref)
VALA_EXTERN LiveChartMinBoundLine* live_chart_min_bound_line_new (LiveChartValues* values);
VALA_EXTERN LiveChartMinBoundLine* live_chart_min_bound_line_construct (GType object_type,
                                                            LiveChartValues* values);
VALA_EXTERN LiveChartMinBoundLine* live_chart_min_bound_line_new_from_serie (LiveChartSerie* serie);
VALA_EXTERN LiveChartMinBoundLine* live_chart_min_bound_line_construct_from_serie (GType object_type,
                                                                       LiveChartSerie* serie);
VALA_EXTERN GType live_chart_dash_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartDash* live_chart_dash_dup (const LiveChartDash* self);
VALA_EXTERN void live_chart_dash_free (LiveChartDash* self);
VALA_EXTERN void live_chart_dash_copy (const LiveChartDash* self,
                           LiveChartDash* dest);
VALA_EXTERN void live_chart_dash_destroy (LiveChartDash* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (LiveChartDash, live_chart_dash_destroy)
VALA_EXTERN void live_chart_dash_init (LiveChartDash *self);
VALA_EXTERN LiveChartPath* live_chart_path_new (gdouble width,
                                    GdkRGBA* color,
                                    gboolean visible,
                                    LiveChartDash* dash);
VALA_EXTERN LiveChartPath* live_chart_path_construct (GType object_type,
                                          gdouble width,
                                          GdkRGBA* color,
                                          gboolean visible,
                                          LiveChartDash* dash);
VALA_EXTERN void live_chart_path_configure (LiveChartPath* self,
                                cairo_t* ctx);
VALA_EXTERN gdouble live_chart_path_get_width (LiveChartPath* self);
VALA_EXTERN void live_chart_path_set_width (LiveChartPath* self,
                                gdouble value);
VALA_EXTERN void live_chart_path_get_color (LiveChartPath* self,
                                GdkRGBA * result);
VALA_EXTERN void live_chart_path_set_color (LiveChartPath* self,
                                GdkRGBA * value);
VALA_EXTERN gboolean live_chart_path_get_visible (LiveChartPath* self);
VALA_EXTERN void live_chart_path_set_visible (LiveChartPath* self,
                                  gboolean value);
VALA_EXTERN LiveChartPoints* live_chart_points_new (void);
VALA_EXTERN LiveChartPoints* live_chart_points_construct (GType object_type);
VALA_EXTERN void live_chart_points_add (LiveChartPoints* self,
                            LiveChartPoint* point);
VALA_EXTERN void live_chart_points_get (LiveChartPoints* self,
                            gint at,
                            LiveChartPoint* result);
VALA_EXTERN void live_chart_points_after (LiveChartPoints* self,
                              gint at,
                              LiveChartPoint* result);
VALA_EXTERN void live_chart_points_first (LiveChartPoints* self,
                              LiveChartPoint* result);
VALA_EXTERN void live_chart_points_last (LiveChartPoints* self,
                             LiveChartPoint* result);
VALA_EXTERN LiveChartPoints* live_chart_points_create (LiveChartValues* values,
                                           LiveChartConfig* config);
VALA_EXTERN LiveChartBounds* live_chart_points_get_bounds (LiveChartPoints* self);
VALA_EXTERN void live_chart_points_set_bounds (LiveChartPoints* self,
                                   LiveChartBounds* value);
VALA_EXTERN gint live_chart_points_get_size (LiveChartPoints* self);
VALA_EXTERN gdouble live_chart_points_get_realtime_delta (LiveChartPoints* self);
VALA_EXTERN void live_chart_points_set_realtime_delta (LiveChartPoints* self,
                                           gdouble value);
VALA_EXTERN GType live_chart_region_handle_status_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType live_chart_region_handle_result_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartRegionHandleResult* live_chart_region_handle_result_dup (const LiveChartRegionHandleResult* self);
VALA_EXTERN void live_chart_region_handle_result_free (LiveChartRegionHandleResult* self);
VALA_EXTERN LiveChartRegion* live_chart_region_new (gdouble floor,
                                        gdouble ceil);
VALA_EXTERN LiveChartRegion* live_chart_region_construct (GType object_type,
                                              gdouble floor,
                                              gdouble ceil);
VALA_EXTERN LiveChartRegion* live_chart_region_new_between (gdouble above,
                                                gdouble below);
VALA_EXTERN LiveChartRegion* live_chart_region_construct_between (GType object_type,
                                                      gdouble above,
                                                      gdouble below);
VALA_EXTERN LiveChartRegion* live_chart_region_with_line_color (LiveChartRegion* self,
                                                    GdkRGBA* color);
VALA_EXTERN LiveChartRegion* live_chart_region_with_area_color (LiveChartRegion* self,
                                                    GdkRGBA* color);
VALA_EXTERN gboolean live_chart_region_has_at_least_one_point_within (LiveChartRegion* self,
                                                          LiveChartPoint* previous,
                                                          LiveChartPoint* current);
VALA_EXTERN void live_chart_region_handle (LiveChartRegion* self,
                               LiveChartIntersections* intersections,
                               LiveChartPoint* previous,
                               LiveChartPoint* current,
                               LiveChartGetIntersection get_intersection,
                               gpointer get_intersection_target);
VALA_EXTERN void live_chart_region_get_line_color (LiveChartRegion* self,
                                       GdkRGBA * result);
VALA_EXTERN void live_chart_region_set_line_color (LiveChartRegion* self,
                                       GdkRGBA * value);
VALA_EXTERN void live_chart_region_get_area_color (LiveChartRegion* self,
                                       GdkRGBA * result);
VALA_EXTERN void live_chart_region_set_area_color (LiveChartRegion* self,
                                       GdkRGBA * value);
VALA_EXTERN LiveChartSerie* live_chart_serie_new (const gchar* name,
                                      LiveChartSerieRenderer* renderer);
VALA_EXTERN LiveChartSerie* live_chart_serie_construct (GType object_type,
                                            const gchar* name,
                                            LiveChartSerieRenderer* renderer);
VALA_EXTERN void live_chart_serie_add (LiveChartSerie* self,
                           gdouble value);
VALA_EXTERN void live_chart_serie_add_with_timestamp (LiveChartSerie* self,
                                          gdouble value,
                                          gint64 timestamp);
VALA_EXTERN void live_chart_serie_set_main_color (LiveChartSerie* self,
                                      GdkRGBA* color) G_GNUC_DEPRECATED ;
VALA_EXTERN void live_chart_serie_get_main_color (LiveChartSerie* self,
                                      GdkRGBA* result) G_GNUC_DEPRECATED ;
VALA_EXTERN LiveChartValues* live_chart_serie_get_values (LiveChartSerie* self);
VALA_EXTERN void live_chart_serie_clear (LiveChartSerie* self);
VALA_EXTERN const gchar* live_chart_serie_get_name (LiveChartSerie* self);
VALA_EXTERN void live_chart_serie_set_name (LiveChartSerie* self,
                                const gchar* value);
VALA_EXTERN LiveChartPath* live_chart_serie_get_line (LiveChartSerie* self);
VALA_EXTERN void live_chart_serie_set_line (LiveChartSerie* self,
                                LiveChartPath* value);
VALA_EXTERN LiveChartSerieRenderer* live_chart_serie_renderer_construct (GType object_type);
VALA_EXTERN LiveChartValues* live_chart_serie_renderer_get_values (LiveChartSerieRenderer* self);
VALA_EXTERN void live_chart_serie_renderer_draw (LiveChartSerieRenderer* self,
                                     cairo_t* ctx,
                                     LiveChartConfig* config);
VALA_EXTERN void live_chart_serie_renderer_debug (LiveChartSerieRenderer* self,
                                      cairo_t* ctx);
VALA_EXTERN gboolean live_chart_serie_renderer_is_out_of_area (LiveChartSerieRenderer* self,
                                                   LiveChartPoint* point);
VALA_EXTERN void live_chart_serie_renderer_get_main_color (LiveChartSerieRenderer* self,
                                               GdkRGBA * result) G_GNUC_DEPRECATED ;
VALA_EXTERN void live_chart_serie_renderer_set_main_color (LiveChartSerieRenderer* self,
                                               GdkRGBA * value) G_GNUC_DEPRECATED ;
VALA_EXTERN LiveChartPath* live_chart_serie_renderer_get_line (LiveChartSerieRenderer* self);
VALA_EXTERN void live_chart_serie_renderer_set_line (LiveChartSerieRenderer* self,
                                         LiveChartPath* value);
VALA_EXTERN LiveChartSeries* live_chart_series_new (LiveChartChart* chart);
VALA_EXTERN LiveChartSeries* live_chart_series_construct (GType object_type,
                                              LiveChartChart* chart);
VALA_EXTERN LiveChartSerie* live_chart_series_register (LiveChartSeries* self,
                                            LiveChartSerie* serie);
VALA_EXTERN LiveChartSerie* live_chart_series_get (LiveChartSeries* self,
                                       gint index,
                                       GError** error);
VALA_EXTERN LiveChartSerie* live_chart_series_get_by_name (LiveChartSeries* self,
                                               const gchar* name,
                                               GError** error);
VALA_EXTERN GeeIterator* live_chart_series_iterator (LiveChartSeries* self);
VALA_EXTERN GType live_chart_smooth_line_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartSmoothLine, g_object_unref)
VALA_EXTERN GType live_chart_smooth_line_area_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartSmoothLineArea, g_object_unref)
VALA_EXTERN LiveChartSmoothLineArea* live_chart_smooth_line_area_new (LiveChartValues* values);
VALA_EXTERN LiveChartSmoothLineArea* live_chart_smooth_line_area_construct (GType object_type,
                                                                LiveChartValues* values);
VALA_EXTERN void live_chart_smooth_line_area_draw_regions_on_area (LiveChartSmoothLineArea* self,
                                                       cairo_t* ctx,
                                                       LiveChartConfig* config);
VALA_EXTERN gdouble live_chart_smooth_line_area_get_area_alpha (LiveChartSmoothLineArea* self);
VALA_EXTERN void live_chart_smooth_line_area_set_area_alpha (LiveChartSmoothLineArea* self,
                                                 gdouble value);
VALA_EXTERN LiveChartSmoothLine* live_chart_smooth_line_new (LiveChartValues* values);
VALA_EXTERN LiveChartSmoothLine* live_chart_smooth_line_construct (GType object_type,
                                                       LiveChartValues* values);
VALA_EXTERN cairo_path_t* live_chart_smooth_line_draw_smooth_line (LiveChartSmoothLine* self,
                                                       LiveChartPoints* points,
                                                       cairo_t* ctx,
                                                       LiveChartConfig* config);
VALA_EXTERN void live_chart_smooth_line_draw_regions_on_line (LiveChartSmoothLine* self,
                                                  cairo_t* ctx,
                                                  LiveChartConfig* config);
VALA_EXTERN LiveChartRegion* live_chart_smooth_line_get_region (LiveChartSmoothLine* self);
VALA_EXTERN void live_chart_smooth_line_set_region (LiveChartSmoothLine* self,
                                        LiveChartRegion* value);
VALA_EXTERN GType live_chart_threshold_line_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartThresholdLine, g_object_unref)
VALA_EXTERN LiveChartThresholdLine* live_chart_threshold_line_new (gdouble value);
VALA_EXTERN LiveChartThresholdLine* live_chart_threshold_line_construct (GType object_type,
                                                             gdouble value);
VALA_EXTERN gdouble live_chart_threshold_line_get_value (LiveChartThresholdLine* self);
VALA_EXTERN void live_chart_threshold_line_set_value (LiveChartThresholdLine* self,
                                          gdouble value);
VALA_EXTERN gfloat live_chart_cap (gfloat value);
VALA_EXTERN gboolean live_chart_has_fractional_part (gfloat value);
VALA_EXTERN gchar* live_chart_format_for_y_axis (const gchar* unit,
                                     gfloat value);
VALA_EXTERN GeeList* live_chart_golden_divisors (gfloat value);
VALA_EXTERN LiveChartValues* live_chart_values_new (gint buffer_size);
VALA_EXTERN LiveChartValues* live_chart_values_construct (GType object_type,
                                              gint buffer_size);
VALA_EXTERN void live_chart_values_add (LiveChartValues* self,
                            LiveChartTimestampedValue* value);
VALA_EXTERN LiveChartBounds* live_chart_values_get_bounds (LiveChartValues* self);
VALA_EXTERN void live_chart_values_set_bounds (LiveChartValues* self,
                                   LiveChartBounds* value);
VALA_EXTERN GType live_chart_static_static_chart_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartStaticStaticChart, g_object_unref)
VALA_EXTERN GType live_chart_static_static_series_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartStaticStaticSeries, g_object_unref)
VALA_EXTERN LiveChartStaticStaticChart* live_chart_static_static_chart_new (LiveChartConfig* config);
VALA_EXTERN LiveChartStaticStaticChart* live_chart_static_static_chart_construct (GType object_type,
                                                                      LiveChartConfig* config);
VALA_EXTERN void live_chart_static_static_chart_set_categories (LiveChartStaticStaticChart* self,
                                                    GeeArrayList* categories);
VALA_EXTERN GType live_chart_static_static_serie_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartStaticStaticSerie, g_object_unref)
VALA_EXTERN void live_chart_static_static_chart_add_serie (LiveChartStaticStaticChart* self,
                                               LiveChartStaticStaticSerie* serie);
VALA_EXTERN GType live_chart_static_static_grid_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartStaticStaticGrid, g_object_unref)
VALA_EXTERN LiveChartStaticStaticGrid* live_chart_static_static_chart_get_grid (LiveChartStaticStaticChart* self);
VALA_EXTERN void live_chart_static_static_chart_set_grid (LiveChartStaticStaticChart* self,
                                              LiveChartStaticStaticGrid* value);
VALA_EXTERN LiveChartBackground* live_chart_static_static_chart_get_background (LiveChartStaticStaticChart* self);
VALA_EXTERN void live_chart_static_static_chart_set_background (LiveChartStaticStaticChart* self,
                                                    LiveChartBackground* value);
VALA_EXTERN LiveChartLegend* live_chart_static_static_chart_get_legend (LiveChartStaticStaticChart* self);
VALA_EXTERN void live_chart_static_static_chart_set_legend (LiveChartStaticStaticChart* self,
                                                LiveChartLegend* value);
VALA_EXTERN LiveChartStaticStaticSeries* live_chart_static_static_series_new (LiveChartStaticStaticChart* chart);
VALA_EXTERN LiveChartStaticStaticSeries* live_chart_static_static_series_construct (GType object_type,
                                                                        LiveChartStaticStaticChart* chart);
VALA_EXTERN LiveChartStaticStaticSerie* live_chart_static_static_series_register (LiveChartStaticStaticSeries* self,
                                                                      LiveChartStaticStaticSerie* serie);
VALA_EXTERN LiveChartStaticStaticSerie* live_chart_static_static_series_get (LiveChartStaticStaticSeries* self,
                                                                 gint index,
                                                                 GError** error);
VALA_EXTERN LiveChartStaticStaticSerie* live_chart_static_static_series_get_by_name (LiveChartStaticStaticSeries* self,
                                                                         const gchar* name,
                                                                         GError** error);
VALA_EXTERN GeeIterator* live_chart_static_static_series_iterator (LiveChartStaticStaticSeries* self);
VALA_EXTERN GType live_chart_static_static_serie_renderer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartStaticStaticSerieRenderer, g_object_unref)
VALA_EXTERN LiveChartStaticStaticSerie* live_chart_static_static_serie_new (const gchar* name,
                                                                LiveChartStaticStaticSerieRenderer* renderer);
VALA_EXTERN LiveChartStaticStaticSerie* live_chart_static_static_serie_construct (GType object_type,
                                                                      const gchar* name,
                                                                      LiveChartStaticStaticSerieRenderer* renderer);
VALA_EXTERN void live_chart_static_static_serie_add (LiveChartStaticStaticSerie* self,
                                         const gchar* name,
                                         gdouble value);
VALA_EXTERN GType live_chart_static_static_values_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartStaticStaticValues, g_object_unref)
VALA_EXTERN LiveChartStaticStaticValues* live_chart_static_static_serie_get_values (LiveChartStaticStaticSerie* self);
VALA_EXTERN void live_chart_static_static_serie_clear (LiveChartStaticStaticSerie* self);
VALA_EXTERN const gchar* live_chart_static_static_serie_get_name (LiveChartStaticStaticSerie* self);
VALA_EXTERN void live_chart_static_static_serie_set_name (LiveChartStaticStaticSerie* self,
                                              const gchar* value);
VALA_EXTERN LiveChartPath* live_chart_static_static_serie_get_line (LiveChartStaticStaticSerie* self);
VALA_EXTERN void live_chart_static_static_serie_set_line (LiveChartStaticStaticSerie* self,
                                              LiveChartPath* value);
VALA_EXTERN GType live_chart_static_named_value_get_type (void) G_GNUC_CONST ;
VALA_EXTERN LiveChartStaticNamedValue* live_chart_static_named_value_dup (const LiveChartStaticNamedValue* self);
VALA_EXTERN void live_chart_static_named_value_free (LiveChartStaticNamedValue* self);
VALA_EXTERN void live_chart_static_named_value_copy (const LiveChartStaticNamedValue* self,
                                         LiveChartStaticNamedValue* dest);
VALA_EXTERN void live_chart_static_named_value_destroy (LiveChartStaticNamedValue* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (LiveChartStaticNamedValue, live_chart_static_named_value_destroy)
VALA_EXTERN LiveChartStaticStaticValues* live_chart_static_static_values_new (void);
VALA_EXTERN LiveChartStaticStaticValues* live_chart_static_static_values_construct (GType object_type);
VALA_EXTERN void live_chart_static_static_values_add (LiveChartStaticStaticValues* self,
                                          LiveChartStaticNamedValue* value);
VALA_EXTERN LiveChartBounds* live_chart_static_static_values_get_bounds (LiveChartStaticStaticValues* self);
VALA_EXTERN void live_chart_static_static_values_set_bounds (LiveChartStaticStaticValues* self,
                                                 LiveChartBounds* value);
VALA_EXTERN LiveChartStaticStaticSerieRenderer* live_chart_static_static_serie_renderer_construct (GType object_type);
VALA_EXTERN LiveChartStaticStaticValues* live_chart_static_static_serie_renderer_get_values (LiveChartStaticStaticSerieRenderer* self);
VALA_EXTERN void live_chart_static_static_serie_renderer_draw (LiveChartStaticStaticSerieRenderer* self,
                                                   cairo_t* ctx,
                                                   LiveChartConfig* config);
VALA_EXTERN void live_chart_static_static_serie_renderer_debug (LiveChartStaticStaticSerieRenderer* self,
                                                    cairo_t* ctx);
VALA_EXTERN gboolean live_chart_static_static_serie_renderer_is_out_of_area (LiveChartStaticStaticSerieRenderer* self,
                                                                 LiveChartPoint* point);
VALA_EXTERN LiveChartPath* live_chart_static_static_serie_renderer_get_line (LiveChartStaticStaticSerieRenderer* self);
VALA_EXTERN void live_chart_static_static_serie_renderer_set_line (LiveChartStaticStaticSerieRenderer* self,
                                                       LiveChartPath* value);
VALA_EXTERN GType live_chart_static_static_line_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartStaticStaticLine, g_object_unref)
VALA_EXTERN LiveChartStaticStaticLine* live_chart_static_static_line_new (LiveChartStaticStaticValues* values);
VALA_EXTERN LiveChartStaticStaticLine* live_chart_static_static_line_construct (GType object_type,
                                                                    LiveChartStaticStaticValues* values);
VALA_EXTERN GType live_chart_static_static_points_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (LiveChartStaticStaticPoints, g_object_unref)
VALA_EXTERN void live_chart_static_static_line_draw_line (LiveChartStaticStaticLine* self,
                                              LiveChartStaticStaticPoints* points,
                                              cairo_t* ctx,
                                              LiveChartConfig* config);
VALA_EXTERN void live_chart_static_static_grid_restore (LiveChartStaticStaticGrid* self,
                                            cairo_t* ctx);
VALA_EXTERN void live_chart_static_static_grid_render_abscissa (LiveChartStaticStaticGrid* self,
                                                    cairo_t* ctx,
                                                    LiveChartConfig* config);
VALA_EXTERN void live_chart_static_static_grid_render_ordinate (LiveChartStaticStaticGrid* self,
                                                    cairo_t* ctx,
                                                    LiveChartConfig* config);
VALA_EXTERN void live_chart_static_static_grid_render_grid (LiveChartStaticStaticGrid* self,
                                                cairo_t* ctx,
                                                LiveChartConfig* config);
VALA_EXTERN void live_chart_static_static_grid_render_vgrid (LiveChartStaticStaticGrid* self,
                                                 cairo_t* ctx,
                                                 LiveChartConfig* config);
VALA_EXTERN void live_chart_static_static_grid_render_hgrid (LiveChartStaticStaticGrid* self,
                                                 cairo_t* ctx,
                                                 LiveChartConfig* config);
VALA_EXTERN void live_chart_static_static_grid_update_bounding_box (LiveChartStaticStaticGrid* self,
                                                        LiveChartConfig* config);
VALA_EXTERN void live_chart_static_static_grid_debug (LiveChartStaticStaticGrid* self,
                                          cairo_t* ctx);
VALA_EXTERN LiveChartStaticStaticGrid* live_chart_static_static_grid_new (void);
VALA_EXTERN LiveChartStaticStaticGrid* live_chart_static_static_grid_construct (GType object_type);
VALA_EXTERN void live_chart_static_static_grid_get_main_color (LiveChartStaticStaticGrid* self,
                                                   GdkRGBA * result);
VALA_EXTERN void live_chart_static_static_grid_set_main_color (LiveChartStaticStaticGrid* self,
                                                   GdkRGBA * value);
VALA_EXTERN LiveChartStaticStaticPoints* live_chart_static_static_points_new (void);
VALA_EXTERN LiveChartStaticStaticPoints* live_chart_static_static_points_construct (GType object_type);
VALA_EXTERN void live_chart_static_static_points_add (LiveChartStaticStaticPoints* self,
                                          LiveChartPoint* point);
VALA_EXTERN void live_chart_static_static_points_get (LiveChartStaticStaticPoints* self,
                                          gint at,
                                          LiveChartPoint* result);
VALA_EXTERN void live_chart_static_static_points_after (LiveChartStaticStaticPoints* self,
                                            gint at,
                                            LiveChartPoint* result);
VALA_EXTERN void live_chart_static_static_points_first (LiveChartStaticStaticPoints* self,
                                            LiveChartPoint* result);
VALA_EXTERN void live_chart_static_static_points_last (LiveChartStaticStaticPoints* self,
                                           LiveChartPoint* result);
VALA_EXTERN LiveChartStaticStaticPoints* live_chart_static_static_points_create (LiveChartStaticStaticValues* values,
                                                                     LiveChartConfig* config);
VALA_EXTERN LiveChartBounds* live_chart_static_static_points_get_bounds (LiveChartStaticStaticPoints* self);
VALA_EXTERN void live_chart_static_static_points_set_bounds (LiveChartStaticStaticPoints* self,
                                                 LiveChartBounds* value);
VALA_EXTERN gint live_chart_static_static_points_get_size (LiveChartStaticStaticPoints* self);
VALA_EXTERN gdouble live_chart_static_static_points_get_realtime_delta (LiveChartStaticStaticPoints* self);
VALA_EXTERN void live_chart_static_static_points_set_realtime_delta (LiveChartStaticStaticPoints* self,
                                                         gdouble value);

G_END_DECLS

#endif
