Compare commits

...

19 Commits

Author SHA1 Message Date
pavanvpatil f438835200 need to apply kmeans 2 2022-10-28 22:12:22 +05:30
pavanvpatil ab3ec3a565 Merge branch 'kmeans' of https://github.com/karthikmurakonda/iPDC-suite into kmeans 2022-10-28 19:32:37 +05:30
pavanvpatil b10a48516c AlGO DONE FOR GAUSSIAN 2022-10-28 19:32:32 +05:30
karthikmurakonda b8feaae7d5 bugfix mutexs 2022-10-28 19:19:35 +05:30
karthikmurakonda ad4af0adac bug fixes 2022-10-28 19:14:35 +05:30
karthikmurakonda 04af82224d fixed merge error 2022-10-28 18:33:25 +05:30
karthikmurakonda b209e34d1a Merge branch 'master' into kmeans 2022-10-28 18:25:33 +05:30
karthikmurakonda f9cdb4a5b6 updated utility tools(unrefractored) 2022-10-28 18:18:01 +05:30
pavanvpatil 25dfbc2444 phasor format 2022-10-28 18:08:39 +05:30
pavanvpatil 04f81da3d4 DTW for 1 2 2022-10-28 17:37:13 +05:30
karthikmurakonda e48bdfe4c6 checking frequency format (unrefractored) 2022-10-27 15:44:53 +05:30
karthikmurakonda b44f55a704 PMU:Bugfix: incorrect data sent when frequency set to floating point 2022-10-27 15:44:12 +05:30
karthikmurakonda 1a80ce316d placed mutex lock on tsb iin map_vis 2022-10-26 11:04:32 +05:30
pavanvpatil a9b3081782 bug fix in map_vis 2022-10-25 22:36:54 +05:30
karthikmurakonda 593a3ec5a0 graph drawing(unrefractored) 2022-10-25 21:48:11 +05:30
karthikmurakonda e88e009376 graph drawing(unrefractored) 2022-10-25 21:43:07 +05:30
karthikmurakonda 5886069a3d Basic model of line chart 2022-10-20 14:26:58 +05:30
karthikmurakonda c4b2a05020 added live-chart library 2022-10-19 16:55:48 +05:30
karthikmurakonda bf76be3e97 added interactable buttons 2022-10-19 16:30:42 +05:30
186 changed files with 55382 additions and 255 deletions

View File

@ -646,13 +646,14 @@ void generate_data_frame()
else /* Insert Floating point Frequency & DFrequency values in data frame */
{
/* For rendom values of FREQ & DFREQ */
freq_f = (rand() % 5 + 1)*100;
li2c(freq_f, df_temp_1);
freqF = (rand() % 5 + 1)*100;
f2c(freqF, df_temp_1);
B_copy(data_frm, df_temp_1, indx, 4);
indx = indx + 4;
dfreq_f = (rand() % 5 + 1)*0.00639;
i2c(dfreq_f, df_temp_1);
float dfreqF = 0;
dfreqF = (rand() % 5 + 1)*0.00639;
i2c(dfreqF, df_temp_1);
B_copy(data_frm, df_temp_1, indx, 4);
indx = indx + 4;
}

Binary file not shown.

View File

@ -46,8 +46,8 @@ FILE6 = iPDC.desktop
CC = gcc
LIBS = -lpthread
LDLIBS=`pkg-config --cflags --libs gtk+-3.0 osmgpsmap-1.0`
CFLAGS=-g -I./inc -fcommon `pkg-config --cflags --libs gtk+-3.0 osmgpsmap-1.0`
LDLIBS=`pkg-config --cflags --libs gtk+-3.0 osmgpsmap-1.0 gee-0.8` lib/liblivechart.so lib/liblivechart_static.a -Wl,--rpath=./lib
CFLAGS=-g -I./inc -I./lib -fcommon `pkg-config --cflags --libs gtk+-3.0 osmgpsmap-1.0 gee-0.8`
PROGRAM = iPDC
SOURCE_FILES = $(wildcard src/*.c)

View File

@ -1,92 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.2 -->
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkAdjustment" id="adjustment1">
<property name="upper">100</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
<object class="GtkWindow" id="util_window">
<property name="width_request">800</property>
<property name="height_request">600</property>
<property name="can_focus">False</property>
<child type="titlebar">
<placeholder/>
</child>
<property name="width-request">800</property>
<property name="height-request">700</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLayout" id="util_layout">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<property name="margin_bottom">3</property>
<property name="can-focus">False</property>
<property name="margin-left">10</property>
<property name="margin-right">10</property>
<property name="margin-bottom">3</property>
<child>
<object class="GtkMenuBar" id="util_menubar">
<property name="width_request">800</property>
<property name="width-request">800</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can_default">True</property>
<property name="resize_mode">immediate</property>
<property name="can-focus">False</property>
<property name="can-default">True</property>
<property name="resize-mode">immediate</property>
<child>
<object class="GtkMenuItem">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<property name="use-underline">True</property>
<child type="submenu">
<object class="GtkMenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-new</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-save</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-save-as</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
</object>
@ -96,47 +88,47 @@
<child>
<object class="GtkMenuItem">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use_underline">True</property>
<property name="use-underline">True</property>
<child type="submenu">
<object class="GtkMenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-cut</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-paste</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
</object>
@ -146,28 +138,28 @@
<child>
<object class="GtkMenuItem">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">_View</property>
<property name="use_underline">True</property>
<property name="use-underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<property name="use-underline">True</property>
<child type="submenu">
<object class="GtkMenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can-focus">False</property>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
</object>
@ -177,88 +169,355 @@
</object>
</child>
<child>
<!-- n-columns=3 n-rows=2 -->
<object class="GtkGrid">
<property name="width_request">100</property>
<property name="height_request">80</property>
<property name="width-request">100</property>
<property name="height-request">80</property>
<property name="visible">True</property>
<property name="app_paintable">True</property>
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="column_spacing">6</property>
<property name="app-paintable">True</property>
<property name="can-focus">False</property>
<property name="margin-top">10</property>
<property name="column-spacing">6</property>
<child>
<!-- n-columns=1 n-rows=9 -->
<object class="GtkGrid">
<property name="width_request">80</property>
<property name="width-request">80</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="row_spacing">35</property>
<property name="can-focus">False</property>
<property name="row-spacing">35</property>
<child>
<object class="GtkButton" id="voltage">
<property name="label" translatable="yes">Voltage</property>
<property name="label" translatable="yes">Voltage Magnitude</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="current">
<property name="label" translatable="yes">Current</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="freq">
<property name="label" translatable="yes">Frequency</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="attack_detection">
<property name="label" translatable="yes">Attack Detection</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="algorithm">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item id="0" translatable="yes">Gaussian</item>
<item id="1" translatable="yes">kmeans</item>
<item translatable="yes">DTW</item>
</items>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">5</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="dimmension">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item id="0" translatable="yes">frequency only</item>
<item id="1" translatable="yes">voltage only</item>
<item id="2" translatable="yes">frequency,voltage</item>
</items>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">7</property>
</packing>
</child>
<child>
<object class="GtkButton" id="dfreq">
<property name="label" translatable="yes">dfreq</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="algo_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Algorithm</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="dimm_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Dimmensions</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">6</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLayout" id="map_layout">
<property name="width_request">600</property>
<property name="height_request">500</property>
<property name="width-request">600</property>
<property name="height-request">500</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLayout" id="graph_layout">
<property name="height-request">150</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Legend</property>
<property name="use-markup">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkColorButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="title" translatable="yes">red</property>
<property name="rgba">rgb(238,29,0)</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="legend_label">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Attack/Event</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkColorButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="rgba">rgb(0,255,0)</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Normal</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="shadow-type">in</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="graph_legend1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Graph Legend</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<!-- n-columns=2 n-rows=1 -->
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkColorButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<property name="rgba">rgb(255,120,0)</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Pmu</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkColorButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkColorButton">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">3</property>
</packing>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">2</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="y">30</property>

View File

@ -0,0 +1,302 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkWindow" id="util_window">
<property name="width-request">800</property>
<property name="height-request">600</property>
<property name="can-focus">False</property>
<child>
<object class="GtkLayout" id="util_layout">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">10</property>
<property name="margin-right">10</property>
<property name="margin-bottom">3</property>
<child>
<object class="GtkMenuBar" id="util_menubar">
<property name="width-request">800</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="can-default">True</property>
<property name="resize-mode">immediate</property>
<child>
<object class="GtkMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use-underline">True</property>
<child type="submenu">
<object class="GtkMenu">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-new</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-open</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-save</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-save-as</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-quit</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">_Edit</property>
<property name="use-underline">True</property>
<child type="submenu">
<object class="GtkMenu">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-cut</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-copy</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-paste</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">_View</property>
<property name="use-underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">_Help</property>
<property name="use-underline">True</property>
<child type="submenu">
<object class="GtkMenu">
<property name="visible">True</property>
<property name="can-focus">False</property>
<child>
<object class="GtkImageMenuItem">
<property name="label">gtk-about</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="use-underline">True</property>
<property name="use-stock">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<!-- n-columns=3 n-rows=3 -->
<object class="GtkGrid">
<property name="width-request">100</property>
<property name="height-request">80</property>
<property name="visible">True</property>
<property name="app-paintable">True</property>
<property name="can-focus">False</property>
<property name="margin-top">10</property>
<property name="column-spacing">6</property>
<child>
<!-- n-columns=1 n-rows=5 -->
<object class="GtkGrid">
<property name="width-request">80</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="row-spacing">35</property>
<child>
<object class="GtkButton" id="voltage">
<property name="label" translatable="yes">Voltage</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="freq">
<property name="label" translatable="yes">Frequency</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="attack_detection">
<property name="label" translatable="yes">Attack Detection</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="algorithm">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item id="0" translatable="yes">kmeans</item>
<item id="1" translatable="yes">simple</item>
</items>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="dimmension">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="active">0</property>
<items>
<item id="0" translatable="yes">frequency only</item>
<item id="1" translatable="yes">frequency,voltage</item>
<item id="2" translatable="yes">voltage</item>
</items>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">4</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLayout" id="map_layout">
<property name="width-request">600</property>
<property name="height-request">500</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="y">30</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@ -1,8 +1,9 @@
/* pavan changes */
#include <time.h>
#include <gtk/gtk.h>
/* variables declared of attack_detect function */
/* function declared */
gboolean attack_detect(struct data_frame *df);
gboolean attack_detect_freq(struct data_frame *df);
gboolean attack_detect_vol(struct data_frame *df);
gboolean attack_detect_freq_vol(struct data_frame *df);
/* pavan changes */

View File

@ -1,3 +1,5 @@
/*pavan changes*/
void DTWdistance(struct data_frame *df,gboolean *result);
int DTWfreqDistance(struct data_frame *df);
int DTWvolDistance(struct data_frame *df);

View File

@ -63,6 +63,8 @@ struct Lower_Layer_Details {
int data_transmission_off;
int pmu_remove;
int request_cfg_frame;
float latitude;
float longitude;
struct Lower_Layer_Details *next;
struct Lower_Layer_Details *prev;

View File

@ -43,6 +43,7 @@ pthread_mutex_t mutex_file; /* To lock PMU Setup File */
pthread_mutex_t mutex_Lower_Layer_Details; /* To lock objects of connection table that hold lower layer PMU/PDC ip and protocol */
pthread_mutex_t mutex_Upper_Layer_Details; /* To lock objects of connection table that hold upper layer PDC ip and protocol */
pthread_mutex_t mutex_status_change;
pthread_mutex_t mutex_on_TSB;
unsigned char *cfgframe,*dataframe;

View File

@ -114,6 +114,7 @@ GtkWidget *add_pmu_window, *chkBtn;
GtkWidget *new_window, *setup_display_window;
GtkWidget *p_id, *p_udp, *p_tcp, *p_ip;
GtkWidget *p_port, *p_protocol;
GtkWidget *p_lattitude, *p_longitude;
pthread_t show_sys_time;

View File

@ -5,6 +5,18 @@ typedef struct{
GdkPixbuf *g_red_image;
GdkPixbuf *g_green_image;
OsmGpsMapImage *g_last_image;
int current_selection;
} myParameters;
struct vis_data{
int id;
float lat;
float lon;
GdkPixbuf *last_image;
GTimeVal last_update_time;
struct vis_data *next;
};
struct vis_data *head;
gboolean update_images(gpointer* pars);

View File

@ -31,7 +31,7 @@
/* Function prototypes */
/* ------------------------------------------------------------------ */
int add_PMU(char pmuid[], char ip[], char port[], char protocol[]);
int add_PMU(char pmuid[], char ip[], char port[], char protocol[], char latitude[], char longitude[]);
void add_PMU_Node(struct Lower_Layer_Details *temp_pmu);

View File

@ -166,4 +166,6 @@ unsigned long int to_long_int_convertor(unsigned char array[]);
uint16_t compute_CRC(unsigned char *message,int length);
float decode_ieee_single(const void *v);
/**************************************** End of File *******************************************************/

View File

@ -1,6 +1,7 @@
#include <stdio.h>
#include<gtk/gtk.h>
#include "osm-gps-map.h"
#include "livechart.h"
/* Convenience macros for obtaining objects from UI file */
#define CH_GET_OBJECT(builder, name, type, data) \
@ -8,6 +9,33 @@
#define CH_GET_WIDGET(builder, name, data) \
CH_GET_OBJECT(builder, name, GTK_WIDGET, data)
/* Main data structure definition */
typedef struct _UtData UtData;
struct _UtData
{
/* Main window */
GtkWidget *util_window;
/* ui buttons */
GtkWidget *voltage;
GtkWidget *frequency;
GtkWidget *attack_detection;
GtkWidget *algorithm;
GtkWidget *dimmension;
OsmGpsMap *util_map;
GtkContainer *map_layout;
GtkContainer *graph_layout;
};
UtData *utdata;
LiveChartSerie *serie;
// global variables
int curr_measurement;
int algorithm;
int dimmension;
void utility_tools(GtkButton *but, gpointer udata);

BIN
iPDC/lib/liblivechart.so Executable file

Binary file not shown.

View File

@ -0,0 +1,409 @@
/* area.c generated by valac 0.56.0, the Vala compiler
* generated from area.vala, do not modify */
#include "livechart.h"
#include <gdk/gdk.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <string.h>
#include <glib-object.h>
#include <cairo-gobject.h>
enum {
LIVE_CHART_AREA_0_PROPERTY,
LIVE_CHART_AREA_VISIBLE_PROPERTY,
LIVE_CHART_AREA_NUM_PROPERTIES
};
static GParamSpec* live_chart_area_properties[LIVE_CHART_AREA_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
struct _LiveChartAreaPrivate {
LiveChartPoints* points;
GdkRGBA color;
LiveChartBoundingBox bounding_box;
gdouble alpha;
gboolean _visible;
};
static gint LiveChartArea_private_offset;
static gpointer live_chart_area_parent_class = NULL;
static LiveChartDrawableIface * live_chart_area_live_chart_drawable_parent_iface = NULL;
static void live_chart_area_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_area_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result);
static void live_chart_area_finalize (GObject * obj);
static GType live_chart_area_get_type_once (void);
static void _vala_live_chart_area_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_area_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer
live_chart_area_get_instance_private (LiveChartArea* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartArea_private_offset);
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 17 "../src/area.vala"
return self ? g_object_ref (self) : NULL;
#line 61 "area.c"
}
LiveChartArea*
live_chart_area_construct (GType object_type,
LiveChartPoints* points,
GdkRGBA* color,
gdouble alpha)
{
LiveChartArea * self = NULL;
LiveChartPoints* _tmp0_;
GdkRGBA _tmp1_;
#line 16 "../src/area.vala"
g_return_val_if_fail (points != NULL, NULL);
#line 16 "../src/area.vala"
g_return_val_if_fail (color != NULL, NULL);
#line 16 "../src/area.vala"
self = (LiveChartArea*) g_object_new (object_type, NULL);
#line 17 "../src/area.vala"
_tmp0_ = _g_object_ref0 (points);
#line 17 "../src/area.vala"
_g_object_unref0 (self->priv->points);
#line 17 "../src/area.vala"
self->priv->points = _tmp0_;
#line 18 "../src/area.vala"
_tmp1_ = *color;
#line 18 "../src/area.vala"
self->priv->color = _tmp1_;
#line 19 "../src/area.vala"
self->priv->alpha = alpha;
#line 16 "../src/area.vala"
return self;
#line 93 "area.c"
}
LiveChartArea*
live_chart_area_new (LiveChartPoints* points,
GdkRGBA* color,
gdouble alpha)
{
#line 16 "../src/area.vala"
return live_chart_area_construct (LIVE_CHART_TYPE_AREA, points, color, alpha);
#line 103 "area.c"
}
static void
live_chart_area_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartArea * self;
LiveChartPoints* _tmp0_;
gint _tmp1_;
gint _tmp2_;
#line 22 "../src/area.vala"
self = (LiveChartArea*) base;
#line 22 "../src/area.vala"
g_return_if_fail (ctx != NULL);
#line 22 "../src/area.vala"
g_return_if_fail (config != NULL);
#line 23 "../src/area.vala"
_tmp0_ = self->priv->points;
#line 23 "../src/area.vala"
_tmp1_ = live_chart_points_get_size (_tmp0_);
#line 23 "../src/area.vala"
_tmp2_ = _tmp1_;
#line 23 "../src/area.vala"
if (_tmp2_ > 0) {
#line 129 "area.c"
LiveChartBoundaries boundaries = {0};
LiveChartBoundaries _tmp3_ = {0};
LiveChartPoint first_point = {0};
LiveChartPoints* _tmp4_;
LiveChartPoint _tmp5_ = {0};
LiveChartPoint last_point = {0};
LiveChartPoints* _tmp6_;
LiveChartPoint _tmp7_ = {0};
GdkRGBA _tmp8_;
GdkRGBA _tmp9_;
GdkRGBA _tmp10_;
LiveChartPoint _tmp11_;
LiveChartPoint _tmp12_;
LiveChartPoint _tmp13_;
LiveChartBoundaries _tmp14_;
LiveChartBoundary _tmp15_;
LiveChartPoint _tmp16_;
LiveChartBoundaries _tmp17_;
LiveChartBoundary _tmp18_;
LiveChartPoint _tmp19_;
LiveChartPoint _tmp20_;
#line 24 "../src/area.vala"
live_chart_config_boundaries (config, &_tmp3_);
#line 24 "../src/area.vala"
boundaries = _tmp3_;
#line 25 "../src/area.vala"
_tmp4_ = self->priv->points;
#line 25 "../src/area.vala"
live_chart_points_first (_tmp4_, &_tmp5_);
#line 25 "../src/area.vala"
first_point = _tmp5_;
#line 26 "../src/area.vala"
_tmp6_ = self->priv->points;
#line 26 "../src/area.vala"
live_chart_points_last (_tmp6_, &_tmp7_);
#line 26 "../src/area.vala"
last_point = _tmp7_;
#line 28 "../src/area.vala"
_tmp8_ = self->priv->color;
#line 28 "../src/area.vala"
_tmp9_ = self->priv->color;
#line 28 "../src/area.vala"
_tmp10_ = self->priv->color;
#line 28 "../src/area.vala"
cairo_set_source_rgba (ctx, _tmp8_.red, _tmp9_.green, _tmp10_.blue, self->priv->alpha);
#line 29 "../src/area.vala"
_tmp11_ = last_point;
#line 29 "../src/area.vala"
_tmp12_ = last_point;
#line 29 "../src/area.vala"
cairo_line_to (ctx, _tmp11_.x, _tmp12_.y);
#line 30 "../src/area.vala"
_tmp13_ = last_point;
#line 30 "../src/area.vala"
_tmp14_ = boundaries;
#line 30 "../src/area.vala"
_tmp15_ = _tmp14_.y;
#line 30 "../src/area.vala"
cairo_line_to (ctx, _tmp13_.x, (gdouble) _tmp15_.max);
#line 31 "../src/area.vala"
_tmp16_ = first_point;
#line 31 "../src/area.vala"
_tmp17_ = boundaries;
#line 31 "../src/area.vala"
_tmp18_ = _tmp17_.y;
#line 31 "../src/area.vala"
cairo_line_to (ctx, _tmp16_.x, (gdouble) _tmp18_.max);
#line 32 "../src/area.vala"
_tmp19_ = first_point;
#line 32 "../src/area.vala"
_tmp20_ = first_point;
#line 32 "../src/area.vala"
cairo_line_to (ctx, _tmp19_.x, _tmp20_.y);
#line 33 "../src/area.vala"
cairo_close_path (ctx);
#line 205 "area.c"
}
}
static void
live_chart_area_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result)
{
LiveChartArea * self;
LiveChartBoundingBox _tmp0_;
#line 37 "../src/area.vala"
self = (LiveChartArea*) base;
#line 38 "../src/area.vala"
_tmp0_ = self->priv->bounding_box;
#line 38 "../src/area.vala"
*result = _tmp0_;
#line 38 "../src/area.vala"
return;
#line 223 "area.c"
}
static gboolean
live_chart_area_real_get_visible (LiveChartDrawable* base)
{
gboolean result;
LiveChartArea* self;
#line 14 "../src/area.vala"
self = (LiveChartArea*) base;
#line 14 "../src/area.vala"
result = self->priv->_visible;
#line 14 "../src/area.vala"
return result;
#line 237 "area.c"
}
static void
live_chart_area_real_set_visible (LiveChartDrawable* base,
gboolean value)
{
LiveChartArea* self;
gboolean old_value;
#line 14 "../src/area.vala"
self = (LiveChartArea*) base;
#line 14 "../src/area.vala"
old_value = live_chart_area_real_get_visible (base);
#line 14 "../src/area.vala"
if (old_value != value) {
#line 14 "../src/area.vala"
self->priv->_visible = value;
#line 14 "../src/area.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_area_properties[LIVE_CHART_AREA_VISIBLE_PROPERTY]);
#line 256 "area.c"
}
}
static void
live_chart_area_class_init (LiveChartAreaClass * klass,
gpointer klass_data)
{
#line 4 "../src/area.vala"
live_chart_area_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/area.vala"
g_type_class_adjust_private_offset (klass, &LiveChartArea_private_offset);
#line 4 "../src/area.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_area_get_property;
#line 4 "../src/area.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_area_set_property;
#line 4 "../src/area.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_area_finalize;
#line 4 "../src/area.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_AREA_VISIBLE_PROPERTY, live_chart_area_properties[LIVE_CHART_AREA_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 276 "area.c"
}
static void
live_chart_area_live_chart_drawable_interface_init (LiveChartDrawableIface * iface,
gpointer iface_data)
{
#line 4 "../src/area.vala"
live_chart_area_live_chart_drawable_parent_iface = g_type_interface_peek_parent (iface);
#line 4 "../src/area.vala"
iface->draw = (void (*) (LiveChartDrawable*, cairo_t*, LiveChartConfig*)) live_chart_area_real_draw;
#line 4 "../src/area.vala"
iface->get_bounding_box = (void (*) (LiveChartDrawable*, LiveChartBoundingBox*)) live_chart_area_real_get_bounding_box;
#line 4 "../src/area.vala"
iface->get_visible = live_chart_area_real_get_visible;
#line 4 "../src/area.vala"
iface->set_visible = live_chart_area_real_set_visible;
#line 293 "area.c"
}
static void
live_chart_area_instance_init (LiveChartArea * self,
gpointer klass)
{
LiveChartBoundingBox _tmp0_ = {0};
#line 4 "../src/area.vala"
self->priv = live_chart_area_get_instance_private (self);
#line 7 "../src/area.vala"
memset (&_tmp0_, 0, sizeof (LiveChartBoundingBox));
#line 7 "../src/area.vala"
_tmp0_.x = (gdouble) 0;
#line 7 "../src/area.vala"
_tmp0_.y = (gdouble) 0;
#line 7 "../src/area.vala"
_tmp0_.width = (gdouble) 0;
#line 7 "../src/area.vala"
_tmp0_.height = (gdouble) 0;
#line 7 "../src/area.vala"
self->priv->bounding_box = _tmp0_;
#line 13 "../src/area.vala"
self->priv->alpha = 0.3;
#line 14 "../src/area.vala"
self->priv->_visible = TRUE;
#line 319 "area.c"
}
static void
live_chart_area_finalize (GObject * obj)
{
LiveChartArea * self;
#line 4 "../src/area.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_AREA, LiveChartArea);
#line 5 "../src/area.vala"
_g_object_unref0 (self->priv->points);
#line 4 "../src/area.vala"
G_OBJECT_CLASS (live_chart_area_parent_class)->finalize (obj);
#line 332 "area.c"
}
static GType
live_chart_area_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartAreaClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_area_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartArea), 0, (GInstanceInitFunc) live_chart_area_instance_init, NULL };
static const GInterfaceInfo live_chart_drawable_info = { (GInterfaceInitFunc) live_chart_area_live_chart_drawable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
GType live_chart_area_type_id;
live_chart_area_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartArea", &g_define_type_info, 0);
g_type_add_interface_static (live_chart_area_type_id, LIVE_CHART_TYPE_DRAWABLE, &live_chart_drawable_info);
LiveChartArea_private_offset = g_type_add_instance_private (live_chart_area_type_id, sizeof (LiveChartAreaPrivate));
return live_chart_area_type_id;
}
GType
live_chart_area_get_type (void)
{
static volatile gsize live_chart_area_type_id__once = 0;
if (g_once_init_enter (&live_chart_area_type_id__once)) {
GType live_chart_area_type_id;
live_chart_area_type_id = live_chart_area_get_type_once ();
g_once_init_leave (&live_chart_area_type_id__once, live_chart_area_type_id);
}
return live_chart_area_type_id__once;
}
static void
_vala_live_chart_area_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartArea * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_AREA, LiveChartArea);
#line 4 "../src/area.vala"
switch (property_id) {
#line 4 "../src/area.vala"
case LIVE_CHART_AREA_VISIBLE_PROPERTY:
#line 4 "../src/area.vala"
g_value_set_boolean (value, live_chart_drawable_get_visible ((LiveChartDrawable*) self));
#line 4 "../src/area.vala"
break;
#line 375 "area.c"
default:
#line 4 "../src/area.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/area.vala"
break;
#line 381 "area.c"
}
}
static void
_vala_live_chart_area_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartArea * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_AREA, LiveChartArea);
#line 4 "../src/area.vala"
switch (property_id) {
#line 4 "../src/area.vala"
case LIVE_CHART_AREA_VISIBLE_PROPERTY:
#line 4 "../src/area.vala"
live_chart_drawable_set_visible ((LiveChartDrawable*) self, g_value_get_boolean (value));
#line 4 "../src/area.vala"
break;
#line 401 "area.c"
default:
#line 4 "../src/area.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/area.vala"
break;
#line 407 "area.c"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,559 @@
/* background.c generated by valac 0.56.0, the Vala compiler
* generated from background.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <string.h>
#include <cairo-gobject.h>
#include <glib-object.h>
enum {
LIVE_CHART_BACKGROUND_0_PROPERTY,
LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY,
LIVE_CHART_BACKGROUND_COLOR_PROPERTY,
LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY,
LIVE_CHART_BACKGROUND_NUM_PROPERTIES
};
static GParamSpec* live_chart_background_properties[LIVE_CHART_BACKGROUND_NUM_PROPERTIES];
struct _LiveChartBackgroundPrivate {
LiveChartBoundingBox bounding_box;
gboolean _visible;
GdkRGBA _main_color;
};
static gint LiveChartBackground_private_offset;
static gpointer live_chart_background_parent_class = NULL;
static LiveChartDrawableIface * live_chart_background_live_chart_drawable_parent_iface = NULL;
static void live_chart_background_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_background_update_bounding_box (LiveChartBackground* self,
LiveChartConfig* config);
static void live_chart_background_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result);
static gboolean _gdk_rgba_equal (const GdkRGBA * s1,
const GdkRGBA * s2);
static void live_chart_background_finalize (GObject * obj);
static GType live_chart_background_get_type_once (void);
static void _vala_live_chart_background_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_background_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer
live_chart_background_get_instance_private (LiveChartBackground* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartBackground_private_offset);
}
static void
live_chart_background_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartBackground * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 33 "../src/background.vala"
self = (LiveChartBackground*) base;
#line 33 "../src/background.vala"
g_return_if_fail (ctx != NULL);
#line 33 "../src/background.vala"
g_return_if_fail (config != NULL);
#line 34 "../src/background.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 34 "../src/background.vala"
_tmp1_ = _tmp0_;
#line 34 "../src/background.vala"
if (_tmp1_) {
#line 79 "background.c"
gint _tmp2_;
gint _tmp3_;
gint _tmp4_;
gint _tmp5_;
GdkRGBA _tmp6_ = {0};
GdkRGBA _tmp7_;
GdkRGBA _tmp8_ = {0};
GdkRGBA _tmp9_;
GdkRGBA _tmp10_ = {0};
GdkRGBA _tmp11_;
GdkRGBA _tmp12_ = {0};
GdkRGBA _tmp13_;
#line 35 "../src/background.vala"
live_chart_background_update_bounding_box (self, config);
#line 36 "../src/background.vala"
_tmp2_ = live_chart_config_get_width (config);
#line 36 "../src/background.vala"
_tmp3_ = _tmp2_;
#line 36 "../src/background.vala"
_tmp4_ = live_chart_config_get_height (config);
#line 36 "../src/background.vala"
_tmp5_ = _tmp4_;
#line 36 "../src/background.vala"
cairo_rectangle (ctx, (gdouble) 0, (gdouble) 0, (gdouble) _tmp3_, (gdouble) _tmp5_);
#line 37 "../src/background.vala"
live_chart_background_get_color (self, &_tmp6_);
#line 37 "../src/background.vala"
_tmp7_ = _tmp6_;
#line 37 "../src/background.vala"
live_chart_background_get_color (self, &_tmp8_);
#line 37 "../src/background.vala"
_tmp9_ = _tmp8_;
#line 37 "../src/background.vala"
live_chart_background_get_color (self, &_tmp10_);
#line 37 "../src/background.vala"
_tmp11_ = _tmp10_;
#line 37 "../src/background.vala"
live_chart_background_get_color (self, &_tmp12_);
#line 37 "../src/background.vala"
_tmp13_ = _tmp12_;
#line 37 "../src/background.vala"
cairo_set_source_rgba (ctx, _tmp7_.red, _tmp9_.green, _tmp11_.blue, _tmp13_.alpha);
#line 38 "../src/background.vala"
cairo_fill (ctx);
#line 124 "background.c"
}
}
static void
live_chart_background_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result)
{
LiveChartBackground * self;
LiveChartBoundingBox _tmp0_;
#line 42 "../src/background.vala"
self = (LiveChartBackground*) base;
#line 43 "../src/background.vala"
_tmp0_ = self->priv->bounding_box;
#line 43 "../src/background.vala"
*result = _tmp0_;
#line 43 "../src/background.vala"
return;
#line 142 "background.c"
}
static void
live_chart_background_update_bounding_box (LiveChartBackground* self,
LiveChartConfig* config)
{
gint _tmp0_;
gint _tmp1_;
gint _tmp2_;
gint _tmp3_;
LiveChartBoundingBox _tmp4_ = {0};
#line 46 "../src/background.vala"
g_return_if_fail (self != NULL);
#line 46 "../src/background.vala"
g_return_if_fail (config != NULL);
#line 47 "../src/background.vala"
_tmp0_ = live_chart_config_get_width (config);
#line 47 "../src/background.vala"
_tmp1_ = _tmp0_;
#line 47 "../src/background.vala"
_tmp2_ = live_chart_config_get_height (config);
#line 47 "../src/background.vala"
_tmp3_ = _tmp2_;
#line 47 "../src/background.vala"
memset (&_tmp4_, 0, sizeof (LiveChartBoundingBox));
#line 47 "../src/background.vala"
_tmp4_.x = (gdouble) 0;
#line 47 "../src/background.vala"
_tmp4_.y = (gdouble) 0;
#line 47 "../src/background.vala"
_tmp4_.width = (gdouble) _tmp1_;
#line 47 "../src/background.vala"
_tmp4_.height = (gdouble) _tmp3_;
#line 47 "../src/background.vala"
self->priv->bounding_box = _tmp4_;
#line 178 "background.c"
}
LiveChartBackground*
live_chart_background_construct (GType object_type)
{
LiveChartBackground * self = NULL;
#line 4 "../src/background.vala"
self = (LiveChartBackground*) g_object_new (object_type, NULL);
#line 4 "../src/background.vala"
return self;
#line 189 "background.c"
}
LiveChartBackground*
live_chart_background_new (void)
{
#line 4 "../src/background.vala"
return live_chart_background_construct (LIVE_CHART_TYPE_BACKGROUND);
#line 197 "background.c"
}
static gboolean
live_chart_background_real_get_visible (LiveChartDrawable* base)
{
gboolean result;
LiveChartBackground* self;
#line 12 "../src/background.vala"
self = (LiveChartBackground*) base;
#line 12 "../src/background.vala"
result = self->priv->_visible;
#line 12 "../src/background.vala"
return result;
#line 211 "background.c"
}
static void
live_chart_background_real_set_visible (LiveChartDrawable* base,
gboolean value)
{
LiveChartBackground* self;
gboolean old_value;
#line 12 "../src/background.vala"
self = (LiveChartBackground*) base;
#line 12 "../src/background.vala"
old_value = live_chart_background_real_get_visible (base);
#line 12 "../src/background.vala"
if (old_value != value) {
#line 12 "../src/background.vala"
self->priv->_visible = value;
#line 12 "../src/background.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_background_properties[LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY]);
#line 230 "background.c"
}
}
void
live_chart_background_get_color (LiveChartBackground* self,
GdkRGBA * result)
{
GdkRGBA _tmp0_;
#line 15 "../src/background.vala"
g_return_if_fail (self != NULL);
#line 16 "../src/background.vala"
_tmp0_ = self->priv->_main_color;
#line 16 "../src/background.vala"
*result = _tmp0_;
#line 16 "../src/background.vala"
return;
#line 247 "background.c"
}
void
live_chart_background_set_color (LiveChartBackground* self,
GdkRGBA * value)
{
GdkRGBA _tmp0_;
#line 18 "../src/background.vala"
g_return_if_fail (self != NULL);
#line 19 "../src/background.vala"
_tmp0_ = *value;
#line 19 "../src/background.vala"
live_chart_background_set_main_color (self, &_tmp0_);
#line 18 "../src/background.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_background_properties[LIVE_CHART_BACKGROUND_COLOR_PROPERTY]);
#line 263 "background.c"
}
void
live_chart_background_get_main_color (LiveChartBackground* self,
GdkRGBA * result)
{
GdkRGBA _tmp0_;
#line 25 "../src/background.vala"
g_return_if_fail (self != NULL);
#line 25 "../src/background.vala"
_tmp0_ = self->priv->_main_color;
#line 25 "../src/background.vala"
*result = _tmp0_;
#line 25 "../src/background.vala"
return;
#line 279 "background.c"
}
static gboolean
_gdk_rgba_equal (const GdkRGBA * s1,
const GdkRGBA * s2)
{
#line 25 "../src/background.vala"
if (s1 == s2) {
#line 25 "../src/background.vala"
return TRUE;
#line 290 "background.c"
}
#line 25 "../src/background.vala"
if (s1 == NULL) {
#line 25 "../src/background.vala"
return FALSE;
#line 296 "background.c"
}
#line 25 "../src/background.vala"
if (s2 == NULL) {
#line 25 "../src/background.vala"
return FALSE;
#line 302 "background.c"
}
#line 25 "../src/background.vala"
if (s1->red != s2->red) {
#line 25 "../src/background.vala"
return FALSE;
#line 308 "background.c"
}
#line 25 "../src/background.vala"
if (s1->green != s2->green) {
#line 25 "../src/background.vala"
return FALSE;
#line 314 "background.c"
}
#line 25 "../src/background.vala"
if (s1->blue != s2->blue) {
#line 25 "../src/background.vala"
return FALSE;
#line 320 "background.c"
}
#line 25 "../src/background.vala"
if (s1->alpha != s2->alpha) {
#line 25 "../src/background.vala"
return FALSE;
#line 326 "background.c"
}
#line 25 "../src/background.vala"
return TRUE;
#line 330 "background.c"
}
void
live_chart_background_set_main_color (LiveChartBackground* self,
GdkRGBA * value)
{
GdkRGBA old_value;
#line 25 "../src/background.vala"
g_return_if_fail (self != NULL);
#line 25 "../src/background.vala"
live_chart_background_get_main_color (self, &old_value);
#line 25 "../src/background.vala"
if (_gdk_rgba_equal (value, &old_value) != TRUE) {
#line 344 "background.c"
GdkRGBA _tmp0_;
#line 25 "../src/background.vala"
_tmp0_ = *value;
#line 25 "../src/background.vala"
self->priv->_main_color = _tmp0_;
#line 25 "../src/background.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_background_properties[LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY]);
#line 352 "background.c"
}
}
static void
live_chart_background_class_init (LiveChartBackgroundClass * klass,
gpointer klass_data)
{
#line 4 "../src/background.vala"
live_chart_background_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/background.vala"
g_type_class_adjust_private_offset (klass, &LiveChartBackground_private_offset);
#line 4 "../src/background.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_background_get_property;
#line 4 "../src/background.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_background_set_property;
#line 4 "../src/background.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_background_finalize;
#line 4 "../src/background.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY, live_chart_background_properties[LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4 "../src/background.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_BACKGROUND_COLOR_PROPERTY, live_chart_background_properties[LIVE_CHART_BACKGROUND_COLOR_PROPERTY] = g_param_spec_boxed ("color", "color", "color", gdk_rgba_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4 "../src/background.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY, live_chart_background_properties[LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY] = g_param_spec_boxed ("main-color", "main-color", "main-color", gdk_rgba_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_DEPRECATED));
#line 376 "background.c"
}
static void
live_chart_background_live_chart_drawable_interface_init (LiveChartDrawableIface * iface,
gpointer iface_data)
{
#line 4 "../src/background.vala"
live_chart_background_live_chart_drawable_parent_iface = g_type_interface_peek_parent (iface);
#line 4 "../src/background.vala"
iface->draw = (void (*) (LiveChartDrawable*, cairo_t*, LiveChartConfig*)) live_chart_background_real_draw;
#line 4 "../src/background.vala"
iface->get_bounding_box = (void (*) (LiveChartDrawable*, LiveChartBoundingBox*)) live_chart_background_real_get_bounding_box;
#line 4 "../src/background.vala"
iface->get_visible = live_chart_background_real_get_visible;
#line 4 "../src/background.vala"
iface->set_visible = live_chart_background_real_set_visible;
#line 393 "background.c"
}
static void
live_chart_background_instance_init (LiveChartBackground * self,
gpointer klass)
{
LiveChartBoundingBox _tmp0_ = {0};
GdkRGBA _tmp1_ = {0};
#line 4 "../src/background.vala"
self->priv = live_chart_background_get_instance_private (self);
#line 5 "../src/background.vala"
memset (&_tmp0_, 0, sizeof (LiveChartBoundingBox));
#line 5 "../src/background.vala"
_tmp0_.x = (gdouble) 0;
#line 5 "../src/background.vala"
_tmp0_.y = (gdouble) 0;
#line 5 "../src/background.vala"
_tmp0_.width = (gdouble) 0;
#line 5 "../src/background.vala"
_tmp0_.height = (gdouble) 0;
#line 5 "../src/background.vala"
self->priv->bounding_box = _tmp0_;
#line 12 "../src/background.vala"
self->priv->_visible = TRUE;
#line 24 "../src/background.vala"
memset (&_tmp1_, 0, sizeof (GdkRGBA));
#line 24 "../src/background.vala"
_tmp1_.red = 0.1;
#line 24 "../src/background.vala"
_tmp1_.green = 0.1;
#line 24 "../src/background.vala"
_tmp1_.blue = 0.1;
#line 24 "../src/background.vala"
_tmp1_.alpha = 1.0;
#line 24 "../src/background.vala"
self->priv->_main_color = _tmp1_;
#line 430 "background.c"
}
static void
live_chart_background_finalize (GObject * obj)
{
LiveChartBackground * self;
#line 4 "../src/background.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_BACKGROUND, LiveChartBackground);
#line 4 "../src/background.vala"
G_OBJECT_CLASS (live_chart_background_parent_class)->finalize (obj);
#line 441 "background.c"
}
static GType
live_chart_background_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartBackgroundClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_background_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartBackground), 0, (GInstanceInitFunc) live_chart_background_instance_init, NULL };
static const GInterfaceInfo live_chart_drawable_info = { (GInterfaceInitFunc) live_chart_background_live_chart_drawable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
GType live_chart_background_type_id;
live_chart_background_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartBackground", &g_define_type_info, 0);
g_type_add_interface_static (live_chart_background_type_id, LIVE_CHART_TYPE_DRAWABLE, &live_chart_drawable_info);
LiveChartBackground_private_offset = g_type_add_instance_private (live_chart_background_type_id, sizeof (LiveChartBackgroundPrivate));
return live_chart_background_type_id;
}
GType
live_chart_background_get_type (void)
{
static volatile gsize live_chart_background_type_id__once = 0;
if (g_once_init_enter (&live_chart_background_type_id__once)) {
GType live_chart_background_type_id;
live_chart_background_type_id = live_chart_background_get_type_once ();
g_once_init_leave (&live_chart_background_type_id__once, live_chart_background_type_id);
}
return live_chart_background_type_id__once;
}
static void
_vala_live_chart_background_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartBackground * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_BACKGROUND, LiveChartBackground);
#line 4 "../src/background.vala"
switch (property_id) {
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY:
#line 4 "../src/background.vala"
g_value_set_boolean (value, live_chart_drawable_get_visible ((LiveChartDrawable*) self));
#line 4 "../src/background.vala"
break;
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_COLOR_PROPERTY:
#line 486 "background.c"
{
GdkRGBA boxed;
#line 4 "../src/background.vala"
live_chart_background_get_color (self, &boxed);
#line 4 "../src/background.vala"
g_value_set_boxed (value, &boxed);
#line 493 "background.c"
}
#line 4 "../src/background.vala"
break;
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY:
#line 499 "background.c"
{
GdkRGBA boxed;
#line 4 "../src/background.vala"
live_chart_background_get_main_color (self, &boxed);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
#line 505 "background.c"
g_value_set_boxed (value, &boxed);
G_GNUC_END_IGNORE_DEPRECATIONS
}
#line 4 "../src/background.vala"
break;
#line 511 "background.c"
default:
#line 4 "../src/background.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/background.vala"
break;
#line 517 "background.c"
}
}
static void
_vala_live_chart_background_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartBackground * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_BACKGROUND, LiveChartBackground);
#line 4 "../src/background.vala"
switch (property_id) {
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY:
#line 4 "../src/background.vala"
live_chart_drawable_set_visible ((LiveChartDrawable*) self, g_value_get_boolean (value));
#line 4 "../src/background.vala"
break;
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_COLOR_PROPERTY:
#line 4 "../src/background.vala"
live_chart_background_set_color (self, g_value_get_boxed (value));
#line 4 "../src/background.vala"
break;
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY:
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
#line 546 "background.c"
live_chart_background_set_main_color (self, g_value_get_boxed (value));
G_GNUC_END_IGNORE_DEPRECATIONS
#line 4 "../src/background.vala"
break;
#line 551 "background.c"
default:
#line 4 "../src/background.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/background.vala"
break;
#line 557 "background.c"
}
}

View File

@ -0,0 +1,329 @@
/* bar.c generated by valac 0.56.0, the Vala compiler
* generated from bar.vala, do not modify */
#include "livechart.h"
#include <cairo-gobject.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <string.h>
enum {
LIVE_CHART_BAR_0_PROPERTY,
LIVE_CHART_BAR_NUM_PROPERTIES
};
static GParamSpec* live_chart_bar_properties[LIVE_CHART_BAR_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
static gpointer live_chart_bar_parent_class = NULL;
static void live_chart_bar_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_bar_update_bounding_box (LiveChartBar* self,
LiveChartPoints* points,
LiveChartConfig* config);
static GType live_chart_bar_get_type_once (void);
static gpointer
_g_object_ref0 (gpointer self)
{
#line 7 "../src/bar.vala"
return self ? g_object_ref (self) : NULL;
#line 34 "bar.c"
}
LiveChartBar*
live_chart_bar_construct (GType object_type,
LiveChartValues* values)
{
LiveChartBar * self = NULL;
LiveChartValues* _tmp0_;
#line 5 "../src/bar.vala"
g_return_val_if_fail (values != NULL, NULL);
#line 6 "../src/bar.vala"
self = (LiveChartBar*) live_chart_serie_renderer_construct (object_type);
#line 7 "../src/bar.vala"
_tmp0_ = _g_object_ref0 (values);
#line 7 "../src/bar.vala"
_g_object_unref0 (((LiveChartSerieRenderer*) self)->values);
#line 7 "../src/bar.vala"
((LiveChartSerieRenderer*) self)->values = _tmp0_;
#line 5 "../src/bar.vala"
return self;
#line 55 "bar.c"
}
LiveChartBar*
live_chart_bar_new (LiveChartValues* values)
{
#line 5 "../src/bar.vala"
return live_chart_bar_construct (LIVE_CHART_TYPE_BAR, values);
#line 63 "bar.c"
}
static void
live_chart_bar_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartBar * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 10 "../src/bar.vala"
self = (LiveChartBar*) base;
#line 10 "../src/bar.vala"
g_return_if_fail (ctx != NULL);
#line 10 "../src/bar.vala"
g_return_if_fail (config != NULL);
#line 11 "../src/bar.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 11 "../src/bar.vala"
_tmp1_ = _tmp0_;
#line 11 "../src/bar.vala"
if (_tmp1_) {
#line 86 "bar.c"
LiveChartPoints* points = NULL;
LiveChartValues* _tmp2_;
LiveChartPoints* _tmp3_;
LiveChartPoints* _tmp4_;
gint _tmp5_;
gint _tmp6_;
#line 12 "../src/bar.vala"
_tmp2_ = ((LiveChartSerieRenderer*) self)->values;
#line 12 "../src/bar.vala"
_tmp3_ = live_chart_points_create (_tmp2_, config);
#line 12 "../src/bar.vala"
points = _tmp3_;
#line 13 "../src/bar.vala"
_tmp4_ = points;
#line 13 "../src/bar.vala"
_tmp5_ = live_chart_points_get_size (_tmp4_);
#line 13 "../src/bar.vala"
_tmp6_ = _tmp5_;
#line 13 "../src/bar.vala"
if (_tmp6_ > 0) {
#line 107 "bar.c"
LiveChartPath* _tmp7_;
LiveChartPath* _tmp8_;
LiveChartPoints* _tmp9_;
#line 14 "../src/bar.vala"
_tmp7_ = live_chart_serie_renderer_get_line ((LiveChartSerieRenderer*) self);
#line 14 "../src/bar.vala"
_tmp8_ = _tmp7_;
#line 14 "../src/bar.vala"
live_chart_path_configure (_tmp8_, ctx);
#line 16 "../src/bar.vala"
_tmp9_ = points;
#line 16 "../src/bar.vala"
live_chart_bar_update_bounding_box (self, _tmp9_, config);
#line 17 "../src/bar.vala"
live_chart_serie_renderer_debug ((LiveChartSerieRenderer*) self, ctx);
#line 123 "bar.c"
{
gint pos = 0;
#line 19 "../src/bar.vala"
pos = 0;
#line 128 "bar.c"
{
gboolean _tmp10_ = FALSE;
#line 19 "../src/bar.vala"
_tmp10_ = TRUE;
#line 19 "../src/bar.vala"
while (TRUE) {
#line 135 "bar.c"
LiveChartPoints* _tmp12_;
gint _tmp13_;
gint _tmp14_;
LiveChartPoint current_point = {0};
LiveChartPoints* _tmp15_;
LiveChartPoint _tmp16_ = {0};
LiveChartPoint next_point = {0};
LiveChartPoints* _tmp17_;
LiveChartPoint _tmp18_ = {0};
LiveChartPoint _tmp19_;
LiveChartPadding _tmp20_;
gdouble bar_width = 0.0;
LiveChartPoint _tmp21_;
LiveChartPoint _tmp22_;
LiveChartPoint _tmp23_;
LiveChartPoint _tmp24_;
LiveChartPoint _tmp25_;
#line 19 "../src/bar.vala"
if (!_tmp10_) {
#line 155 "bar.c"
gint _tmp11_;
#line 19 "../src/bar.vala"
_tmp11_ = pos;
#line 19 "../src/bar.vala"
pos = _tmp11_ + 1;
#line 161 "bar.c"
}
#line 19 "../src/bar.vala"
_tmp10_ = FALSE;
#line 19 "../src/bar.vala"
_tmp12_ = points;
#line 19 "../src/bar.vala"
_tmp13_ = live_chart_points_get_size (_tmp12_);
#line 19 "../src/bar.vala"
_tmp14_ = _tmp13_;
#line 19 "../src/bar.vala"
if (!(pos <= (_tmp14_ - 1))) {
#line 19 "../src/bar.vala"
break;
#line 175 "bar.c"
}
#line 20 "../src/bar.vala"
_tmp15_ = points;
#line 20 "../src/bar.vala"
live_chart_points_get (_tmp15_, pos, &_tmp16_);
#line 20 "../src/bar.vala"
current_point = _tmp16_;
#line 21 "../src/bar.vala"
_tmp17_ = points;
#line 21 "../src/bar.vala"
live_chart_points_after (_tmp17_, pos, &_tmp18_);
#line 21 "../src/bar.vala"
next_point = _tmp18_;
#line 23 "../src/bar.vala"
_tmp19_ = current_point;
#line 23 "../src/bar.vala"
_tmp20_ = config->padding;
#line 23 "../src/bar.vala"
if (_tmp19_.x < ((gdouble) _tmp20_.left)) {
#line 24 "../src/bar.vala"
continue;
#line 197 "bar.c"
}
#line 26 "../src/bar.vala"
_tmp21_ = current_point;
#line 26 "../src/bar.vala"
_tmp22_ = next_point;
#line 26 "../src/bar.vala"
bar_width = (_tmp21_.x - _tmp22_.x) / 1.2;
#line 27 "../src/bar.vala"
_tmp23_ = next_point;
#line 27 "../src/bar.vala"
_tmp24_ = next_point;
#line 27 "../src/bar.vala"
_tmp25_ = next_point;
#line 27 "../src/bar.vala"
cairo_rectangle (ctx, _tmp23_.x, _tmp24_.y, bar_width, _tmp25_.height);
#line 213 "bar.c"
}
}
}
#line 30 "../src/bar.vala"
cairo_fill (ctx);
#line 219 "bar.c"
}
#line 11 "../src/bar.vala"
_g_object_unref0 (points);
#line 223 "bar.c"
}
}
static void
live_chart_bar_update_bounding_box (LiveChartBar* self,
LiveChartPoints* points,
LiveChartConfig* config)
{
LiveChartPoint _tmp0_ = {0};
LiveChartBounds* _tmp1_;
LiveChartBounds* _tmp2_;
gdouble _tmp3_;
gdouble _tmp4_;
LiveChartPoint _tmp5_ = {0};
LiveChartPoint _tmp6_ = {0};
LiveChartBoundaries _tmp7_ = {0};
LiveChartBoundary _tmp8_;
LiveChartBounds* _tmp9_;
LiveChartBounds* _tmp10_;
gdouble _tmp11_;
gdouble _tmp12_;
LiveChartBoundingBox _tmp13_ = {0};
#line 35 "../src/bar.vala"
g_return_if_fail (self != NULL);
#line 35 "../src/bar.vala"
g_return_if_fail (points != NULL);
#line 35 "../src/bar.vala"
g_return_if_fail (config != NULL);
#line 36 "../src/bar.vala"
live_chart_points_first (points, &_tmp0_);
#line 36 "../src/bar.vala"
_tmp1_ = live_chart_points_get_bounds (points);
#line 36 "../src/bar.vala"
_tmp2_ = _tmp1_;
#line 36 "../src/bar.vala"
_tmp3_ = live_chart_bounds_get_lower (_tmp2_);
#line 36 "../src/bar.vala"
_tmp4_ = _tmp3_;
#line 36 "../src/bar.vala"
live_chart_points_last (points, &_tmp5_);
#line 36 "../src/bar.vala"
live_chart_points_first (points, &_tmp6_);
#line 36 "../src/bar.vala"
live_chart_config_boundaries (config, &_tmp7_);
#line 36 "../src/bar.vala"
_tmp8_ = _tmp7_.y;
#line 36 "../src/bar.vala"
_tmp9_ = live_chart_points_get_bounds (points);
#line 36 "../src/bar.vala"
_tmp10_ = _tmp9_;
#line 36 "../src/bar.vala"
_tmp11_ = live_chart_bounds_get_lower (_tmp10_);
#line 36 "../src/bar.vala"
_tmp12_ = _tmp11_;
#line 36 "../src/bar.vala"
memset (&_tmp13_, 0, sizeof (LiveChartBoundingBox));
#line 36 "../src/bar.vala"
_tmp13_.x = _tmp0_.x;
#line 36 "../src/bar.vala"
_tmp13_.y = _tmp4_;
#line 36 "../src/bar.vala"
_tmp13_.width = _tmp5_.x - _tmp6_.x;
#line 36 "../src/bar.vala"
_tmp13_.height = _tmp8_.max - _tmp12_;
#line 36 "../src/bar.vala"
((LiveChartSerieRenderer*) self)->bounding_box = _tmp13_;
#line 290 "bar.c"
}
static void
live_chart_bar_class_init (LiveChartBarClass * klass,
gpointer klass_data)
{
#line 4 "../src/bar.vala"
live_chart_bar_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/bar.vala"
((LiveChartSerieRendererClass *) klass)->draw = (void (*) (LiveChartSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_bar_real_draw;
#line 301 "bar.c"
}
static void
live_chart_bar_instance_init (LiveChartBar * self,
gpointer klass)
{
}
static GType
live_chart_bar_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartBarClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_bar_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartBar), 0, (GInstanceInitFunc) live_chart_bar_instance_init, NULL };
GType live_chart_bar_type_id;
live_chart_bar_type_id = g_type_register_static (LIVE_CHART_TYPE_SERIE_RENDERER, "LiveChartBar", &g_define_type_info, 0);
return live_chart_bar_type_id;
}
GType
live_chart_bar_get_type (void)
{
static volatile gsize live_chart_bar_type_id__once = 0;
if (g_once_init_enter (&live_chart_bar_type_id__once)) {
GType live_chart_bar_type_id;
live_chart_bar_type_id = live_chart_bar_get_type_once ();
g_once_init_leave (&live_chart_bar_type_id__once, live_chart_bar_type_id);
}
return live_chart_bar_type_id__once;
}

View File

@ -0,0 +1,534 @@
/* bezier.c generated by valac 0.56.0, the Vala compiler
* generated from bezier.vala, do not modify */
#include <glib.h>
#include <float.h>
#include <math.h>
#include "livechart.h"
#include <gee.h>
#include <glib-object.h>
#include <string.h>
#define LIVE_CHART_POLYNOMIAL_TOLERANCE 1e-6
#define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
VALA_EXTERN GeeList* live_chart_get_cubic_roots (gdouble C3,
gdouble C2,
gdouble C1,
gdouble C0);
static gdouble* _double_dup (gdouble* self);
GeeList*
live_chart_find_intersections_between (LiveChartSegment* segment,
LiveChartBezierCurve* bezier)
{
gdouble ax = 0.0;
LiveChartBezierCurve _tmp0_;
LiveChartCoord _tmp1_;
LiveChartBezierCurve _tmp2_;
LiveChartCoord _tmp3_;
LiveChartBezierCurve _tmp4_;
LiveChartCoord _tmp5_;
LiveChartBezierCurve _tmp6_;
LiveChartCoord _tmp7_;
gdouble ay = 0.0;
LiveChartBezierCurve _tmp8_;
LiveChartCoord _tmp9_;
LiveChartBezierCurve _tmp10_;
LiveChartCoord _tmp11_;
LiveChartBezierCurve _tmp12_;
LiveChartCoord _tmp13_;
LiveChartBezierCurve _tmp14_;
LiveChartCoord _tmp15_;
gdouble bx = 0.0;
LiveChartBezierCurve _tmp16_;
LiveChartCoord _tmp17_;
LiveChartBezierCurve _tmp18_;
LiveChartCoord _tmp19_;
LiveChartBezierCurve _tmp20_;
LiveChartCoord _tmp21_;
gdouble by = 0.0;
LiveChartBezierCurve _tmp22_;
LiveChartCoord _tmp23_;
LiveChartBezierCurve _tmp24_;
LiveChartCoord _tmp25_;
LiveChartBezierCurve _tmp26_;
LiveChartCoord _tmp27_;
gdouble cx = 0.0;
LiveChartBezierCurve _tmp28_;
LiveChartCoord _tmp29_;
LiveChartBezierCurve _tmp30_;
LiveChartCoord _tmp31_;
gdouble cy = 0.0;
LiveChartBezierCurve _tmp32_;
LiveChartCoord _tmp33_;
LiveChartBezierCurve _tmp34_;
LiveChartCoord _tmp35_;
gdouble dx = 0.0;
LiveChartBezierCurve _tmp36_;
LiveChartCoord _tmp37_;
gdouble dy = 0.0;
LiveChartBezierCurve _tmp38_;
LiveChartCoord _tmp39_;
gdouble vx = 0.0;
LiveChartSegment _tmp40_;
LiveChartCoord _tmp41_;
LiveChartSegment _tmp42_;
LiveChartCoord _tmp43_;
gdouble vy = 0.0;
LiveChartSegment _tmp44_;
LiveChartCoord _tmp45_;
LiveChartSegment _tmp46_;
LiveChartCoord _tmp47_;
gdouble d = 0.0;
LiveChartSegment _tmp48_;
LiveChartCoord _tmp49_;
LiveChartSegment _tmp50_;
LiveChartCoord _tmp51_;
GeeList* roots = NULL;
GeeList* _tmp52_;
GeeArrayList* results = NULL;
GeeArrayList* _tmp53_;
GeeList* result;
#line 6 "../src/bezier.vala"
g_return_val_if_fail (segment != NULL, NULL);
#line 6 "../src/bezier.vala"
g_return_val_if_fail (bezier != NULL, NULL);
#line 8 "../src/bezier.vala"
_tmp0_ = *bezier;
#line 8 "../src/bezier.vala"
_tmp1_ = _tmp0_.c1;
#line 8 "../src/bezier.vala"
_tmp2_ = *bezier;
#line 8 "../src/bezier.vala"
_tmp3_ = _tmp2_.c2;
#line 8 "../src/bezier.vala"
_tmp4_ = *bezier;
#line 8 "../src/bezier.vala"
_tmp5_ = _tmp4_.c3;
#line 8 "../src/bezier.vala"
_tmp6_ = *bezier;
#line 8 "../src/bezier.vala"
_tmp7_ = _tmp6_.c0;
#line 8 "../src/bezier.vala"
ax = ((3 * (_tmp1_.x - _tmp3_.x)) + _tmp5_.x) - _tmp7_.x;
#line 9 "../src/bezier.vala"
_tmp8_ = *bezier;
#line 9 "../src/bezier.vala"
_tmp9_ = _tmp8_.c1;
#line 9 "../src/bezier.vala"
_tmp10_ = *bezier;
#line 9 "../src/bezier.vala"
_tmp11_ = _tmp10_.c2;
#line 9 "../src/bezier.vala"
_tmp12_ = *bezier;
#line 9 "../src/bezier.vala"
_tmp13_ = _tmp12_.c3;
#line 9 "../src/bezier.vala"
_tmp14_ = *bezier;
#line 9 "../src/bezier.vala"
_tmp15_ = _tmp14_.c0;
#line 9 "../src/bezier.vala"
ay = ((3 * (_tmp9_.y - _tmp11_.y)) + _tmp13_.y) - _tmp15_.y;
#line 11 "../src/bezier.vala"
_tmp16_ = *bezier;
#line 11 "../src/bezier.vala"
_tmp17_ = _tmp16_.c0;
#line 11 "../src/bezier.vala"
_tmp18_ = *bezier;
#line 11 "../src/bezier.vala"
_tmp19_ = _tmp18_.c1;
#line 11 "../src/bezier.vala"
_tmp20_ = *bezier;
#line 11 "../src/bezier.vala"
_tmp21_ = _tmp20_.c2;
#line 11 "../src/bezier.vala"
bx = 3 * ((_tmp17_.x - (2 * _tmp19_.x)) + _tmp21_.x);
#line 12 "../src/bezier.vala"
_tmp22_ = *bezier;
#line 12 "../src/bezier.vala"
_tmp23_ = _tmp22_.c0;
#line 12 "../src/bezier.vala"
_tmp24_ = *bezier;
#line 12 "../src/bezier.vala"
_tmp25_ = _tmp24_.c1;
#line 12 "../src/bezier.vala"
_tmp26_ = *bezier;
#line 12 "../src/bezier.vala"
_tmp27_ = _tmp26_.c2;
#line 12 "../src/bezier.vala"
by = 3 * ((_tmp23_.y - (2 * _tmp25_.y)) + _tmp27_.y);
#line 14 "../src/bezier.vala"
_tmp28_ = *bezier;
#line 14 "../src/bezier.vala"
_tmp29_ = _tmp28_.c1;
#line 14 "../src/bezier.vala"
_tmp30_ = *bezier;
#line 14 "../src/bezier.vala"
_tmp31_ = _tmp30_.c0;
#line 14 "../src/bezier.vala"
cx = 3 * (_tmp29_.x - _tmp31_.x);
#line 15 "../src/bezier.vala"
_tmp32_ = *bezier;
#line 15 "../src/bezier.vala"
_tmp33_ = _tmp32_.c1;
#line 15 "../src/bezier.vala"
_tmp34_ = *bezier;
#line 15 "../src/bezier.vala"
_tmp35_ = _tmp34_.c0;
#line 15 "../src/bezier.vala"
cy = 3 * (_tmp33_.y - _tmp35_.y);
#line 17 "../src/bezier.vala"
_tmp36_ = *bezier;
#line 17 "../src/bezier.vala"
_tmp37_ = _tmp36_.c0;
#line 17 "../src/bezier.vala"
dx = _tmp37_.x;
#line 18 "../src/bezier.vala"
_tmp38_ = *bezier;
#line 18 "../src/bezier.vala"
_tmp39_ = _tmp38_.c0;
#line 18 "../src/bezier.vala"
dy = _tmp39_.y;
#line 20 "../src/bezier.vala"
_tmp40_ = *segment;
#line 20 "../src/bezier.vala"
_tmp41_ = _tmp40_.to;
#line 20 "../src/bezier.vala"
_tmp42_ = *segment;
#line 20 "../src/bezier.vala"
_tmp43_ = _tmp42_.from;
#line 20 "../src/bezier.vala"
vx = _tmp41_.y - _tmp43_.y;
#line 21 "../src/bezier.vala"
_tmp44_ = *segment;
#line 21 "../src/bezier.vala"
_tmp45_ = _tmp44_.from;
#line 21 "../src/bezier.vala"
_tmp46_ = *segment;
#line 21 "../src/bezier.vala"
_tmp47_ = _tmp46_.to;
#line 21 "../src/bezier.vala"
vy = _tmp45_.x - _tmp47_.x;
#line 23 "../src/bezier.vala"
_tmp48_ = *segment;
#line 23 "../src/bezier.vala"
_tmp49_ = _tmp48_.from;
#line 23 "../src/bezier.vala"
_tmp50_ = *segment;
#line 23 "../src/bezier.vala"
_tmp51_ = _tmp50_.from;
#line 23 "../src/bezier.vala"
d = (_tmp49_.x * vx) + (_tmp51_.y * vy);
#line 25 "../src/bezier.vala"
_tmp52_ = live_chart_get_cubic_roots ((vx * ax) + (vy * ay), (vx * bx) + (vy * by), (vx * cx) + (vy * cy), ((vx * dx) + (vy * dy)) - d);
#line 25 "../src/bezier.vala"
roots = _tmp52_;
#line 32 "../src/bezier.vala"
_tmp53_ = gee_array_list_new (LIVE_CHART_TYPE_COORD, (GBoxedCopyFunc) live_chart_coord_dup, (GDestroyNotify) live_chart_coord_free, NULL, NULL, NULL);
#line 32 "../src/bezier.vala"
results = _tmp53_;
#line 234 "bezier.c"
{
gint i = 0;
#line 33 "../src/bezier.vala"
i = 0;
#line 239 "bezier.c"
{
gboolean _tmp54_ = FALSE;
#line 33 "../src/bezier.vala"
_tmp54_ = TRUE;
#line 33 "../src/bezier.vala"
while (TRUE) {
#line 246 "bezier.c"
GeeList* _tmp56_;
gint _tmp57_;
gint _tmp58_;
gdouble* root = NULL;
GeeList* _tmp59_;
gpointer _tmp60_;
gboolean _tmp61_ = FALSE;
gdouble* _tmp62_;
GeeArrayList* _tmp64_;
gdouble* _tmp65_;
gdouble* _tmp66_;
gdouble* _tmp67_;
gdouble* _tmp68_;
gdouble* _tmp69_;
gdouble* _tmp70_;
LiveChartCoord _tmp71_ = {0};
#line 33 "../src/bezier.vala"
if (!_tmp54_) {
#line 265 "bezier.c"
gint _tmp55_;
#line 33 "../src/bezier.vala"
_tmp55_ = i;
#line 33 "../src/bezier.vala"
i = _tmp55_ + 1;
#line 271 "bezier.c"
}
#line 33 "../src/bezier.vala"
_tmp54_ = FALSE;
#line 33 "../src/bezier.vala"
_tmp56_ = roots;
#line 33 "../src/bezier.vala"
_tmp57_ = gee_collection_get_size ((GeeCollection*) _tmp56_);
#line 33 "../src/bezier.vala"
_tmp58_ = _tmp57_;
#line 33 "../src/bezier.vala"
if (!(i < _tmp58_)) {
#line 33 "../src/bezier.vala"
break;
#line 285 "bezier.c"
}
#line 34 "../src/bezier.vala"
_tmp59_ = roots;
#line 34 "../src/bezier.vala"
_tmp60_ = gee_list_get (_tmp59_, i);
#line 34 "../src/bezier.vala"
root = (gdouble*) _tmp60_;
#line 35 "../src/bezier.vala"
_tmp62_ = root;
#line 35 "../src/bezier.vala"
if (((gdouble) 0) > (*_tmp62_)) {
#line 35 "../src/bezier.vala"
_tmp61_ = TRUE;
#line 299 "bezier.c"
} else {
gdouble* _tmp63_;
#line 35 "../src/bezier.vala"
_tmp63_ = root;
#line 35 "../src/bezier.vala"
_tmp61_ = (*_tmp63_) > ((gdouble) 1);
#line 306 "bezier.c"
}
#line 35 "../src/bezier.vala"
if (_tmp61_) {
#line 35 "../src/bezier.vala"
_g_free0 (root);
#line 35 "../src/bezier.vala"
continue;
#line 314 "bezier.c"
}
#line 36 "../src/bezier.vala"
_tmp64_ = results;
#line 36 "../src/bezier.vala"
_tmp65_ = root;
#line 36 "../src/bezier.vala"
_tmp66_ = root;
#line 36 "../src/bezier.vala"
_tmp67_ = root;
#line 36 "../src/bezier.vala"
_tmp68_ = root;
#line 36 "../src/bezier.vala"
_tmp69_ = root;
#line 36 "../src/bezier.vala"
_tmp70_ = root;
#line 36 "../src/bezier.vala"
_tmp71_.x = (((((ax * (*_tmp65_)) + bx) * (*_tmp66_)) + cx) * (*_tmp67_)) + dx;
#line 36 "../src/bezier.vala"
_tmp71_.y = (((((ay * (*_tmp68_)) + by) * (*_tmp69_)) + cy) * (*_tmp70_)) + dy;
#line 36 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp64_, &_tmp71_);
#line 33 "../src/bezier.vala"
_g_free0 (root);
#line 338 "bezier.c"
}
}
}
#line 42 "../src/bezier.vala"
result = (GeeList*) results;
#line 42 "../src/bezier.vala"
_g_object_unref0 (roots);
#line 42 "../src/bezier.vala"
return result;
#line 348 "bezier.c"
}
static gdouble*
_double_dup (gdouble* self)
{
gdouble* dup;
#line 47 "../src/bezier.vala"
dup = g_new0 (gdouble, 1);
#line 47 "../src/bezier.vala"
memcpy (dup, self, sizeof (gdouble));
#line 47 "../src/bezier.vala"
return dup;
#line 361 "bezier.c"
}
GeeList*
live_chart_get_cubic_roots (gdouble C3,
gdouble C2,
gdouble C1,
gdouble C0)
{
GeeArrayList* roots = NULL;
GeeArrayList* _tmp0_;
gdouble c3 = 0.0;
gdouble c2 = 0.0;
gdouble c1 = 0.0;
gdouble c0 = 0.0;
gdouble a = 0.0;
gdouble b = 0.0;
gdouble offset = 0.0;
gdouble discrim = 0.0;
gdouble halfB = 0.0;
gdouble tmp = 0.0;
gdouble root = 0.0;
GeeList* result;
#line 47 "../src/bezier.vala"
_tmp0_ = gee_array_list_new (G_TYPE_DOUBLE, (GBoxedCopyFunc) _double_dup, (GDestroyNotify) g_free, NULL, NULL, NULL);
#line 47 "../src/bezier.vala"
roots = _tmp0_;
#line 50 "../src/bezier.vala"
c3 = C3;
#line 51 "../src/bezier.vala"
c2 = C2 / c3;
#line 52 "../src/bezier.vala"
c1 = C1 / c3;
#line 53 "../src/bezier.vala"
c0 = C0 / c3;
#line 55 "../src/bezier.vala"
a = ((3 * c1) - (c2 * c2)) / 3;
#line 56 "../src/bezier.vala"
b = (((((2 * c2) * c2) * c2) - ((9 * c1) * c2)) + (27 * c0)) / 27;
#line 57 "../src/bezier.vala"
offset = c2 / 3;
#line 58 "../src/bezier.vala"
discrim = ((b * b) / 4) + (((a * a) * a) / 27);
#line 59 "../src/bezier.vala"
halfB = b / 2;
#line 61 "../src/bezier.vala"
tmp = (gdouble) 0;
#line 62 "../src/bezier.vala"
root = (gdouble) 0;
#line 64 "../src/bezier.vala"
if (fabs (discrim) <= LIVE_CHART_POLYNOMIAL_TOLERANCE) {
#line 64 "../src/bezier.vala"
discrim = (gdouble) 0;
#line 414 "bezier.c"
}
#line 66 "../src/bezier.vala"
if (discrim > ((gdouble) 0)) {
#line 418 "bezier.c"
gdouble e = 0.0;
GeeArrayList* _tmp1_;
gdouble _tmp2_;
#line 67 "../src/bezier.vala"
e = sqrt (discrim);
#line 69 "../src/bezier.vala"
tmp = (-halfB) + e;
#line 70 "../src/bezier.vala"
if (tmp >= ((gdouble) 0)) {
#line 70 "../src/bezier.vala"
root = pow (tmp, (gdouble) (1 / 3));
#line 430 "bezier.c"
} else {
#line 71 "../src/bezier.vala"
root = -pow (-tmp, (gdouble) (1 / 3));
#line 434 "bezier.c"
}
#line 73 "../src/bezier.vala"
tmp = (-halfB) - e;
#line 74 "../src/bezier.vala"
if (tmp >= ((gdouble) 0)) {
#line 74 "../src/bezier.vala"
root += pow (tmp, (gdouble) (1 / 3));
#line 442 "bezier.c"
} else {
#line 75 "../src/bezier.vala"
root -= pow (-tmp, (gdouble) (1 / 3));
#line 446 "bezier.c"
}
#line 77 "../src/bezier.vala"
_tmp1_ = roots;
#line 77 "../src/bezier.vala"
_tmp2_ = root - offset;
#line 77 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp1_, &_tmp2_);
#line 454 "bezier.c"
} else {
#line 78 "../src/bezier.vala"
if (discrim < ((gdouble) 0)) {
#line 458 "bezier.c"
gdouble distance = 0.0;
gdouble angle = 0.0;
gdouble _cos = 0.0;
gdouble _sin = 0.0;
gdouble sqrt3 = 0.0;
GeeArrayList* _tmp3_;
gdouble _tmp4_;
GeeArrayList* _tmp5_;
gdouble _tmp6_;
GeeArrayList* _tmp7_;
gdouble _tmp8_;
#line 79 "../src/bezier.vala"
distance = sqrt ((-a) / 3);
#line 80 "../src/bezier.vala"
angle = atan2 (sqrt (-discrim), -halfB) / 3;
#line 81 "../src/bezier.vala"
_cos = cos (angle);
#line 82 "../src/bezier.vala"
_sin = sin (angle);
#line 83 "../src/bezier.vala"
sqrt3 = sqrt ((gdouble) 3);
#line 85 "../src/bezier.vala"
_tmp3_ = roots;
#line 85 "../src/bezier.vala"
_tmp4_ = ((2 * distance) * _cos) - offset;
#line 85 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp3_, &_tmp4_);
#line 86 "../src/bezier.vala"
_tmp5_ = roots;
#line 86 "../src/bezier.vala"
_tmp6_ = ((-distance) * (_cos + (sqrt3 * _sin))) - offset;
#line 86 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp5_, &_tmp6_);
#line 87 "../src/bezier.vala"
_tmp7_ = roots;
#line 87 "../src/bezier.vala"
_tmp8_ = ((-distance) * (_cos - (sqrt3 * _sin))) - offset;
#line 87 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp7_, &_tmp8_);
#line 498 "bezier.c"
} else {
GeeArrayList* _tmp9_;
gdouble _tmp10_;
GeeArrayList* _tmp11_;
gdouble _tmp12_;
#line 89 "../src/bezier.vala"
if (halfB >= ((gdouble) 0)) {
#line 89 "../src/bezier.vala"
tmp = -pow (halfB, (gdouble) (1 / 3));
#line 508 "bezier.c"
} else {
#line 90 "../src/bezier.vala"
tmp = pow (-halfB, (gdouble) (1 / 3));
#line 512 "bezier.c"
}
#line 92 "../src/bezier.vala"
_tmp9_ = roots;
#line 92 "../src/bezier.vala"
_tmp10_ = (2 * tmp) - offset;
#line 92 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp9_, &_tmp10_);
#line 94 "../src/bezier.vala"
_tmp11_ = roots;
#line 94 "../src/bezier.vala"
_tmp12_ = (-tmp) - offset;
#line 94 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp11_, &_tmp12_);
#line 526 "bezier.c"
}
}
#line 97 "../src/bezier.vala"
result = (GeeList*) roots;
#line 97 "../src/bezier.vala"
return result;
#line 533 "bezier.c"
}

View File

@ -0,0 +1,350 @@
/* bounds.c generated by valac 0.56.0, the Vala compiler
* generated from bounds.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <float.h>
#include <math.h>
#include <glib-object.h>
enum {
LIVE_CHART_BOUNDS_0_PROPERTY,
LIVE_CHART_BOUNDS_LOWER_PROPERTY,
LIVE_CHART_BOUNDS_UPPER_PROPERTY,
LIVE_CHART_BOUNDS_NUM_PROPERTIES
};
static GParamSpec* live_chart_bounds_properties[LIVE_CHART_BOUNDS_NUM_PROPERTIES];
struct _LiveChartBoundsPrivate {
gdouble _lower;
gdouble _upper;
};
static gint LiveChartBounds_private_offset;
static gpointer live_chart_bounds_parent_class = NULL;
static void live_chart_bounds_set_lower (LiveChartBounds* self,
gdouble value);
static void live_chart_bounds_set_upper (LiveChartBounds* self,
gdouble value);
static void live_chart_bounds_finalize (GObject * obj);
static GType live_chart_bounds_get_type_once (void);
static void _vala_live_chart_bounds_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_bounds_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer
live_chart_bounds_get_instance_private (LiveChartBounds* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartBounds_private_offset);
}
LiveChartBounds*
live_chart_bounds_construct (GType object_type,
gdouble lower,
gdouble upper)
{
LiveChartBounds * self = NULL;
#line 12 "../src/bounds.vala"
self = (LiveChartBounds*) g_object_new (object_type, NULL);
#line 13 "../src/bounds.vala"
live_chart_bounds_set_lower (self, lower);
#line 14 "../src/bounds.vala"
live_chart_bounds_set_upper (self, upper);
#line 12 "../src/bounds.vala"
return self;
#line 62 "bounds.c"
}
LiveChartBounds*
live_chart_bounds_new (gdouble lower,
gdouble upper)
{
#line 12 "../src/bounds.vala"
return live_chart_bounds_construct (LIVE_CHART_TYPE_BOUNDS, lower, upper);
#line 71 "bounds.c"
}
gboolean
live_chart_bounds_has_lower (LiveChartBounds* self)
{
gdouble _tmp0_;
gboolean result;
#line 17 "../src/bounds.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 18 "../src/bounds.vala"
_tmp0_ = self->priv->_lower;
#line 18 "../src/bounds.vala"
result = !isnan (_tmp0_);
#line 18 "../src/bounds.vala"
return result;
#line 87 "bounds.c"
}
gboolean
live_chart_bounds_has_upper (LiveChartBounds* self)
{
gdouble _tmp0_;
gboolean result;
#line 21 "../src/bounds.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 22 "../src/bounds.vala"
_tmp0_ = self->priv->_upper;
#line 22 "../src/bounds.vala"
result = !isnan (_tmp0_);
#line 22 "../src/bounds.vala"
return result;
#line 103 "bounds.c"
}
gboolean
live_chart_bounds_update (LiveChartBounds* self,
gdouble value)
{
gboolean updated = FALSE;
gdouble _tmp0_;
gdouble _tmp1_;
gboolean result;
#line 25 "../src/bounds.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 26 "../src/bounds.vala"
updated = FALSE;
#line 27 "../src/bounds.vala"
if (!live_chart_bounds_has_lower (self)) {
#line 28 "../src/bounds.vala"
live_chart_bounds_set_lower (self, value);
#line 29 "../src/bounds.vala"
updated = TRUE;
#line 124 "bounds.c"
}
#line 32 "../src/bounds.vala"
if (!live_chart_bounds_has_upper (self)) {
#line 33 "../src/bounds.vala"
live_chart_bounds_set_upper (self, value);
#line 34 "../src/bounds.vala"
updated = TRUE;
#line 132 "bounds.c"
}
#line 36 "../src/bounds.vala"
_tmp0_ = self->priv->_lower;
#line 36 "../src/bounds.vala"
if (value < _tmp0_) {
#line 37 "../src/bounds.vala"
live_chart_bounds_set_lower (self, value);
#line 38 "../src/bounds.vala"
updated = TRUE;
#line 142 "bounds.c"
}
#line 40 "../src/bounds.vala"
_tmp1_ = self->priv->_upper;
#line 40 "../src/bounds.vala"
if (value > _tmp1_) {
#line 41 "../src/bounds.vala"
live_chart_bounds_set_upper (self, value);
#line 42 "../src/bounds.vala"
updated = TRUE;
#line 152 "bounds.c"
}
#line 44 "../src/bounds.vala"
result = updated;
#line 44 "../src/bounds.vala"
return result;
#line 158 "bounds.c"
}
gdouble
live_chart_bounds_get_lower (LiveChartBounds* self)
{
gdouble result;
#line 6 "../src/bounds.vala"
g_return_val_if_fail (self != NULL, 0.0);
#line 6 "../src/bounds.vala"
result = self->priv->_lower;
#line 6 "../src/bounds.vala"
return result;
#line 171 "bounds.c"
}
static void
live_chart_bounds_set_lower (LiveChartBounds* self,
gdouble value)
{
gdouble old_value;
#line 6 "../src/bounds.vala"
g_return_if_fail (self != NULL);
#line 6 "../src/bounds.vala"
old_value = live_chart_bounds_get_lower (self);
#line 6 "../src/bounds.vala"
if (old_value != value) {
#line 6 "../src/bounds.vala"
self->priv->_lower = value;
#line 6 "../src/bounds.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_bounds_properties[LIVE_CHART_BOUNDS_LOWER_PROPERTY]);
#line 189 "bounds.c"
}
}
gdouble
live_chart_bounds_get_upper (LiveChartBounds* self)
{
gdouble result;
#line 9 "../src/bounds.vala"
g_return_val_if_fail (self != NULL, 0.0);
#line 9 "../src/bounds.vala"
result = self->priv->_upper;
#line 9 "../src/bounds.vala"
return result;
#line 203 "bounds.c"
}
static void
live_chart_bounds_set_upper (LiveChartBounds* self,
gdouble value)
{
gdouble old_value;
#line 9 "../src/bounds.vala"
g_return_if_fail (self != NULL);
#line 9 "../src/bounds.vala"
old_value = live_chart_bounds_get_upper (self);
#line 9 "../src/bounds.vala"
if (old_value != value) {
#line 9 "../src/bounds.vala"
self->priv->_upper = value;
#line 9 "../src/bounds.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_bounds_properties[LIVE_CHART_BOUNDS_UPPER_PROPERTY]);
#line 221 "bounds.c"
}
}
static void
live_chart_bounds_class_init (LiveChartBoundsClass * klass,
gpointer klass_data)
{
#line 3 "../src/bounds.vala"
live_chart_bounds_parent_class = g_type_class_peek_parent (klass);
#line 3 "../src/bounds.vala"
g_type_class_adjust_private_offset (klass, &LiveChartBounds_private_offset);
#line 3 "../src/bounds.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_bounds_get_property;
#line 3 "../src/bounds.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_bounds_set_property;
#line 3 "../src/bounds.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_bounds_finalize;
#line 3 "../src/bounds.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_BOUNDS_LOWER_PROPERTY, live_chart_bounds_properties[LIVE_CHART_BOUNDS_LOWER_PROPERTY] = g_param_spec_double ("lower", "lower", "lower", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
#line 3 "../src/bounds.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_BOUNDS_UPPER_PROPERTY, live_chart_bounds_properties[LIVE_CHART_BOUNDS_UPPER_PROPERTY] = g_param_spec_double ("upper", "upper", "upper", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
#line 243 "bounds.c"
}
static void
live_chart_bounds_instance_init (LiveChartBounds * self,
gpointer klass)
{
#line 3 "../src/bounds.vala"
self->priv = live_chart_bounds_get_instance_private (self);
#line 252 "bounds.c"
}
static void
live_chart_bounds_finalize (GObject * obj)
{
LiveChartBounds * self;
#line 3 "../src/bounds.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_BOUNDS, LiveChartBounds);
#line 3 "../src/bounds.vala"
G_OBJECT_CLASS (live_chart_bounds_parent_class)->finalize (obj);
#line 263 "bounds.c"
}
static GType
live_chart_bounds_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartBoundsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_bounds_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartBounds), 0, (GInstanceInitFunc) live_chart_bounds_instance_init, NULL };
GType live_chart_bounds_type_id;
live_chart_bounds_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartBounds", &g_define_type_info, 0);
LiveChartBounds_private_offset = g_type_add_instance_private (live_chart_bounds_type_id, sizeof (LiveChartBoundsPrivate));
return live_chart_bounds_type_id;
}
GType
live_chart_bounds_get_type (void)
{
static volatile gsize live_chart_bounds_type_id__once = 0;
if (g_once_init_enter (&live_chart_bounds_type_id__once)) {
GType live_chart_bounds_type_id;
live_chart_bounds_type_id = live_chart_bounds_get_type_once ();
g_once_init_leave (&live_chart_bounds_type_id__once, live_chart_bounds_type_id);
}
return live_chart_bounds_type_id__once;
}
static void
_vala_live_chart_bounds_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartBounds * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_BOUNDS, LiveChartBounds);
#line 3 "../src/bounds.vala"
switch (property_id) {
#line 3 "../src/bounds.vala"
case LIVE_CHART_BOUNDS_LOWER_PROPERTY:
#line 3 "../src/bounds.vala"
g_value_set_double (value, live_chart_bounds_get_lower (self));
#line 3 "../src/bounds.vala"
break;
#line 3 "../src/bounds.vala"
case LIVE_CHART_BOUNDS_UPPER_PROPERTY:
#line 3 "../src/bounds.vala"
g_value_set_double (value, live_chart_bounds_get_upper (self));
#line 3 "../src/bounds.vala"
break;
#line 310 "bounds.c"
default:
#line 3 "../src/bounds.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 3 "../src/bounds.vala"
break;
#line 316 "bounds.c"
}
}
static void
_vala_live_chart_bounds_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartBounds * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_BOUNDS, LiveChartBounds);
#line 3 "../src/bounds.vala"
switch (property_id) {
#line 3 "../src/bounds.vala"
case LIVE_CHART_BOUNDS_LOWER_PROPERTY:
#line 3 "../src/bounds.vala"
live_chart_bounds_set_lower (self, g_value_get_double (value));
#line 3 "../src/bounds.vala"
break;
#line 3 "../src/bounds.vala"
case LIVE_CHART_BOUNDS_UPPER_PROPERTY:
#line 3 "../src/bounds.vala"
live_chart_bounds_set_upper (self, g_value_get_double (value));
#line 3 "../src/bounds.vala"
break;
#line 342 "bounds.c"
default:
#line 3 "../src/bounds.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 3 "../src/bounds.vala"
break;
#line 348 "bounds.c"
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,222 @@
/* drawable.c generated by valac 0.56.0, the Vala compiler
* generated from drawable.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <string.h>
#include <cairo-gobject.h>
static GType live_chart_drawable_get_type_once (void);
static GType live_chart_colorable_get_type_once (void);
LiveChartBoundingBox*
live_chart_bounding_box_dup (const LiveChartBoundingBox* self)
{
LiveChartBoundingBox* dup;
#line 4 "../src/drawable.vala"
dup = g_new0 (LiveChartBoundingBox, 1);
#line 4 "../src/drawable.vala"
memcpy (dup, self, sizeof (LiveChartBoundingBox));
#line 4 "../src/drawable.vala"
return dup;
#line 23 "drawable.c"
}
void
live_chart_bounding_box_free (LiveChartBoundingBox* self)
{
#line 4 "../src/drawable.vala"
g_free (self);
#line 31 "drawable.c"
}
static GType
live_chart_bounding_box_get_type_once (void)
{
GType live_chart_bounding_box_type_id;
live_chart_bounding_box_type_id = g_boxed_type_register_static ("LiveChartBoundingBox", (GBoxedCopyFunc) live_chart_bounding_box_dup, (GBoxedFreeFunc) live_chart_bounding_box_free);
return live_chart_bounding_box_type_id;
}
GType
live_chart_bounding_box_get_type (void)
{
static volatile gsize live_chart_bounding_box_type_id__once = 0;
if (g_once_init_enter (&live_chart_bounding_box_type_id__once)) {
GType live_chart_bounding_box_type_id;
live_chart_bounding_box_type_id = live_chart_bounding_box_get_type_once ();
g_once_init_leave (&live_chart_bounding_box_type_id__once, live_chart_bounding_box_type_id);
}
return live_chart_bounding_box_type_id__once;
}
void
live_chart_drawable_draw (LiveChartDrawable* self,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartDrawableIface* _iface_;
#line 13 "../src/drawable.vala"
g_return_if_fail (self != NULL);
#line 13 "../src/drawable.vala"
_iface_ = LIVE_CHART_DRAWABLE_GET_INTERFACE (self);
#line 13 "../src/drawable.vala"
if (_iface_->draw) {
#line 13 "../src/drawable.vala"
_iface_->draw (self, ctx, config);
#line 68 "drawable.c"
}
}
void
live_chart_drawable_get_bounding_box (LiveChartDrawable* self,
LiveChartBoundingBox* result)
{
LiveChartDrawableIface* _iface_;
#line 15 "../src/drawable.vala"
g_return_if_fail (self != NULL);
#line 15 "../src/drawable.vala"
_iface_ = LIVE_CHART_DRAWABLE_GET_INTERFACE (self);
#line 15 "../src/drawable.vala"
if (_iface_->get_bounding_box) {
#line 15 "../src/drawable.vala"
_iface_->get_bounding_box (self, result);
#line 85 "drawable.c"
}
}
gboolean
live_chart_drawable_get_visible (LiveChartDrawable* self)
{
LiveChartDrawableIface* _iface_;
#line 11 "../src/drawable.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 11 "../src/drawable.vala"
_iface_ = LIVE_CHART_DRAWABLE_GET_INTERFACE (self);
#line 11 "../src/drawable.vala"
if (_iface_->get_visible) {
#line 11 "../src/drawable.vala"
return _iface_->get_visible (self);
#line 101 "drawable.c"
}
#line 11 "../src/drawable.vala"
return FALSE;
#line 105 "drawable.c"
}
void
live_chart_drawable_set_visible (LiveChartDrawable* self,
gboolean value)
{
LiveChartDrawableIface* _iface_;
#line 11 "../src/drawable.vala"
g_return_if_fail (self != NULL);
#line 11 "../src/drawable.vala"
_iface_ = LIVE_CHART_DRAWABLE_GET_INTERFACE (self);
#line 11 "../src/drawable.vala"
if (_iface_->set_visible) {
#line 11 "../src/drawable.vala"
_iface_->set_visible (self, value);
#line 121 "drawable.c"
}
}
static void
live_chart_drawable_default_init (LiveChartDrawableIface * iface,
gpointer iface_data)
{
#line 10 "../src/drawable.vala"
g_object_interface_install_property (iface, g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 131 "drawable.c"
}
static GType
live_chart_drawable_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartDrawableIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_drawable_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
GType live_chart_drawable_type_id;
live_chart_drawable_type_id = g_type_register_static (G_TYPE_INTERFACE, "LiveChartDrawable", &g_define_type_info, 0);
g_type_interface_add_prerequisite (live_chart_drawable_type_id, G_TYPE_OBJECT);
return live_chart_drawable_type_id;
}
GType
live_chart_drawable_get_type (void)
{
static volatile gsize live_chart_drawable_type_id__once = 0;
if (g_once_init_enter (&live_chart_drawable_type_id__once)) {
GType live_chart_drawable_type_id;
live_chart_drawable_type_id = live_chart_drawable_get_type_once ();
g_once_init_leave (&live_chart_drawable_type_id__once, live_chart_drawable_type_id);
}
return live_chart_drawable_type_id__once;
}
void
live_chart_colorable_get_main_color (LiveChartColorable* self,
GdkRGBA * result)
{
LiveChartColorableIface* _iface_;
#line 22 "../src/drawable.vala"
g_return_if_fail (self != NULL);
#line 22 "../src/drawable.vala"
_iface_ = LIVE_CHART_COLORABLE_GET_INTERFACE (self);
#line 22 "../src/drawable.vala"
if (_iface_->get_main_color) {
#line 22 "../src/drawable.vala"
_iface_->get_main_color (self, result);
#line 169 "drawable.c"
}
#line 22 "../src/drawable.vala"
return;
#line 173 "drawable.c"
}
void
live_chart_colorable_set_main_color (LiveChartColorable* self,
GdkRGBA * value)
{
LiveChartColorableIface* _iface_;
#line 22 "../src/drawable.vala"
g_return_if_fail (self != NULL);
#line 22 "../src/drawable.vala"
_iface_ = LIVE_CHART_COLORABLE_GET_INTERFACE (self);
#line 22 "../src/drawable.vala"
if (_iface_->set_main_color) {
#line 22 "../src/drawable.vala"
_iface_->set_main_color (self, value);
#line 189 "drawable.c"
}
}
static void
live_chart_colorable_default_init (LiveChartColorableIface * iface,
gpointer iface_data)
{
#line 20 "../src/drawable.vala"
g_object_interface_install_property (iface, g_param_spec_boxed ("main-color", "main-color", "main-color", gdk_rgba_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_DEPRECATED));
#line 199 "drawable.c"
}
static GType
live_chart_colorable_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartColorableIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_colorable_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
GType live_chart_colorable_type_id;
live_chart_colorable_type_id = g_type_register_static (G_TYPE_INTERFACE, "LiveChartColorable", &g_define_type_info, 0);
g_type_interface_add_prerequisite (live_chart_colorable_type_id, G_TYPE_OBJECT);
return live_chart_colorable_type_id;
}
GType
live_chart_colorable_get_type (void)
{
static volatile gsize live_chart_colorable_type_id__once = 0;
if (g_once_init_enter (&live_chart_colorable_type_id__once)) {
GType live_chart_colorable_type_id;
live_chart_colorable_type_id = live_chart_colorable_get_type_once ();
g_once_init_leave (&live_chart_colorable_type_id__once, live_chart_colorable_type_id);
}
return live_chart_colorable_type_id__once;
}

View File

@ -0,0 +1,544 @@
/* font.c generated by valac 0.56.0, the Vala compiler
* generated from font.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <cairo-gobject.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <gobject/gvaluecollector.h>
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _LiveChartParamSpecFont LiveChartParamSpecFont;
struct _LiveChartFontPrivate {
guint8 _size;
gchar* _face;
cairo_font_slant_t _slant;
cairo_font_weight_t _weight;
GdkRGBA _color;
};
struct _LiveChartParamSpecFont {
GParamSpec parent_instance;
};
static gint LiveChartFont_private_offset;
static gpointer live_chart_font_parent_class = NULL;
static void live_chart_font_finalize (LiveChartFont * obj);
static GType live_chart_font_get_type_once (void);
static inline gpointer
live_chart_font_get_instance_private (LiveChartFont* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartFont_private_offset);
}
LiveChartFont*
live_chart_font_construct (GType object_type)
{
LiveChartFont* self = NULL;
GdkRGBA _tmp0_ = {0};
#line 12 "../src/font.vala"
self = (LiveChartFont*) g_type_create_instance (object_type);
#line 13 "../src/font.vala"
live_chart_font_set_size (self, (guint8) 10);
#line 14 "../src/font.vala"
live_chart_font_set_face (self, "Sans serif");
#line 15 "../src/font.vala"
live_chart_font_set_slant (self, CAIRO_FONT_SLANT_NORMAL);
#line 16 "../src/font.vala"
live_chart_font_set_weight (self, CAIRO_FONT_WEIGHT_NORMAL);
#line 17 "../src/font.vala"
_tmp0_.red = 0.4;
#line 17 "../src/font.vala"
_tmp0_.green = 0.4;
#line 17 "../src/font.vala"
_tmp0_.blue = 0.4;
#line 17 "../src/font.vala"
_tmp0_.alpha = 1.0;
#line 17 "../src/font.vala"
live_chart_font_set_color (self, &_tmp0_);
#line 12 "../src/font.vala"
return self;
#line 69 "font.c"
}
LiveChartFont*
live_chart_font_new (void)
{
#line 12 "../src/font.vala"
return live_chart_font_construct (LIVE_CHART_TYPE_FONT);
#line 77 "font.c"
}
void
live_chart_font_configure (LiveChartFont* self,
cairo_t* ctx)
{
const gchar* _tmp0_;
cairo_font_slant_t _tmp1_;
cairo_font_weight_t _tmp2_;
guint8 _tmp3_;
GdkRGBA _tmp4_;
GdkRGBA _tmp5_;
GdkRGBA _tmp6_;
GdkRGBA _tmp7_;
#line 20 "../src/font.vala"
g_return_if_fail (self != NULL);
#line 20 "../src/font.vala"
g_return_if_fail (ctx != NULL);
#line 21 "../src/font.vala"
_tmp0_ = self->priv->_face;
#line 21 "../src/font.vala"
_tmp1_ = self->priv->_slant;
#line 21 "../src/font.vala"
_tmp2_ = self->priv->_weight;
#line 21 "../src/font.vala"
cairo_select_font_face (ctx, _tmp0_, _tmp1_, _tmp2_);
#line 22 "../src/font.vala"
_tmp3_ = self->priv->_size;
#line 22 "../src/font.vala"
cairo_set_font_size (ctx, (gdouble) _tmp3_);
#line 23 "../src/font.vala"
_tmp4_ = self->priv->_color;
#line 23 "../src/font.vala"
_tmp5_ = self->priv->_color;
#line 23 "../src/font.vala"
_tmp6_ = self->priv->_color;
#line 23 "../src/font.vala"
_tmp7_ = self->priv->_color;
#line 23 "../src/font.vala"
cairo_set_source_rgba (ctx, _tmp4_.red, _tmp5_.green, _tmp6_.blue, _tmp7_.alpha);
#line 118 "font.c"
}
guint8
live_chart_font_get_size (LiveChartFont* self)
{
guint8 result;
#line 6 "../src/font.vala"
g_return_val_if_fail (self != NULL, 0U);
#line 6 "../src/font.vala"
result = self->priv->_size;
#line 6 "../src/font.vala"
return result;
#line 131 "font.c"
}
void
live_chart_font_set_size (LiveChartFont* self,
guint8 value)
{
#line 6 "../src/font.vala"
g_return_if_fail (self != NULL);
#line 6 "../src/font.vala"
self->priv->_size = value;
#line 142 "font.c"
}
const gchar*
live_chart_font_get_face (LiveChartFont* self)
{
const gchar* result;
const gchar* _tmp0_;
#line 7 "../src/font.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 7 "../src/font.vala"
_tmp0_ = self->priv->_face;
#line 7 "../src/font.vala"
result = _tmp0_;
#line 7 "../src/font.vala"
return result;
#line 158 "font.c"
}
void
live_chart_font_set_face (LiveChartFont* self,
const gchar* value)
{
gchar* _tmp0_;
#line 7 "../src/font.vala"
g_return_if_fail (self != NULL);
#line 7 "../src/font.vala"
_tmp0_ = g_strdup (value);
#line 7 "../src/font.vala"
_g_free0 (self->priv->_face);
#line 7 "../src/font.vala"
self->priv->_face = _tmp0_;
#line 174 "font.c"
}
cairo_font_slant_t
live_chart_font_get_slant (LiveChartFont* self)
{
cairo_font_slant_t result;
#line 8 "../src/font.vala"
g_return_val_if_fail (self != NULL, 0);
#line 8 "../src/font.vala"
result = self->priv->_slant;
#line 8 "../src/font.vala"
return result;
#line 187 "font.c"
}
void
live_chart_font_set_slant (LiveChartFont* self,
cairo_font_slant_t value)
{
#line 8 "../src/font.vala"
g_return_if_fail (self != NULL);
#line 8 "../src/font.vala"
self->priv->_slant = value;
#line 198 "font.c"
}
cairo_font_weight_t
live_chart_font_get_weight (LiveChartFont* self)
{
cairo_font_weight_t result;
#line 9 "../src/font.vala"
g_return_val_if_fail (self != NULL, 0);
#line 9 "../src/font.vala"
result = self->priv->_weight;
#line 9 "../src/font.vala"
return result;
#line 211 "font.c"
}
void
live_chart_font_set_weight (LiveChartFont* self,
cairo_font_weight_t value)
{
#line 9 "../src/font.vala"
g_return_if_fail (self != NULL);
#line 9 "../src/font.vala"
self->priv->_weight = value;
#line 222 "font.c"
}
void
live_chart_font_get_color (LiveChartFont* self,
GdkRGBA * result)
{
GdkRGBA _tmp0_;
#line 10 "../src/font.vala"
g_return_if_fail (self != NULL);
#line 10 "../src/font.vala"
_tmp0_ = self->priv->_color;
#line 10 "../src/font.vala"
*result = _tmp0_;
#line 10 "../src/font.vala"
return;
#line 238 "font.c"
}
void
live_chart_font_set_color (LiveChartFont* self,
GdkRGBA * value)
{
GdkRGBA _tmp0_;
#line 10 "../src/font.vala"
g_return_if_fail (self != NULL);
#line 10 "../src/font.vala"
_tmp0_ = *value;
#line 10 "../src/font.vala"
self->priv->_color = _tmp0_;
#line 252 "font.c"
}
static void
live_chart_value_font_init (GValue* value)
{
#line 5 "../src/font.vala"
value->data[0].v_pointer = NULL;
#line 260 "font.c"
}
static void
live_chart_value_font_free_value (GValue* value)
{
#line 5 "../src/font.vala"
if (value->data[0].v_pointer) {
#line 5 "../src/font.vala"
live_chart_font_unref (value->data[0].v_pointer);
#line 270 "font.c"
}
}
static void
live_chart_value_font_copy_value (const GValue* src_value,
GValue* dest_value)
{
#line 5 "../src/font.vala"
if (src_value->data[0].v_pointer) {
#line 5 "../src/font.vala"
dest_value->data[0].v_pointer = live_chart_font_ref (src_value->data[0].v_pointer);
#line 282 "font.c"
} else {
#line 5 "../src/font.vala"
dest_value->data[0].v_pointer = NULL;
#line 286 "font.c"
}
}
static gpointer
live_chart_value_font_peek_pointer (const GValue* value)
{
#line 5 "../src/font.vala"
return value->data[0].v_pointer;
#line 295 "font.c"
}
static gchar*
live_chart_value_font_collect_value (GValue* value,
guint n_collect_values,
GTypeCValue* collect_values,
guint collect_flags)
{
#line 5 "../src/font.vala"
if (collect_values[0].v_pointer) {
#line 306 "font.c"
LiveChartFont * object;
object = collect_values[0].v_pointer;
#line 5 "../src/font.vala"
if (object->parent_instance.g_class == NULL) {
#line 5 "../src/font.vala"
return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 313 "font.c"
} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 5 "../src/font.vala"
return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 317 "font.c"
}
#line 5 "../src/font.vala"
value->data[0].v_pointer = live_chart_font_ref (object);
#line 321 "font.c"
} else {
#line 5 "../src/font.vala"
value->data[0].v_pointer = NULL;
#line 325 "font.c"
}
#line 5 "../src/font.vala"
return NULL;
#line 329 "font.c"
}
static gchar*
live_chart_value_font_lcopy_value (const GValue* value,
guint n_collect_values,
GTypeCValue* collect_values,
guint collect_flags)
{
LiveChartFont ** object_p;
object_p = collect_values[0].v_pointer;
#line 5 "../src/font.vala"
if (!object_p) {
#line 5 "../src/font.vala"
return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 344 "font.c"
}
#line 5 "../src/font.vala"
if (!value->data[0].v_pointer) {
#line 5 "../src/font.vala"
*object_p = NULL;
#line 350 "font.c"
} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 5 "../src/font.vala"
*object_p = value->data[0].v_pointer;
#line 354 "font.c"
} else {
#line 5 "../src/font.vala"
*object_p = live_chart_font_ref (value->data[0].v_pointer);
#line 358 "font.c"
}
#line 5 "../src/font.vala"
return NULL;
#line 362 "font.c"
}
GParamSpec*
live_chart_param_spec_font (const gchar* name,
const gchar* nick,
const gchar* blurb,
GType object_type,
GParamFlags flags)
{
LiveChartParamSpecFont* spec;
#line 5 "../src/font.vala"
g_return_val_if_fail (g_type_is_a (object_type, LIVE_CHART_TYPE_FONT), NULL);
#line 5 "../src/font.vala"
spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 5 "../src/font.vala"
G_PARAM_SPEC (spec)->value_type = object_type;
#line 5 "../src/font.vala"
return G_PARAM_SPEC (spec);
#line 381 "font.c"
}
gpointer
live_chart_value_get_font (const GValue* value)
{
#line 5 "../src/font.vala"
g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIVE_CHART_TYPE_FONT), NULL);
#line 5 "../src/font.vala"
return value->data[0].v_pointer;
#line 391 "font.c"
}
void
live_chart_value_set_font (GValue* value,
gpointer v_object)
{
LiveChartFont * old;
#line 5 "../src/font.vala"
g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIVE_CHART_TYPE_FONT));
#line 5 "../src/font.vala"
old = value->data[0].v_pointer;
#line 5 "../src/font.vala"
if (v_object) {
#line 5 "../src/font.vala"
g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LIVE_CHART_TYPE_FONT));
#line 5 "../src/font.vala"
g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 5 "../src/font.vala"
value->data[0].v_pointer = v_object;
#line 5 "../src/font.vala"
live_chart_font_ref (value->data[0].v_pointer);
#line 413 "font.c"
} else {
#line 5 "../src/font.vala"
value->data[0].v_pointer = NULL;
#line 417 "font.c"
}
#line 5 "../src/font.vala"
if (old) {
#line 5 "../src/font.vala"
live_chart_font_unref (old);
#line 423 "font.c"
}
}
void
live_chart_value_take_font (GValue* value,
gpointer v_object)
{
LiveChartFont * old;
#line 5 "../src/font.vala"
g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIVE_CHART_TYPE_FONT));
#line 5 "../src/font.vala"
old = value->data[0].v_pointer;
#line 5 "../src/font.vala"
if (v_object) {
#line 5 "../src/font.vala"
g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LIVE_CHART_TYPE_FONT));
#line 5 "../src/font.vala"
g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 5 "../src/font.vala"
value->data[0].v_pointer = v_object;
#line 444 "font.c"
} else {
#line 5 "../src/font.vala"
value->data[0].v_pointer = NULL;
#line 448 "font.c"
}
#line 5 "../src/font.vala"
if (old) {
#line 5 "../src/font.vala"
live_chart_font_unref (old);
#line 454 "font.c"
}
}
static void
live_chart_font_class_init (LiveChartFontClass * klass,
gpointer klass_data)
{
#line 5 "../src/font.vala"
live_chart_font_parent_class = g_type_class_peek_parent (klass);
#line 5 "../src/font.vala"
((LiveChartFontClass *) klass)->finalize = live_chart_font_finalize;
#line 5 "../src/font.vala"
g_type_class_adjust_private_offset (klass, &LiveChartFont_private_offset);
#line 468 "font.c"
}
static void
live_chart_font_instance_init (LiveChartFont * self,
gpointer klass)
{
#line 5 "../src/font.vala"
self->priv = live_chart_font_get_instance_private (self);
#line 5 "../src/font.vala"
self->ref_count = 1;
#line 479 "font.c"
}
static void
live_chart_font_finalize (LiveChartFont * obj)
{
LiveChartFont * self;
#line 5 "../src/font.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_FONT, LiveChartFont);
#line 5 "../src/font.vala"
g_signal_handlers_destroy (self);
#line 7 "../src/font.vala"
_g_free0 (self->priv->_face);
#line 492 "font.c"
}
static GType
live_chart_font_get_type_once (void)
{
static const GTypeValueTable g_define_type_value_table = { live_chart_value_font_init, live_chart_value_font_free_value, live_chart_value_font_copy_value, live_chart_value_font_peek_pointer, "p", live_chart_value_font_collect_value, "p", live_chart_value_font_lcopy_value };
static const GTypeInfo g_define_type_info = { sizeof (LiveChartFontClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_font_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartFont), 0, (GInstanceInitFunc) live_chart_font_instance_init, &g_define_type_value_table };
static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
GType live_chart_font_type_id;
live_chart_font_type_id = g_type_register_fundamental (g_type_fundamental_next (), "LiveChartFont", &g_define_type_info, &g_define_type_fundamental_info, 0);
LiveChartFont_private_offset = g_type_add_instance_private (live_chart_font_type_id, sizeof (LiveChartFontPrivate));
return live_chart_font_type_id;
}
GType
live_chart_font_get_type (void)
{
static volatile gsize live_chart_font_type_id__once = 0;
if (g_once_init_enter (&live_chart_font_type_id__once)) {
GType live_chart_font_type_id;
live_chart_font_type_id = live_chart_font_get_type_once ();
g_once_init_leave (&live_chart_font_type_id__once, live_chart_font_type_id);
}
return live_chart_font_type_id__once;
}
gpointer
live_chart_font_ref (gpointer instance)
{
LiveChartFont * self;
self = instance;
#line 5 "../src/font.vala"
g_atomic_int_inc (&self->ref_count);
#line 5 "../src/font.vala"
return instance;
#line 528 "font.c"
}
void
live_chart_font_unref (gpointer instance)
{
LiveChartFont * self;
self = instance;
#line 5 "../src/font.vala"
if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 5 "../src/font.vala"
LIVE_CHART_FONT_GET_CLASS (self)->finalize (self);
#line 5 "../src/font.vala"
g_type_free_instance ((GTypeInstance *) self);
#line 542 "font.c"
}
}

View File

@ -0,0 +1,213 @@
/* geometry.c generated by valac 0.56.0, the Vala compiler
* generated from geometry.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <string.h>
#include <float.h>
#include <math.h>
LiveChartCoord*
live_chart_coord_dup (const LiveChartCoord* self)
{
LiveChartCoord* dup;
#line 2 "../src/geometry.vala"
dup = g_new0 (LiveChartCoord, 1);
#line 2 "../src/geometry.vala"
memcpy (dup, self, sizeof (LiveChartCoord));
#line 2 "../src/geometry.vala"
return dup;
#line 21 "geometry.c"
}
void
live_chart_coord_free (LiveChartCoord* self)
{
#line 2 "../src/geometry.vala"
g_free (self);
#line 29 "geometry.c"
}
static GType
live_chart_coord_get_type_once (void)
{
GType live_chart_coord_type_id;
live_chart_coord_type_id = g_boxed_type_register_static ("LiveChartCoord", (GBoxedCopyFunc) live_chart_coord_dup, (GBoxedFreeFunc) live_chart_coord_free);
return live_chart_coord_type_id;
}
GType
live_chart_coord_get_type (void)
{
static volatile gsize live_chart_coord_type_id__once = 0;
if (g_once_init_enter (&live_chart_coord_type_id__once)) {
GType live_chart_coord_type_id;
live_chart_coord_type_id = live_chart_coord_get_type_once ();
g_once_init_leave (&live_chart_coord_type_id__once, live_chart_coord_type_id);
}
return live_chart_coord_type_id__once;
}
LiveChartSegment*
live_chart_segment_dup (const LiveChartSegment* self)
{
LiveChartSegment* dup;
#line 7 "../src/geometry.vala"
dup = g_new0 (LiveChartSegment, 1);
#line 7 "../src/geometry.vala"
memcpy (dup, self, sizeof (LiveChartSegment));
#line 7 "../src/geometry.vala"
return dup;
#line 62 "geometry.c"
}
void
live_chart_segment_free (LiveChartSegment* self)
{
#line 7 "../src/geometry.vala"
g_free (self);
#line 70 "geometry.c"
}
static GType
live_chart_segment_get_type_once (void)
{
GType live_chart_segment_type_id;
live_chart_segment_type_id = g_boxed_type_register_static ("LiveChartSegment", (GBoxedCopyFunc) live_chart_segment_dup, (GBoxedFreeFunc) live_chart_segment_free);
return live_chart_segment_type_id;
}
GType
live_chart_segment_get_type (void)
{
static volatile gsize live_chart_segment_type_id__once = 0;
if (g_once_init_enter (&live_chart_segment_type_id__once)) {
GType live_chart_segment_type_id;
live_chart_segment_type_id = live_chart_segment_get_type_once ();
g_once_init_leave (&live_chart_segment_type_id__once, live_chart_segment_type_id);
}
return live_chart_segment_type_id__once;
}
LiveChartBezierCurve*
live_chart_bezier_curve_dup (const LiveChartBezierCurve* self)
{
LiveChartBezierCurve* dup;
#line 11 "../src/geometry.vala"
dup = g_new0 (LiveChartBezierCurve, 1);
#line 11 "../src/geometry.vala"
memcpy (dup, self, sizeof (LiveChartBezierCurve));
#line 11 "../src/geometry.vala"
return dup;
#line 103 "geometry.c"
}
void
live_chart_bezier_curve_free (LiveChartBezierCurve* self)
{
#line 11 "../src/geometry.vala"
g_free (self);
#line 111 "geometry.c"
}
static GType
live_chart_bezier_curve_get_type_once (void)
{
GType live_chart_bezier_curve_type_id;
live_chart_bezier_curve_type_id = g_boxed_type_register_static ("LiveChartBezierCurve", (GBoxedCopyFunc) live_chart_bezier_curve_dup, (GBoxedFreeFunc) live_chart_bezier_curve_free);
return live_chart_bezier_curve_type_id;
}
GType
live_chart_bezier_curve_get_type (void)
{
static volatile gsize live_chart_bezier_curve_type_id__once = 0;
if (g_once_init_enter (&live_chart_bezier_curve_type_id__once)) {
GType live_chart_bezier_curve_type_id;
live_chart_bezier_curve_type_id = live_chart_bezier_curve_get_type_once ();
g_once_init_leave (&live_chart_bezier_curve_type_id__once, live_chart_bezier_curve_type_id);
}
return live_chart_bezier_curve_type_id__once;
}
void
live_chart_build_bezier_curve_from_points (LiveChartPoint* previous,
LiveChartPoint* target,
LiveChartBezierCurve* result)
{
gdouble pressure = 0.0;
LiveChartPoint _tmp0_;
LiveChartPoint _tmp1_;
LiveChartBezierCurve bezier = {0};
LiveChartPoint _tmp2_;
LiveChartPoint _tmp3_;
LiveChartCoord _tmp4_ = {0};
LiveChartPoint _tmp5_;
LiveChartPoint _tmp6_;
LiveChartCoord _tmp7_ = {0};
LiveChartPoint _tmp8_;
LiveChartPoint _tmp9_;
LiveChartCoord _tmp10_ = {0};
LiveChartPoint _tmp11_;
LiveChartPoint _tmp12_;
LiveChartCoord _tmp13_ = {0};
LiveChartBezierCurve _tmp14_ = {0};
#line 18 "../src/geometry.vala"
g_return_if_fail (previous != NULL);
#line 18 "../src/geometry.vala"
g_return_if_fail (target != NULL);
#line 19 "../src/geometry.vala"
_tmp0_ = *target;
#line 19 "../src/geometry.vala"
_tmp1_ = *previous;
#line 19 "../src/geometry.vala"
pressure = (_tmp0_.x - _tmp1_.x) / 2.0;
#line 20 "../src/geometry.vala"
_tmp2_ = *previous;
#line 20 "../src/geometry.vala"
_tmp3_ = *previous;
#line 20 "../src/geometry.vala"
_tmp4_.x = _tmp2_.x;
#line 20 "../src/geometry.vala"
_tmp4_.y = _tmp3_.y;
#line 20 "../src/geometry.vala"
_tmp5_ = *previous;
#line 20 "../src/geometry.vala"
_tmp6_ = *previous;
#line 20 "../src/geometry.vala"
_tmp7_.x = _tmp5_.x + pressure;
#line 20 "../src/geometry.vala"
_tmp7_.y = _tmp6_.y;
#line 20 "../src/geometry.vala"
_tmp8_ = *target;
#line 20 "../src/geometry.vala"
_tmp9_ = *target;
#line 20 "../src/geometry.vala"
_tmp10_.x = _tmp8_.x - pressure;
#line 20 "../src/geometry.vala"
_tmp10_.y = _tmp9_.y;
#line 20 "../src/geometry.vala"
_tmp11_ = *target;
#line 20 "../src/geometry.vala"
_tmp12_ = *target;
#line 20 "../src/geometry.vala"
_tmp13_.x = _tmp11_.x;
#line 20 "../src/geometry.vala"
_tmp13_.y = _tmp12_.y;
#line 20 "../src/geometry.vala"
_tmp14_.c0 = _tmp4_;
#line 20 "../src/geometry.vala"
_tmp14_.c1 = _tmp7_;
#line 20 "../src/geometry.vala"
_tmp14_.c2 = _tmp10_;
#line 20 "../src/geometry.vala"
_tmp14_.c3 = _tmp13_;
#line 20 "../src/geometry.vala"
bezier = _tmp14_;
#line 39 "../src/geometry.vala"
*result = bezier;
#line 39 "../src/geometry.vala"
return;
#line 212 "geometry.c"
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,800 @@
/* intersections.c generated by valac 0.56.0, the Vala compiler
* generated from intersections.vala, do not modify */
#include "livechart.h"
#include <gee.h>
#include <glib-object.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <string.h>
enum {
LIVE_CHART_INTERSECTIONS_0_PROPERTY,
LIVE_CHART_INTERSECTIONS_NUM_PROPERTIES
};
static GParamSpec* live_chart_intersections_properties[LIVE_CHART_INTERSECTIONS_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
enum {
LIVE_CHART_INTERSECTION_0_PROPERTY,
LIVE_CHART_INTERSECTION_REGION_PROPERTY,
LIVE_CHART_INTERSECTION_START_X_PROPERTY,
LIVE_CHART_INTERSECTION_END_X_PROPERTY,
LIVE_CHART_INTERSECTION_NUM_PROPERTIES
};
static GParamSpec* live_chart_intersection_properties[LIVE_CHART_INTERSECTION_NUM_PROPERTIES];
#define _live_chart_region_unref0(var) ((var == NULL) ? NULL : (var = (live_chart_region_unref (var), NULL)))
#define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL)))
struct _LiveChartIntersectionsPrivate {
GeeList* intersections;
};
struct _LiveChartIntersectionPrivate {
LiveChartRegion* _region;
gdouble _start_x;
gdouble _end_x;
};
static gint LiveChartIntersections_private_offset;
static gpointer live_chart_intersections_parent_class = NULL;
static gint LiveChartIntersection_private_offset;
static gpointer live_chart_intersection_parent_class = NULL;
static void live_chart_intersections_finalize (GObject * obj);
static GType live_chart_intersections_get_type_once (void);
static void live_chart_intersection_set_start_x (LiveChartIntersection* self,
gdouble value);
static void live_chart_intersection_set_end_x (LiveChartIntersection* self,
gdouble value);
static gdouble* _double_dup (gdouble* self);
static void live_chart_intersection_finalize (GObject * obj);
static GType live_chart_intersection_get_type_once (void);
static void _vala_live_chart_intersection_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_intersection_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer
live_chart_intersections_get_instance_private (LiveChartIntersections* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartIntersections_private_offset);
}
void
live_chart_intersections_close (LiveChartIntersections* self,
gdouble x,
gdouble exited_at)
{
GeeList* _tmp0_;
gpointer _tmp1_;
LiveChartIntersection* _tmp2_;
#line 5 "../src/intersections.vala"
g_return_if_fail (self != NULL);
#line 6 "../src/intersections.vala"
_tmp0_ = self->priv->intersections;
#line 6 "../src/intersections.vala"
_tmp1_ = gee_list_last (_tmp0_);
#line 6 "../src/intersections.vala"
_tmp2_ = (LiveChartIntersection*) _tmp1_;
#line 6 "../src/intersections.vala"
live_chart_intersection_close (_tmp2_, x, exited_at);
#line 6 "../src/intersections.vala"
_g_object_unref0 (_tmp2_);
#line 89 "intersections.c"
}
void
live_chart_intersections_update (LiveChartIntersections* self,
gdouble x)
{
GeeList* _tmp0_;
gpointer _tmp1_;
LiveChartIntersection* _tmp2_;
#line 9 "../src/intersections.vala"
g_return_if_fail (self != NULL);
#line 10 "../src/intersections.vala"
_tmp0_ = self->priv->intersections;
#line 10 "../src/intersections.vala"
_tmp1_ = gee_list_last (_tmp0_);
#line 10 "../src/intersections.vala"
_tmp2_ = (LiveChartIntersection*) _tmp1_;
#line 10 "../src/intersections.vala"
live_chart_intersection_update (_tmp2_, x);
#line 10 "../src/intersections.vala"
_g_object_unref0 (_tmp2_);
#line 111 "intersections.c"
}
void
live_chart_intersections_open (LiveChartIntersections* self,
LiveChartRegion* region,
gdouble x,
gdouble entered_at)
{
LiveChartIntersection* intersection = NULL;
LiveChartIntersection* _tmp0_;
GeeList* _tmp1_;
#line 13 "../src/intersections.vala"
g_return_if_fail (self != NULL);
#line 13 "../src/intersections.vala"
g_return_if_fail (region != NULL);
#line 14 "../src/intersections.vala"
_tmp0_ = live_chart_intersection_new (region, x, entered_at);
#line 14 "../src/intersections.vala"
intersection = _tmp0_;
#line 15 "../src/intersections.vala"
_tmp1_ = self->priv->intersections;
#line 15 "../src/intersections.vala"
gee_collection_add ((GeeCollection*) _tmp1_, intersection);
#line 13 "../src/intersections.vala"
_g_object_unref0 (intersection);
#line 137 "intersections.c"
}
void
live_chart_intersections_open_without_entrypoint (LiveChartIntersections* self,
LiveChartRegion* region,
gdouble x)
{
LiveChartIntersection* intersection = NULL;
LiveChartIntersection* _tmp0_;
GeeList* _tmp1_;
#line 18 "../src/intersections.vala"
g_return_if_fail (self != NULL);
#line 18 "../src/intersections.vala"
g_return_if_fail (region != NULL);
#line 19 "../src/intersections.vala"
_tmp0_ = live_chart_intersection_new_without_entry_point (region, x);
#line 19 "../src/intersections.vala"
intersection = _tmp0_;
#line 20 "../src/intersections.vala"
_tmp1_ = self->priv->intersections;
#line 20 "../src/intersections.vala"
gee_collection_add ((GeeCollection*) _tmp1_, intersection);
#line 18 "../src/intersections.vala"
_g_object_unref0 (intersection);
#line 162 "intersections.c"
}
void
live_chart_intersections_foreach (LiveChartIntersections* self,
GeeForallFunc f,
gpointer f_target)
{
GeeList* _tmp0_;
#line 23 "../src/intersections.vala"
g_return_if_fail (self != NULL);
#line 24 "../src/intersections.vala"
_tmp0_ = self->priv->intersections;
#line 24 "../src/intersections.vala"
gee_traversable_foreach ((GeeTraversable*) _tmp0_, f, f_target);
#line 177 "intersections.c"
}
gboolean
live_chart_intersections_has_an_opened_intersection (LiveChartIntersections* self)
{
gboolean _tmp0_ = FALSE;
GeeList* _tmp1_;
gint _tmp2_;
gint _tmp3_;
gboolean result;
#line 27 "../src/intersections.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 28 "../src/intersections.vala"
_tmp1_ = self->priv->intersections;
#line 28 "../src/intersections.vala"
_tmp2_ = gee_collection_get_size ((GeeCollection*) _tmp1_);
#line 28 "../src/intersections.vala"
_tmp3_ = _tmp2_;
#line 28 "../src/intersections.vala"
if (_tmp3_ > 0) {
#line 198 "intersections.c"
GeeList* _tmp4_;
gpointer _tmp5_;
LiveChartIntersection* _tmp6_;
#line 28 "../src/intersections.vala"
_tmp4_ = self->priv->intersections;
#line 28 "../src/intersections.vala"
_tmp5_ = gee_list_last (_tmp4_);
#line 28 "../src/intersections.vala"
_tmp6_ = (LiveChartIntersection*) _tmp5_;
#line 28 "../src/intersections.vala"
_tmp0_ = live_chart_intersection_is_open (_tmp6_);
#line 28 "../src/intersections.vala"
_g_object_unref0 (_tmp6_);
#line 212 "intersections.c"
} else {
#line 28 "../src/intersections.vala"
_tmp0_ = FALSE;
#line 216 "intersections.c"
}
#line 28 "../src/intersections.vala"
result = _tmp0_;
#line 28 "../src/intersections.vala"
return result;
#line 222 "intersections.c"
}
static gpointer
_live_chart_region_ref0 (gpointer self)
{
#line 31 "../src/intersections.vala"
return self ? live_chart_region_ref (self) : NULL;
#line 230 "intersections.c"
}
LiveChartRegion*
live_chart_intersections_get_current_region (LiveChartIntersections* self)
{
GeeList* _tmp0_;
gpointer _tmp1_;
LiveChartIntersection* _tmp2_;
LiveChartRegion* _tmp3_;
LiveChartRegion* _tmp4_;
LiveChartRegion* _tmp5_;
LiveChartRegion* _tmp6_;
LiveChartRegion* result;
#line 30 "../src/intersections.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 31 "../src/intersections.vala"
_tmp0_ = self->priv->intersections;
#line 31 "../src/intersections.vala"
_tmp1_ = gee_list_last (_tmp0_);
#line 31 "../src/intersections.vala"
_tmp2_ = (LiveChartIntersection*) _tmp1_;
#line 31 "../src/intersections.vala"
_tmp3_ = live_chart_intersection_get_region (_tmp2_);
#line 31 "../src/intersections.vala"
_tmp4_ = _tmp3_;
#line 31 "../src/intersections.vala"
_tmp5_ = _live_chart_region_ref0 (_tmp4_);
#line 31 "../src/intersections.vala"
_tmp6_ = _tmp5_;
#line 31 "../src/intersections.vala"
_g_object_unref0 (_tmp2_);
#line 31 "../src/intersections.vala"
result = _tmp6_;
#line 31 "../src/intersections.vala"
return result;
#line 266 "intersections.c"
}
gint
live_chart_intersections_size (LiveChartIntersections* self)
{
GeeList* _tmp0_;
gint _tmp1_;
gint _tmp2_;
gint result;
#line 34 "../src/intersections.vala"
g_return_val_if_fail (self != NULL, 0);
#line 35 "../src/intersections.vala"
_tmp0_ = self->priv->intersections;
#line 35 "../src/intersections.vala"
_tmp1_ = gee_collection_get_size ((GeeCollection*) _tmp0_);
#line 35 "../src/intersections.vala"
_tmp2_ = _tmp1_;
#line 35 "../src/intersections.vala"
result = _tmp2_;
#line 35 "../src/intersections.vala"
return result;
#line 288 "intersections.c"
}
LiveChartIntersection*
live_chart_intersections_get (LiveChartIntersections* self,
gint index)
{
GeeList* _tmp0_;
gpointer _tmp1_;
LiveChartIntersection* result;
#line 38 "../src/intersections.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 39 "../src/intersections.vala"
_tmp0_ = self->priv->intersections;
#line 39 "../src/intersections.vala"
_tmp1_ = gee_list_get (_tmp0_, index);
#line 39 "../src/intersections.vala"
result = (LiveChartIntersection*) _tmp1_;
#line 39 "../src/intersections.vala"
return result;
#line 308 "intersections.c"
}
LiveChartIntersections*
live_chart_intersections_construct (GType object_type)
{
LiveChartIntersections * self = NULL;
#line 2 "../src/intersections.vala"
self = (LiveChartIntersections*) g_object_new (object_type, NULL);
#line 2 "../src/intersections.vala"
return self;
#line 319 "intersections.c"
}
LiveChartIntersections*
live_chart_intersections_new (void)
{
#line 2 "../src/intersections.vala"
return live_chart_intersections_construct (LIVE_CHART_TYPE_INTERSECTIONS);
#line 327 "intersections.c"
}
static void
live_chart_intersections_class_init (LiveChartIntersectionsClass * klass,
gpointer klass_data)
{
#line 2 "../src/intersections.vala"
live_chart_intersections_parent_class = g_type_class_peek_parent (klass);
#line 2 "../src/intersections.vala"
g_type_class_adjust_private_offset (klass, &LiveChartIntersections_private_offset);
#line 2 "../src/intersections.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_intersections_finalize;
#line 340 "intersections.c"
}
static void
live_chart_intersections_instance_init (LiveChartIntersections * self,
gpointer klass)
{
GeeArrayList* _tmp0_;
#line 2 "../src/intersections.vala"
self->priv = live_chart_intersections_get_instance_private (self);
#line 3 "../src/intersections.vala"
_tmp0_ = gee_array_list_new (LIVE_CHART_TYPE_INTERSECTION, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 3 "../src/intersections.vala"
self->priv->intersections = (GeeList*) _tmp0_;
#line 354 "intersections.c"
}
static void
live_chart_intersections_finalize (GObject * obj)
{
LiveChartIntersections * self;
#line 2 "../src/intersections.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_INTERSECTIONS, LiveChartIntersections);
#line 3 "../src/intersections.vala"
_g_object_unref0 (self->priv->intersections);
#line 2 "../src/intersections.vala"
G_OBJECT_CLASS (live_chart_intersections_parent_class)->finalize (obj);
#line 367 "intersections.c"
}
static GType
live_chart_intersections_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartIntersectionsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_intersections_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartIntersections), 0, (GInstanceInitFunc) live_chart_intersections_instance_init, NULL };
GType live_chart_intersections_type_id;
live_chart_intersections_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartIntersections", &g_define_type_info, 0);
LiveChartIntersections_private_offset = g_type_add_instance_private (live_chart_intersections_type_id, sizeof (LiveChartIntersectionsPrivate));
return live_chart_intersections_type_id;
}
GType
live_chart_intersections_get_type (void)
{
static volatile gsize live_chart_intersections_type_id__once = 0;
if (g_once_init_enter (&live_chart_intersections_type_id__once)) {
GType live_chart_intersections_type_id;
live_chart_intersections_type_id = live_chart_intersections_get_type_once ();
g_once_init_leave (&live_chart_intersections_type_id__once, live_chart_intersections_type_id);
}
return live_chart_intersections_type_id__once;
}
static inline gpointer
live_chart_intersection_get_instance_private (LiveChartIntersection* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartIntersection_private_offset);
}
static gdouble*
_double_dup (gdouble* self)
{
gdouble* dup;
#line 54 "../src/intersections.vala"
dup = g_new0 (gdouble, 1);
#line 54 "../src/intersections.vala"
memcpy (dup, self, sizeof (gdouble));
#line 54 "../src/intersections.vala"
return dup;
#line 408 "intersections.c"
}
static gpointer
__double_dup0 (gpointer self)
{
#line 54 "../src/intersections.vala"
return self ? _double_dup (self) : NULL;
#line 416 "intersections.c"
}
LiveChartIntersection*
live_chart_intersection_construct (GType object_type,
LiveChartRegion* region,
gdouble start_x,
gdouble entered_at)
{
LiveChartIntersection * self = NULL;
gdouble* _tmp0_;
#line 50 "../src/intersections.vala"
g_return_val_if_fail (region != NULL, NULL);
#line 50 "../src/intersections.vala"
self = (LiveChartIntersection*) g_object_new (object_type, NULL);
#line 51 "../src/intersections.vala"
live_chart_intersection_set_region (self, region);
#line 52 "../src/intersections.vala"
live_chart_intersection_set_start_x (self, start_x);
#line 53 "../src/intersections.vala"
live_chart_intersection_set_end_x (self, start_x);
#line 54 "../src/intersections.vala"
_tmp0_ = __double_dup0 (&entered_at);
#line 54 "../src/intersections.vala"
_g_free0 (self->entered_at);
#line 54 "../src/intersections.vala"
self->entered_at = _tmp0_;
#line 50 "../src/intersections.vala"
return self;
#line 445 "intersections.c"
}
LiveChartIntersection*
live_chart_intersection_new (LiveChartRegion* region,
gdouble start_x,
gdouble entered_at)
{
#line 50 "../src/intersections.vala"
return live_chart_intersection_construct (LIVE_CHART_TYPE_INTERSECTION, region, start_x, entered_at);
#line 455 "intersections.c"
}
LiveChartIntersection*
live_chart_intersection_construct_without_entry_point (GType object_type,
LiveChartRegion* region,
gdouble start_x)
{
LiveChartIntersection * self = NULL;
#line 56 "../src/intersections.vala"
g_return_val_if_fail (region != NULL, NULL);
#line 56 "../src/intersections.vala"
self = (LiveChartIntersection*) g_object_new (object_type, NULL);
#line 57 "../src/intersections.vala"
live_chart_intersection_set_region (self, region);
#line 58 "../src/intersections.vala"
live_chart_intersection_set_start_x (self, start_x);
#line 59 "../src/intersections.vala"
live_chart_intersection_set_end_x (self, start_x);
#line 56 "../src/intersections.vala"
return self;
#line 476 "intersections.c"
}
LiveChartIntersection*
live_chart_intersection_new_without_entry_point (LiveChartRegion* region,
gdouble start_x)
{
#line 56 "../src/intersections.vala"
return live_chart_intersection_construct_without_entry_point (LIVE_CHART_TYPE_INTERSECTION, region, start_x);
#line 485 "intersections.c"
}
void
live_chart_intersection_update (LiveChartIntersection* self,
gdouble x)
{
#line 62 "../src/intersections.vala"
g_return_if_fail (self != NULL);
#line 63 "../src/intersections.vala"
live_chart_intersection_set_end_x (self, x);
#line 496 "intersections.c"
}
void
live_chart_intersection_close (LiveChartIntersection* self,
gdouble x,
gdouble exited_at)
{
gdouble* _tmp0_;
#line 66 "../src/intersections.vala"
g_return_if_fail (self != NULL);
#line 67 "../src/intersections.vala"
live_chart_intersection_set_end_x (self, x);
#line 68 "../src/intersections.vala"
_tmp0_ = __double_dup0 (&exited_at);
#line 68 "../src/intersections.vala"
_g_free0 (self->exited_at);
#line 68 "../src/intersections.vala"
self->exited_at = _tmp0_;
#line 515 "intersections.c"
}
gboolean
live_chart_intersection_is_open (LiveChartIntersection* self)
{
gdouble* _tmp0_;
gboolean result;
#line 71 "../src/intersections.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 72 "../src/intersections.vala"
_tmp0_ = self->exited_at;
#line 72 "../src/intersections.vala"
result = _tmp0_ == NULL;
#line 72 "../src/intersections.vala"
return result;
#line 531 "intersections.c"
}
gboolean
live_chart_intersection_is_closed (LiveChartIntersection* self)
{
gdouble* _tmp0_;
gboolean result;
#line 75 "../src/intersections.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 76 "../src/intersections.vala"
_tmp0_ = self->exited_at;
#line 76 "../src/intersections.vala"
result = _tmp0_ != NULL;
#line 76 "../src/intersections.vala"
return result;
#line 547 "intersections.c"
}
LiveChartRegion*
live_chart_intersection_get_region (LiveChartIntersection* self)
{
LiveChartRegion* result;
LiveChartRegion* _tmp0_;
#line 44 "../src/intersections.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 44 "../src/intersections.vala"
_tmp0_ = self->priv->_region;
#line 44 "../src/intersections.vala"
result = _tmp0_;
#line 44 "../src/intersections.vala"
return result;
#line 563 "intersections.c"
}
void
live_chart_intersection_set_region (LiveChartIntersection* self,
LiveChartRegion* value)
{
LiveChartRegion* old_value;
#line 44 "../src/intersections.vala"
g_return_if_fail (self != NULL);
#line 44 "../src/intersections.vala"
old_value = live_chart_intersection_get_region (self);
#line 44 "../src/intersections.vala"
if (old_value != value) {
#line 577 "intersections.c"
LiveChartRegion* _tmp0_;
#line 44 "../src/intersections.vala"
_tmp0_ = _live_chart_region_ref0 (value);
#line 44 "../src/intersections.vala"
_live_chart_region_unref0 (self->priv->_region);
#line 44 "../src/intersections.vala"
self->priv->_region = _tmp0_;
#line 44 "../src/intersections.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_intersection_properties[LIVE_CHART_INTERSECTION_REGION_PROPERTY]);
#line 587 "intersections.c"
}
}
gdouble
live_chart_intersection_get_start_x (LiveChartIntersection* self)
{
gdouble result;
#line 45 "../src/intersections.vala"
g_return_val_if_fail (self != NULL, 0.0);
#line 45 "../src/intersections.vala"
result = self->priv->_start_x;
#line 45 "../src/intersections.vala"
return result;
#line 601 "intersections.c"
}
static void
live_chart_intersection_set_start_x (LiveChartIntersection* self,
gdouble value)
{
gdouble old_value;
#line 45 "../src/intersections.vala"
g_return_if_fail (self != NULL);
#line 45 "../src/intersections.vala"
old_value = live_chart_intersection_get_start_x (self);
#line 45 "../src/intersections.vala"
if (old_value != value) {
#line 45 "../src/intersections.vala"
self->priv->_start_x = value;
#line 45 "../src/intersections.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_intersection_properties[LIVE_CHART_INTERSECTION_START_X_PROPERTY]);
#line 619 "intersections.c"
}
}
gdouble
live_chart_intersection_get_end_x (LiveChartIntersection* self)
{
gdouble result;
#line 46 "../src/intersections.vala"
g_return_val_if_fail (self != NULL, 0.0);
#line 46 "../src/intersections.vala"
result = self->priv->_end_x;
#line 46 "../src/intersections.vala"
return result;
#line 633 "intersections.c"
}
static void
live_chart_intersection_set_end_x (LiveChartIntersection* self,
gdouble value)
{
gdouble old_value;
#line 46 "../src/intersections.vala"
g_return_if_fail (self != NULL);
#line 46 "../src/intersections.vala"
old_value = live_chart_intersection_get_end_x (self);
#line 46 "../src/intersections.vala"
if (old_value != value) {
#line 46 "../src/intersections.vala"
self->priv->_end_x = value;
#line 46 "../src/intersections.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_intersection_properties[LIVE_CHART_INTERSECTION_END_X_PROPERTY]);
#line 651 "intersections.c"
}
}
static void
live_chart_intersection_class_init (LiveChartIntersectionClass * klass,
gpointer klass_data)
{
#line 43 "../src/intersections.vala"
live_chart_intersection_parent_class = g_type_class_peek_parent (klass);
#line 43 "../src/intersections.vala"
g_type_class_adjust_private_offset (klass, &LiveChartIntersection_private_offset);
#line 43 "../src/intersections.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_intersection_get_property;
#line 43 "../src/intersections.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_intersection_set_property;
#line 43 "../src/intersections.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_intersection_finalize;
#line 43 "../src/intersections.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_INTERSECTION_REGION_PROPERTY, live_chart_intersection_properties[LIVE_CHART_INTERSECTION_REGION_PROPERTY] = live_chart_param_spec_region ("region", "region", "region", LIVE_CHART_TYPE_REGION, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 43 "../src/intersections.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_INTERSECTION_START_X_PROPERTY, live_chart_intersection_properties[LIVE_CHART_INTERSECTION_START_X_PROPERTY] = g_param_spec_double ("start-x", "start-x", "start-x", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
#line 43 "../src/intersections.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_INTERSECTION_END_X_PROPERTY, live_chart_intersection_properties[LIVE_CHART_INTERSECTION_END_X_PROPERTY] = g_param_spec_double ("end-x", "end-x", "end-x", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
#line 675 "intersections.c"
}
static void
live_chart_intersection_instance_init (LiveChartIntersection * self,
gpointer klass)
{
#line 43 "../src/intersections.vala"
self->priv = live_chart_intersection_get_instance_private (self);
#line 684 "intersections.c"
}
static void
live_chart_intersection_finalize (GObject * obj)
{
LiveChartIntersection * self;
#line 43 "../src/intersections.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_INTERSECTION, LiveChartIntersection);
#line 44 "../src/intersections.vala"
_live_chart_region_unref0 (self->priv->_region);
#line 47 "../src/intersections.vala"
_g_free0 (self->entered_at);
#line 48 "../src/intersections.vala"
_g_free0 (self->exited_at);
#line 43 "../src/intersections.vala"
G_OBJECT_CLASS (live_chart_intersection_parent_class)->finalize (obj);
#line 701 "intersections.c"
}
static GType
live_chart_intersection_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartIntersectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_intersection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartIntersection), 0, (GInstanceInitFunc) live_chart_intersection_instance_init, NULL };
GType live_chart_intersection_type_id;
live_chart_intersection_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartIntersection", &g_define_type_info, 0);
LiveChartIntersection_private_offset = g_type_add_instance_private (live_chart_intersection_type_id, sizeof (LiveChartIntersectionPrivate));
return live_chart_intersection_type_id;
}
GType
live_chart_intersection_get_type (void)
{
static volatile gsize live_chart_intersection_type_id__once = 0;
if (g_once_init_enter (&live_chart_intersection_type_id__once)) {
GType live_chart_intersection_type_id;
live_chart_intersection_type_id = live_chart_intersection_get_type_once ();
g_once_init_leave (&live_chart_intersection_type_id__once, live_chart_intersection_type_id);
}
return live_chart_intersection_type_id__once;
}
static void
_vala_live_chart_intersection_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartIntersection * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_INTERSECTION, LiveChartIntersection);
#line 43 "../src/intersections.vala"
switch (property_id) {
#line 43 "../src/intersections.vala"
case LIVE_CHART_INTERSECTION_REGION_PROPERTY:
#line 43 "../src/intersections.vala"
live_chart_value_set_region (value, live_chart_intersection_get_region (self));
#line 43 "../src/intersections.vala"
break;
#line 43 "../src/intersections.vala"
case LIVE_CHART_INTERSECTION_START_X_PROPERTY:
#line 43 "../src/intersections.vala"
g_value_set_double (value, live_chart_intersection_get_start_x (self));
#line 43 "../src/intersections.vala"
break;
#line 43 "../src/intersections.vala"
case LIVE_CHART_INTERSECTION_END_X_PROPERTY:
#line 43 "../src/intersections.vala"
g_value_set_double (value, live_chart_intersection_get_end_x (self));
#line 43 "../src/intersections.vala"
break;
#line 754 "intersections.c"
default:
#line 43 "../src/intersections.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 43 "../src/intersections.vala"
break;
#line 760 "intersections.c"
}
}
static void
_vala_live_chart_intersection_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartIntersection * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_INTERSECTION, LiveChartIntersection);
#line 43 "../src/intersections.vala"
switch (property_id) {
#line 43 "../src/intersections.vala"
case LIVE_CHART_INTERSECTION_REGION_PROPERTY:
#line 43 "../src/intersections.vala"
live_chart_intersection_set_region (self, live_chart_value_get_region (value));
#line 43 "../src/intersections.vala"
break;
#line 43 "../src/intersections.vala"
case LIVE_CHART_INTERSECTION_START_X_PROPERTY:
#line 43 "../src/intersections.vala"
live_chart_intersection_set_start_x (self, g_value_get_double (value));
#line 43 "../src/intersections.vala"
break;
#line 43 "../src/intersections.vala"
case LIVE_CHART_INTERSECTION_END_X_PROPERTY:
#line 43 "../src/intersections.vala"
live_chart_intersection_set_end_x (self, g_value_get_double (value));
#line 43 "../src/intersections.vala"
break;
#line 792 "intersections.c"
default:
#line 43 "../src/intersections.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 43 "../src/intersections.vala"
break;
#line 798 "intersections.c"
}
}

View File

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

View File

@ -0,0 +1,485 @@
/* labels.c generated by valac 0.56.0, the Vala compiler
* generated from labels.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <cairo-gobject.h>
#include <string.h>
#include <gobject/gvaluecollector.h>
#define _live_chart_font_unref0(var) ((var == NULL) ? NULL : (var = (live_chart_font_unref (var), NULL)))
typedef struct _LiveChartParamSpecLabels LiveChartParamSpecLabels;
struct _LiveChartLabelsPrivate {
gboolean _visible;
cairo_text_extents_t _extents;
LiveChartFont* _font;
};
struct _LiveChartParamSpecLabels {
GParamSpec parent_instance;
};
static gint LiveChartLabels_private_offset;
static gpointer live_chart_labels_parent_class = NULL;
static void live_chart_labels_finalize (LiveChartLabels * obj);
static GType live_chart_labels_get_type_once (void);
static inline gpointer
live_chart_labels_get_instance_private (LiveChartLabels* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartLabels_private_offset);
}
LiveChartLabels*
live_chart_labels_construct (GType object_type)
{
LiveChartLabels* self = NULL;
cairo_text_extents_t _tmp0_ = {0};
LiveChartFont* _tmp1_;
LiveChartFont* _tmp2_;
cairo_text_extents_t _tmp3_;
cairo_text_extents_t _tmp4_;
cairo_text_extents_t _tmp5_;
cairo_text_extents_t _tmp6_;
cairo_text_extents_t _tmp7_;
cairo_text_extents_t _tmp8_;
#line 11 "../src/labels.vala"
self = (LiveChartLabels*) g_type_create_instance (object_type);
#line 13 "../src/labels.vala"
live_chart_labels_set_visible (self, TRUE);
#line 14 "../src/labels.vala"
memset (&_tmp0_, 0, sizeof (cairo_text_extents_t));
#line 14 "../src/labels.vala"
live_chart_labels_set_extents (self, &_tmp0_);
#line 15 "../src/labels.vala"
_tmp1_ = live_chart_font_new ();
#line 15 "../src/labels.vala"
_tmp2_ = _tmp1_;
#line 15 "../src/labels.vala"
live_chart_labels_set_font (self, _tmp2_);
#line 15 "../src/labels.vala"
_live_chart_font_unref0 (_tmp2_);
#line 17 "../src/labels.vala"
_tmp3_ = self->priv->_extents;
#line 17 "../src/labels.vala"
_tmp3_.height = 0.0;
#line 18 "../src/labels.vala"
_tmp4_ = self->priv->_extents;
#line 18 "../src/labels.vala"
_tmp4_.width = 0.0;
#line 19 "../src/labels.vala"
_tmp5_ = self->priv->_extents;
#line 19 "../src/labels.vala"
_tmp5_.x_advance = 0.0;
#line 20 "../src/labels.vala"
_tmp6_ = self->priv->_extents;
#line 20 "../src/labels.vala"
_tmp6_.x_bearing = 0.0;
#line 21 "../src/labels.vala"
_tmp7_ = self->priv->_extents;
#line 21 "../src/labels.vala"
_tmp7_.y_advance = 0.0;
#line 22 "../src/labels.vala"
_tmp8_ = self->priv->_extents;
#line 22 "../src/labels.vala"
_tmp8_.y_bearing = 0.0;
#line 11 "../src/labels.vala"
return self;
#line 91 "labels.c"
}
LiveChartLabels*
live_chart_labels_new (void)
{
#line 11 "../src/labels.vala"
return live_chart_labels_construct (LIVE_CHART_TYPE_LABELS);
#line 99 "labels.c"
}
gboolean
live_chart_labels_get_visible (LiveChartLabels* self)
{
gboolean result;
#line 7 "../src/labels.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 7 "../src/labels.vala"
result = self->priv->_visible;
#line 7 "../src/labels.vala"
return result;
#line 112 "labels.c"
}
void
live_chart_labels_set_visible (LiveChartLabels* self,
gboolean value)
{
#line 7 "../src/labels.vala"
g_return_if_fail (self != NULL);
#line 7 "../src/labels.vala"
self->priv->_visible = value;
#line 123 "labels.c"
}
void
live_chart_labels_get_extents (LiveChartLabels* self,
cairo_text_extents_t * result)
{
cairo_text_extents_t _tmp0_;
#line 8 "../src/labels.vala"
g_return_if_fail (self != NULL);
#line 8 "../src/labels.vala"
_tmp0_ = self->priv->_extents;
#line 8 "../src/labels.vala"
*result = _tmp0_;
#line 8 "../src/labels.vala"
return;
#line 139 "labels.c"
}
void
live_chart_labels_set_extents (LiveChartLabels* self,
cairo_text_extents_t * value)
{
cairo_text_extents_t _tmp0_;
#line 8 "../src/labels.vala"
g_return_if_fail (self != NULL);
#line 8 "../src/labels.vala"
_tmp0_ = *value;
#line 8 "../src/labels.vala"
self->priv->_extents = _tmp0_;
#line 153 "labels.c"
}
LiveChartFont*
live_chart_labels_get_font (LiveChartLabels* self)
{
LiveChartFont* result;
LiveChartFont* _tmp0_;
#line 9 "../src/labels.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 9 "../src/labels.vala"
_tmp0_ = self->priv->_font;
#line 9 "../src/labels.vala"
result = _tmp0_;
#line 9 "../src/labels.vala"
return result;
#line 169 "labels.c"
}
static gpointer
_live_chart_font_ref0 (gpointer self)
{
#line 9 "../src/labels.vala"
return self ? live_chart_font_ref (self) : NULL;
#line 177 "labels.c"
}
void
live_chart_labels_set_font (LiveChartLabels* self,
LiveChartFont* value)
{
LiveChartFont* _tmp0_;
#line 9 "../src/labels.vala"
g_return_if_fail (self != NULL);
#line 9 "../src/labels.vala"
_tmp0_ = _live_chart_font_ref0 (value);
#line 9 "../src/labels.vala"
_live_chart_font_unref0 (self->priv->_font);
#line 9 "../src/labels.vala"
self->priv->_font = _tmp0_;
#line 193 "labels.c"
}
static void
live_chart_value_labels_init (GValue* value)
{
#line 5 "../src/labels.vala"
value->data[0].v_pointer = NULL;
#line 201 "labels.c"
}
static void
live_chart_value_labels_free_value (GValue* value)
{
#line 5 "../src/labels.vala"
if (value->data[0].v_pointer) {
#line 5 "../src/labels.vala"
live_chart_labels_unref (value->data[0].v_pointer);
#line 211 "labels.c"
}
}
static void
live_chart_value_labels_copy_value (const GValue* src_value,
GValue* dest_value)
{
#line 5 "../src/labels.vala"
if (src_value->data[0].v_pointer) {
#line 5 "../src/labels.vala"
dest_value->data[0].v_pointer = live_chart_labels_ref (src_value->data[0].v_pointer);
#line 223 "labels.c"
} else {
#line 5 "../src/labels.vala"
dest_value->data[0].v_pointer = NULL;
#line 227 "labels.c"
}
}
static gpointer
live_chart_value_labels_peek_pointer (const GValue* value)
{
#line 5 "../src/labels.vala"
return value->data[0].v_pointer;
#line 236 "labels.c"
}
static gchar*
live_chart_value_labels_collect_value (GValue* value,
guint n_collect_values,
GTypeCValue* collect_values,
guint collect_flags)
{
#line 5 "../src/labels.vala"
if (collect_values[0].v_pointer) {
#line 247 "labels.c"
LiveChartLabels * object;
object = collect_values[0].v_pointer;
#line 5 "../src/labels.vala"
if (object->parent_instance.g_class == NULL) {
#line 5 "../src/labels.vala"
return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 254 "labels.c"
} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 5 "../src/labels.vala"
return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 258 "labels.c"
}
#line 5 "../src/labels.vala"
value->data[0].v_pointer = live_chart_labels_ref (object);
#line 262 "labels.c"
} else {
#line 5 "../src/labels.vala"
value->data[0].v_pointer = NULL;
#line 266 "labels.c"
}
#line 5 "../src/labels.vala"
return NULL;
#line 270 "labels.c"
}
static gchar*
live_chart_value_labels_lcopy_value (const GValue* value,
guint n_collect_values,
GTypeCValue* collect_values,
guint collect_flags)
{
LiveChartLabels ** object_p;
object_p = collect_values[0].v_pointer;
#line 5 "../src/labels.vala"
if (!object_p) {
#line 5 "../src/labels.vala"
return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 285 "labels.c"
}
#line 5 "../src/labels.vala"
if (!value->data[0].v_pointer) {
#line 5 "../src/labels.vala"
*object_p = NULL;
#line 291 "labels.c"
} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 5 "../src/labels.vala"
*object_p = value->data[0].v_pointer;
#line 295 "labels.c"
} else {
#line 5 "../src/labels.vala"
*object_p = live_chart_labels_ref (value->data[0].v_pointer);
#line 299 "labels.c"
}
#line 5 "../src/labels.vala"
return NULL;
#line 303 "labels.c"
}
GParamSpec*
live_chart_param_spec_labels (const gchar* name,
const gchar* nick,
const gchar* blurb,
GType object_type,
GParamFlags flags)
{
LiveChartParamSpecLabels* spec;
#line 5 "../src/labels.vala"
g_return_val_if_fail (g_type_is_a (object_type, LIVE_CHART_TYPE_LABELS), NULL);
#line 5 "../src/labels.vala"
spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 5 "../src/labels.vala"
G_PARAM_SPEC (spec)->value_type = object_type;
#line 5 "../src/labels.vala"
return G_PARAM_SPEC (spec);
#line 322 "labels.c"
}
gpointer
live_chart_value_get_labels (const GValue* value)
{
#line 5 "../src/labels.vala"
g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIVE_CHART_TYPE_LABELS), NULL);
#line 5 "../src/labels.vala"
return value->data[0].v_pointer;
#line 332 "labels.c"
}
void
live_chart_value_set_labels (GValue* value,
gpointer v_object)
{
LiveChartLabels * old;
#line 5 "../src/labels.vala"
g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIVE_CHART_TYPE_LABELS));
#line 5 "../src/labels.vala"
old = value->data[0].v_pointer;
#line 5 "../src/labels.vala"
if (v_object) {
#line 5 "../src/labels.vala"
g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LIVE_CHART_TYPE_LABELS));
#line 5 "../src/labels.vala"
g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 5 "../src/labels.vala"
value->data[0].v_pointer = v_object;
#line 5 "../src/labels.vala"
live_chart_labels_ref (value->data[0].v_pointer);
#line 354 "labels.c"
} else {
#line 5 "../src/labels.vala"
value->data[0].v_pointer = NULL;
#line 358 "labels.c"
}
#line 5 "../src/labels.vala"
if (old) {
#line 5 "../src/labels.vala"
live_chart_labels_unref (old);
#line 364 "labels.c"
}
}
void
live_chart_value_take_labels (GValue* value,
gpointer v_object)
{
LiveChartLabels * old;
#line 5 "../src/labels.vala"
g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, LIVE_CHART_TYPE_LABELS));
#line 5 "../src/labels.vala"
old = value->data[0].v_pointer;
#line 5 "../src/labels.vala"
if (v_object) {
#line 5 "../src/labels.vala"
g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, LIVE_CHART_TYPE_LABELS));
#line 5 "../src/labels.vala"
g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 5 "../src/labels.vala"
value->data[0].v_pointer = v_object;
#line 385 "labels.c"
} else {
#line 5 "../src/labels.vala"
value->data[0].v_pointer = NULL;
#line 389 "labels.c"
}
#line 5 "../src/labels.vala"
if (old) {
#line 5 "../src/labels.vala"
live_chart_labels_unref (old);
#line 395 "labels.c"
}
}
static void
live_chart_labels_class_init (LiveChartLabelsClass * klass,
gpointer klass_data)
{
#line 5 "../src/labels.vala"
live_chart_labels_parent_class = g_type_class_peek_parent (klass);
#line 5 "../src/labels.vala"
((LiveChartLabelsClass *) klass)->finalize = live_chart_labels_finalize;
#line 5 "../src/labels.vala"
g_type_class_adjust_private_offset (klass, &LiveChartLabels_private_offset);
#line 409 "labels.c"
}
static void
live_chart_labels_instance_init (LiveChartLabels * self,
gpointer klass)
{
#line 5 "../src/labels.vala"
self->priv = live_chart_labels_get_instance_private (self);
#line 5 "../src/labels.vala"
self->ref_count = 1;
#line 420 "labels.c"
}
static void
live_chart_labels_finalize (LiveChartLabels * obj)
{
LiveChartLabels * self;
#line 5 "../src/labels.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_LABELS, LiveChartLabels);
#line 5 "../src/labels.vala"
g_signal_handlers_destroy (self);
#line 9 "../src/labels.vala"
_live_chart_font_unref0 (self->priv->_font);
#line 433 "labels.c"
}
static GType
live_chart_labels_get_type_once (void)
{
static const GTypeValueTable g_define_type_value_table = { live_chart_value_labels_init, live_chart_value_labels_free_value, live_chart_value_labels_copy_value, live_chart_value_labels_peek_pointer, "p", live_chart_value_labels_collect_value, "p", live_chart_value_labels_lcopy_value };
static const GTypeInfo g_define_type_info = { sizeof (LiveChartLabelsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_labels_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartLabels), 0, (GInstanceInitFunc) live_chart_labels_instance_init, &g_define_type_value_table };
static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
GType live_chart_labels_type_id;
live_chart_labels_type_id = g_type_register_fundamental (g_type_fundamental_next (), "LiveChartLabels", &g_define_type_info, &g_define_type_fundamental_info, 0);
LiveChartLabels_private_offset = g_type_add_instance_private (live_chart_labels_type_id, sizeof (LiveChartLabelsPrivate));
return live_chart_labels_type_id;
}
GType
live_chart_labels_get_type (void)
{
static volatile gsize live_chart_labels_type_id__once = 0;
if (g_once_init_enter (&live_chart_labels_type_id__once)) {
GType live_chart_labels_type_id;
live_chart_labels_type_id = live_chart_labels_get_type_once ();
g_once_init_leave (&live_chart_labels_type_id__once, live_chart_labels_type_id);
}
return live_chart_labels_type_id__once;
}
gpointer
live_chart_labels_ref (gpointer instance)
{
LiveChartLabels * self;
self = instance;
#line 5 "../src/labels.vala"
g_atomic_int_inc (&self->ref_count);
#line 5 "../src/labels.vala"
return instance;
#line 469 "labels.c"
}
void
live_chart_labels_unref (gpointer instance)
{
LiveChartLabels * self;
self = instance;
#line 5 "../src/labels.vala"
if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 5 "../src/labels.vala"
LIVE_CHART_LABELS_GET_CLASS (self)->finalize (self);
#line 5 "../src/labels.vala"
g_type_free_instance ((GTypeInstance *) self);
#line 483 "labels.c"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,448 @@
0x000000000000000e (SONAME) Library soname: [liblivechart.so]
live_chart_area_construct T
live_chart_area_get_type T
live_chart_area_new T
live_chart_auto_padding_get_type T
live_chart_background_construct T
live_chart_background_get_color T
live_chart_background_get_main_color T
live_chart_background_get_type T
live_chart_background_new T
live_chart_background_set_color T
live_chart_background_set_main_color T
live_chart_bar_construct T
live_chart_bar_get_type T
live_chart_bar_new T
live_chart_bezier_curve_dup T
live_chart_bezier_curve_free T
live_chart_bezier_curve_get_type T
live_chart_bezier_intersector_construct T
live_chart_bezier_intersector_get_type T
live_chart_bezier_intersector_new T
live_chart_bezier_intersector_ref T
live_chart_bezier_intersector_unref T
live_chart_boundaries_dup T
live_chart_boundaries_free T
live_chart_boundaries_get_type T
live_chart_boundary_dup T
live_chart_boundary_free T
live_chart_boundary_get_type T
live_chart_bounding_box_dup T
live_chart_bounding_box_free T
live_chart_bounding_box_get_type T
live_chart_bounds_construct T
live_chart_bounds_get_lower T
live_chart_bounds_get_type T
live_chart_bounds_get_upper T
live_chart_bounds_has_lower T
live_chart_bounds_has_upper T
live_chart_bounds_new T
live_chart_bounds_update T
live_chart_build_bezier_curve_from_points T
live_chart_cap T
live_chart_chart_add_serie T
live_chart_chart_add_unaware_timestamp_collection T
live_chart_chart_add_unaware_timestamp_collection_by_index T
live_chart_chart_add_value T
live_chart_chart_add_value_by_index T
live_chart_chart_construct T
live_chart_chart_error_get_type T
live_chart_chart_error_quark T
live_chart_chart_get_background T
live_chart_chart_get_grid T
live_chart_chart_get_legend T
live_chart_chart_get_type T
live_chart_chart_new T
live_chart_chart_refresh_every T
live_chart_chart_set_background T
live_chart_chart_set_grid T
live_chart_chart_set_legend T
live_chart_chart_to_png T
live_chart_colorable_get_main_color T
live_chart_colorable_get_type T
live_chart_colorable_set_main_color T
live_chart_config_boundaries T
live_chart_config_configure T
live_chart_config_construct T
live_chart_config_get_height T
live_chart_config_get_type T
live_chart_config_get_width T
live_chart_config_new T
live_chart_config_ref T
live_chart_config_set_height T
live_chart_config_set_width T
live_chart_config_unref T
live_chart_coord_dup T
live_chart_coord_free T
live_chart_coord_get_type T
live_chart_dash_copy T
live_chart_dash_destroy T
live_chart_dash_dup T
live_chart_dash_free T
live_chart_dash_get_type T
live_chart_dash_init T
live_chart_drawable_draw T
live_chart_drawable_get_bounding_box T
live_chart_drawable_get_type T
live_chart_drawable_get_visible T
live_chart_drawable_set_visible T
live_chart_find_intersections_between T
live_chart_font_configure T
live_chart_font_construct T
live_chart_font_get_color T
live_chart_font_get_face T
live_chart_font_get_size T
live_chart_font_get_slant T
live_chart_font_get_type T
live_chart_font_get_weight T
live_chart_font_new T
live_chart_font_ref T
live_chart_font_set_color T
live_chart_font_set_face T
live_chart_font_set_size T
live_chart_font_set_slant T
live_chart_font_set_weight T
live_chart_font_unref T
live_chart_format_for_y_axis T
live_chart_get_cubic_roots T
live_chart_golden_divisors T
live_chart_grid_construct T
live_chart_grid_debug T
live_chart_grid_get_main_color T
live_chart_grid_get_type T
live_chart_grid_new T
live_chart_grid_render_abscissa T
live_chart_grid_render_grid T
live_chart_grid_render_hgrid T
live_chart_grid_render_ordinate T
live_chart_grid_render_vgrid T
live_chart_grid_restore T
live_chart_grid_set_main_color T
live_chart_grid_update_bounding_box T
live_chart_has_fractional_part T
live_chart_horizontal_legend_construct T
live_chart_horizontal_legend_debug T
live_chart_horizontal_legend_get_type T
live_chart_horizontal_legend_new T
live_chart_intersection_close T
live_chart_intersection_construct T
live_chart_intersection_construct_without_entry_point T
live_chart_intersection_get_end_x T
live_chart_intersection_get_region T
live_chart_intersection_get_start_x T
live_chart_intersection_get_type T
live_chart_intersection_is_closed T
live_chart_intersection_is_open T
live_chart_intersection_new T
live_chart_intersection_new_without_entry_point T
live_chart_intersections_close T
live_chart_intersections_construct T
live_chart_intersection_set_region T
live_chart_intersections_foreach T
live_chart_intersections_get T
live_chart_intersections_get_current_region T
live_chart_intersections_get_type T
live_chart_intersections_has_an_opened_intersection T
live_chart_intersections_new T
live_chart_intersections_open T
live_chart_intersections_open_without_entrypoint T
live_chart_intersections_size T
live_chart_intersections_update T
live_chart_intersection_update T
live_chart_intersector_get_type T
live_chart_intersector_intersect T
live_chart_labels_construct T
live_chart_labels_get_extents T
live_chart_labels_get_font T
live_chart_labels_get_type T
live_chart_labels_get_visible T
live_chart_labels_new T
live_chart_labels_ref T
live_chart_labels_set_extents T
live_chart_labels_set_font T
live_chart_labels_set_visible T
live_chart_labels_unref T
live_chart_legend_add_legend T
live_chart_legend_construct T
live_chart_legend_draw T
live_chart_legend_get_main_color T
live_chart_legend_get_type T
live_chart_legend_set_main_color T
live_chart_line_area_construct T
live_chart_line_area_get_area_alpha T
live_chart_line_area_get_type T
live_chart_line_area_new T
live_chart_line_area_set_area_alpha T
live_chart_line_construct T
live_chart_line_draw_line T
live_chart_line_get_type T
live_chart_line_new T
live_chart_max_bound_line_construct T
live_chart_max_bound_line_construct_from_serie T
live_chart_max_bound_line_get_type T
live_chart_max_bound_line_new T
live_chart_max_bound_line_new_from_serie T
live_chart_min_bound_line_construct T
live_chart_min_bound_line_construct_from_serie T
live_chart_min_bound_line_get_type T
live_chart_min_bound_line_new T
live_chart_min_bound_line_new_from_serie T
live_chart_noop_legend_construct T
live_chart_noop_legend_get_type T
live_chart_noop_legend_new T
live_chart_num_of_digits T
live_chart_padding_dup T
live_chart_padding_free T
live_chart_padding_get_type T
live_chart_padding_init T
live_chart_param_spec_bezier_intersector T
live_chart_param_spec_config T
live_chart_param_spec_font T
live_chart_param_spec_labels T
live_chart_param_spec_region T
live_chart_param_spec_xaxis T
live_chart_param_spec_yaxis T
live_chart_path_configure T
live_chart_path_construct T
live_chart_path_get_color T
live_chart_path_get_type T
live_chart_path_get_visible T
live_chart_path_get_width T
live_chart_path_new T
live_chart_path_set_color T
live_chart_path_set_visible T
live_chart_path_set_width T
live_chart_point_dup T
live_chart_point_free T
live_chart_point_get_type T
live_chart_points_add T
live_chart_points_after T
live_chart_points_construct T
live_chart_points_create T
live_chart_points_first T
live_chart_points_get T
live_chart_points_get_bounds T
live_chart_points_get_realtime_delta T
live_chart_points_get_size T
live_chart_points_get_type T
live_chart_points_last T
live_chart_points_new T
live_chart_points_set_bounds T
live_chart_points_set_realtime_delta T
live_chart_region_construct T
live_chart_region_construct_between T
live_chart_region_get_area_color T
live_chart_region_get_line_color T
live_chart_region_get_type T
live_chart_region_handle T
live_chart_region_handle_result_dup T
live_chart_region_handle_result_free T
live_chart_region_handle_result_get_type T
live_chart_region_handle_status_get_type T
live_chart_region_has_at_least_one_point_within T
live_chart_region_new T
live_chart_region_new_between T
live_chart_region_ref T
live_chart_region_set_area_color T
live_chart_region_set_line_color T
live_chart_region_unref T
live_chart_region_with_area_color T
live_chart_region_with_line_color T
live_chart_segment_dup T
live_chart_segment_free T
live_chart_segment_get_type T
live_chart_serie_add T
live_chart_serie_add_with_timestamp T
live_chart_serie_clear T
live_chart_serie_construct T
live_chart_serie_get_line T
live_chart_serie_get_main_color T
live_chart_serie_get_name T
live_chart_serie_get_type T
live_chart_serie_get_values T
live_chart_serie_new T
live_chart_serie_renderer_construct T
live_chart_serie_renderer_debug T
live_chart_serie_renderer_draw T
live_chart_serie_renderer_get_line T
live_chart_serie_renderer_get_main_color T
live_chart_serie_renderer_get_type T
live_chart_serie_renderer_get_values T
live_chart_serie_renderer_is_out_of_area T
live_chart_serie_renderer_set_line T
live_chart_serie_renderer_set_main_color T
live_chart_series_construct T
live_chart_serie_set_line T
live_chart_serie_set_main_color T
live_chart_serie_set_name T
live_chart_series_get T
live_chart_series_get_by_name T
live_chart_series_get_type T
live_chart_series_iterator T
live_chart_series_new T
live_chart_series_register T
live_chart_smooth_line_area_construct T
live_chart_smooth_line_area_draw_regions_on_area T
live_chart_smooth_line_area_get_area_alpha T
live_chart_smooth_line_area_get_type T
live_chart_smooth_line_area_new T
live_chart_smooth_line_area_set_area_alpha T
live_chart_smooth_line_construct T
live_chart_smooth_line_draw_regions_on_line T
live_chart_smooth_line_draw_smooth_line T
live_chart_smooth_line_get_region T
live_chart_smooth_line_get_type T
live_chart_smooth_line_new T
live_chart_smooth_line_set_region T
live_chart_static_named_value_copy T
live_chart_static_named_value_destroy T
live_chart_static_named_value_dup T
live_chart_static_named_value_free T
live_chart_static_named_value_get_type T
live_chart_static_static_chart_add_serie T
live_chart_static_static_chart_construct T
live_chart_static_static_chart_get_background T
live_chart_static_static_chart_get_grid T
live_chart_static_static_chart_get_legend T
live_chart_static_static_chart_get_type T
live_chart_static_static_chart_new T
live_chart_static_static_chart_set_background T
live_chart_static_static_chart_set_categories T
live_chart_static_static_chart_set_grid T
live_chart_static_static_chart_set_legend T
live_chart_static_static_grid_construct T
live_chart_static_static_grid_debug T
live_chart_static_static_grid_get_main_color T
live_chart_static_static_grid_get_type T
live_chart_static_static_grid_new T
live_chart_static_static_grid_render_abscissa T
live_chart_static_static_grid_render_grid T
live_chart_static_static_grid_render_hgrid T
live_chart_static_static_grid_render_ordinate T
live_chart_static_static_grid_render_vgrid T
live_chart_static_static_grid_restore T
live_chart_static_static_grid_set_main_color T
live_chart_static_static_grid_update_bounding_box T
live_chart_static_static_line_construct T
live_chart_static_static_line_draw_line T
live_chart_static_static_line_get_type T
live_chart_static_static_line_new T
live_chart_static_static_points_add T
live_chart_static_static_points_after T
live_chart_static_static_points_construct T
live_chart_static_static_points_create T
live_chart_static_static_points_first T
live_chart_static_static_points_get T
live_chart_static_static_points_get_bounds T
live_chart_static_static_points_get_realtime_delta T
live_chart_static_static_points_get_size T
live_chart_static_static_points_get_type T
live_chart_static_static_points_last T
live_chart_static_static_points_new T
live_chart_static_static_points_set_bounds T
live_chart_static_static_points_set_realtime_delta T
live_chart_static_static_serie_add T
live_chart_static_static_serie_clear T
live_chart_static_static_serie_construct T
live_chart_static_static_serie_get_line T
live_chart_static_static_serie_get_name T
live_chart_static_static_serie_get_type T
live_chart_static_static_serie_get_values T
live_chart_static_static_serie_new T
live_chart_static_static_serie_renderer_construct T
live_chart_static_static_serie_renderer_debug T
live_chart_static_static_serie_renderer_draw T
live_chart_static_static_serie_renderer_get_line T
live_chart_static_static_serie_renderer_get_type T
live_chart_static_static_serie_renderer_get_values T
live_chart_static_static_serie_renderer_is_out_of_area T
live_chart_static_static_serie_renderer_set_line T
live_chart_static_static_series_construct T
live_chart_static_static_serie_set_line T
live_chart_static_static_serie_set_name T
live_chart_static_static_series_get T
live_chart_static_static_series_get_by_name T
live_chart_static_static_series_get_type T
live_chart_static_static_series_iterator T
live_chart_static_static_series_new T
live_chart_static_static_series_register T
live_chart_static_static_values_add T
live_chart_static_static_values_construct T
live_chart_static_static_values_get_bounds T
live_chart_static_static_values_get_type T
live_chart_static_static_values_new T
live_chart_static_static_values_set_bounds T
live_chart_threshold_line_construct T
live_chart_threshold_line_get_type T
live_chart_threshold_line_get_value T
live_chart_threshold_line_new T
live_chart_threshold_line_set_value T
live_chart_ticks_copy T
live_chart_ticks_destroy T
live_chart_ticks_dup T
live_chart_ticks_free T
live_chart_ticks_get_type T
live_chart_ticks_init T
live_chart_timestamped_value_dup T
live_chart_timestamped_value_free T
live_chart_timestamped_value_get_type T
live_chart_value_get_bezier_intersector T
live_chart_value_get_config T
live_chart_value_get_font T
live_chart_value_get_labels T
live_chart_value_get_region T
live_chart_value_get_xaxis T
live_chart_value_get_yaxis T
live_chart_values_add T
live_chart_values_construct T
live_chart_value_set_bezier_intersector T
live_chart_value_set_config T
live_chart_value_set_font T
live_chart_value_set_labels T
live_chart_value_set_region T
live_chart_value_set_xaxis T
live_chart_value_set_yaxis T
live_chart_values_get_bounds T
live_chart_values_get_type T
live_chart_values_new T
live_chart_values_set_bounds T
live_chart_value_take_bezier_intersector T
live_chart_value_take_config T
live_chart_value_take_font T
live_chart_value_take_labels T
live_chart_value_take_region T
live_chart_value_take_xaxis T
live_chart_value_take_yaxis T
live_chart_xaxis_construct T
live_chart_xaxis_get_ratio T
live_chart_xaxis_get_tick_interval T
live_chart_xaxis_get_tick_length T
live_chart_xaxis_get_type T
live_chart_xaxis_get_visible T
live_chart_xaxis_new T
live_chart_xaxis_ref T
live_chart_xaxis_set_tick_interval T
live_chart_xaxis_set_tick_length T
live_chart_xaxis_set_visible T
live_chart_xaxis_unref T
live_chart_yaxis_construct T
live_chart_yaxis_get_bounds T
live_chart_yaxis_get_max_displayed_value T
live_chart_yaxis_get_ratio T
live_chart_yaxis_get_ratio_threshold T
live_chart_yaxis_get_tick_interval T
live_chart_yaxis_get_tick_length T
live_chart_yaxis_get_ticks T
live_chart_yaxis_get_type T
live_chart_yaxis_get_unit T
live_chart_yaxis_get_visible T
live_chart_yaxis_new T
live_chart_yaxis_ref T
live_chart_yaxis_set_ratio_threshold T
live_chart_yaxis_set_tick_interval T
live_chart_yaxis_set_tick_length T
live_chart_yaxis_set_unit T
live_chart_yaxis_set_visible T
live_chart_yaxis_unref T
live_chart_yaxis_update T
live_chart_yaxis_update_bounds T

View File

@ -0,0 +1,375 @@
/* line.c generated by valac 0.56.0, the Vala compiler
* generated from line.vala, do not modify */
#include "livechart.h"
#include <cairo-gobject.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <string.h>
enum {
LIVE_CHART_LINE_0_PROPERTY,
LIVE_CHART_LINE_NUM_PROPERTIES
};
static GParamSpec* live_chart_line_properties[LIVE_CHART_LINE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
static gpointer live_chart_line_parent_class = NULL;
static void live_chart_line_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_line_update_bounding_box (LiveChartLine* self,
LiveChartPoints* points,
LiveChartConfig* config);
static GType live_chart_line_get_type_once (void);
static gpointer
_g_object_ref0 (gpointer self)
{
#line 8 "../src/line.vala"
return self ? g_object_ref (self) : NULL;
#line 34 "line.c"
}
LiveChartLine*
live_chart_line_construct (GType object_type,
LiveChartValues* values)
{
LiveChartLine * self = NULL;
LiveChartValues* _tmp0_;
#line 6 "../src/line.vala"
g_return_val_if_fail (values != NULL, NULL);
#line 7 "../src/line.vala"
self = (LiveChartLine*) live_chart_serie_renderer_construct (object_type);
#line 8 "../src/line.vala"
_tmp0_ = _g_object_ref0 (values);
#line 8 "../src/line.vala"
_g_object_unref0 (((LiveChartSerieRenderer*) self)->values);
#line 8 "../src/line.vala"
((LiveChartSerieRenderer*) self)->values = _tmp0_;
#line 6 "../src/line.vala"
return self;
#line 55 "line.c"
}
LiveChartLine*
live_chart_line_new (LiveChartValues* values)
{
#line 6 "../src/line.vala"
return live_chart_line_construct (LIVE_CHART_TYPE_LINE, values);
#line 63 "line.c"
}
static void
live_chart_line_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartLine * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 11 "../src/line.vala"
self = (LiveChartLine*) base;
#line 11 "../src/line.vala"
g_return_if_fail (ctx != NULL);
#line 11 "../src/line.vala"
g_return_if_fail (config != NULL);
#line 12 "../src/line.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 12 "../src/line.vala"
_tmp1_ = _tmp0_;
#line 12 "../src/line.vala"
if (_tmp1_) {
#line 86 "line.c"
LiveChartPoints* points = NULL;
LiveChartValues* _tmp2_;
LiveChartPoints* _tmp3_;
LiveChartPoints* _tmp4_;
gint _tmp5_;
gint _tmp6_;
#line 13 "../src/line.vala"
_tmp2_ = ((LiveChartSerieRenderer*) self)->values;
#line 13 "../src/line.vala"
_tmp3_ = live_chart_points_create (_tmp2_, config);
#line 13 "../src/line.vala"
points = _tmp3_;
#line 14 "../src/line.vala"
_tmp4_ = points;
#line 14 "../src/line.vala"
_tmp5_ = live_chart_points_get_size (_tmp4_);
#line 14 "../src/line.vala"
_tmp6_ = _tmp5_;
#line 14 "../src/line.vala"
if (_tmp6_ > 0) {
#line 107 "line.c"
LiveChartPoints* _tmp7_;
LiveChartPoints* _tmp8_;
LiveChartPoints* _tmp9_;
#line 15 "../src/line.vala"
_tmp7_ = points;
#line 15 "../src/line.vala"
_tmp8_ = live_chart_line_draw_line (self, _tmp7_, ctx, config);
#line 15 "../src/line.vala"
_tmp9_ = _tmp8_;
#line 15 "../src/line.vala"
_g_object_unref0 (_tmp9_);
#line 16 "../src/line.vala"
cairo_stroke (ctx);
#line 121 "line.c"
}
#line 12 "../src/line.vala"
_g_object_unref0 (points);
#line 125 "line.c"
}
}
LiveChartPoints*
live_chart_line_draw_line (LiveChartLine* self,
LiveChartPoints* points,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartPath* _tmp0_;
LiveChartPath* _tmp1_;
LiveChartPoint first_point = {0};
LiveChartPoint _tmp2_ = {0};
LiveChartPath* _tmp3_;
LiveChartPath* _tmp4_;
LiveChartPoint _tmp5_;
LiveChartPoint _tmp6_;
LiveChartPoints* _tmp18_;
LiveChartPoints* result;
#line 21 "../src/line.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 21 "../src/line.vala"
g_return_val_if_fail (points != NULL, NULL);
#line 21 "../src/line.vala"
g_return_val_if_fail (ctx != NULL, NULL);
#line 21 "../src/line.vala"
g_return_val_if_fail (config != NULL, NULL);
#line 22 "../src/line.vala"
_tmp0_ = live_chart_serie_renderer_get_line ((LiveChartSerieRenderer*) self);
#line 22 "../src/line.vala"
_tmp1_ = _tmp0_;
#line 22 "../src/line.vala"
live_chart_path_configure (_tmp1_, ctx);
#line 24 "../src/line.vala"
live_chart_points_first (points, &_tmp2_);
#line 24 "../src/line.vala"
first_point = _tmp2_;
#line 26 "../src/line.vala"
live_chart_line_update_bounding_box (self, points, config);
#line 27 "../src/line.vala"
live_chart_serie_renderer_debug ((LiveChartSerieRenderer*) self, ctx);
#line 29 "../src/line.vala"
_tmp3_ = live_chart_serie_renderer_get_line ((LiveChartSerieRenderer*) self);
#line 29 "../src/line.vala"
_tmp4_ = _tmp3_;
#line 29 "../src/line.vala"
live_chart_path_configure (_tmp4_, ctx);
#line 31 "../src/line.vala"
_tmp5_ = first_point;
#line 31 "../src/line.vala"
_tmp6_ = first_point;
#line 31 "../src/line.vala"
cairo_move_to (ctx, _tmp5_.x, _tmp6_.y);
#line 179 "line.c"
{
gint pos = 0;
#line 32 "../src/line.vala"
pos = 0;
#line 184 "line.c"
{
gboolean _tmp7_ = FALSE;
#line 32 "../src/line.vala"
_tmp7_ = TRUE;
#line 32 "../src/line.vala"
while (TRUE) {
#line 191 "line.c"
gint _tmp9_;
gint _tmp10_;
LiveChartPoint current_point = {0};
LiveChartPoint _tmp11_ = {0};
LiveChartPoint next_point = {0};
LiveChartPoint _tmp12_ = {0};
LiveChartPoint _tmp13_;
LiveChartPoint _tmp16_;
LiveChartPoint _tmp17_;
#line 32 "../src/line.vala"
if (!_tmp7_) {
#line 203 "line.c"
gint _tmp8_;
#line 32 "../src/line.vala"
_tmp8_ = pos;
#line 32 "../src/line.vala"
pos = _tmp8_ + 1;
#line 209 "line.c"
}
#line 32 "../src/line.vala"
_tmp7_ = FALSE;
#line 32 "../src/line.vala"
_tmp9_ = live_chart_points_get_size (points);
#line 32 "../src/line.vala"
_tmp10_ = _tmp9_;
#line 32 "../src/line.vala"
if (!(pos < (_tmp10_ - 1))) {
#line 32 "../src/line.vala"
break;
#line 221 "line.c"
}
#line 33 "../src/line.vala"
live_chart_points_get (points, pos, &_tmp11_);
#line 33 "../src/line.vala"
current_point = _tmp11_;
#line 34 "../src/line.vala"
live_chart_points_after (points, pos, &_tmp12_);
#line 34 "../src/line.vala"
next_point = _tmp12_;
#line 35 "../src/line.vala"
_tmp13_ = current_point;
#line 35 "../src/line.vala"
if (live_chart_serie_renderer_is_out_of_area ((LiveChartSerieRenderer*) self, &_tmp13_)) {
#line 235 "line.c"
LiveChartPoint _tmp14_;
LiveChartPoint _tmp15_;
#line 36 "../src/line.vala"
_tmp14_ = current_point;
#line 36 "../src/line.vala"
_tmp15_ = current_point;
#line 36 "../src/line.vala"
cairo_move_to (ctx, _tmp14_.x, _tmp15_.y);
#line 37 "../src/line.vala"
continue;
#line 246 "line.c"
}
#line 40 "../src/line.vala"
_tmp16_ = next_point;
#line 40 "../src/line.vala"
_tmp17_ = next_point;
#line 40 "../src/line.vala"
cairo_line_to (ctx, _tmp16_.x, _tmp17_.y);
#line 254 "line.c"
}
}
}
#line 43 "../src/line.vala"
_tmp18_ = _g_object_ref0 (points);
#line 43 "../src/line.vala"
result = _tmp18_;
#line 43 "../src/line.vala"
return result;
#line 264 "line.c"
}
static void
live_chart_line_update_bounding_box (LiveChartLine* self,
LiveChartPoints* points,
LiveChartConfig* config)
{
LiveChartPoint _tmp0_ = {0};
LiveChartBounds* _tmp1_;
LiveChartBounds* _tmp2_;
gdouble _tmp3_;
gdouble _tmp4_;
LiveChartPoint _tmp5_ = {0};
LiveChartPoint _tmp6_ = {0};
LiveChartBounds* _tmp7_;
LiveChartBounds* _tmp8_;
gdouble _tmp9_;
gdouble _tmp10_;
LiveChartBounds* _tmp11_;
LiveChartBounds* _tmp12_;
gdouble _tmp13_;
gdouble _tmp14_;
LiveChartBoundingBox _tmp15_ = {0};
#line 46 "../src/line.vala"
g_return_if_fail (self != NULL);
#line 46 "../src/line.vala"
g_return_if_fail (points != NULL);
#line 46 "../src/line.vala"
g_return_if_fail (config != NULL);
#line 47 "../src/line.vala"
live_chart_points_first (points, &_tmp0_);
#line 47 "../src/line.vala"
_tmp1_ = live_chart_points_get_bounds (points);
#line 47 "../src/line.vala"
_tmp2_ = _tmp1_;
#line 47 "../src/line.vala"
_tmp3_ = live_chart_bounds_get_lower (_tmp2_);
#line 47 "../src/line.vala"
_tmp4_ = _tmp3_;
#line 47 "../src/line.vala"
live_chart_points_last (points, &_tmp5_);
#line 47 "../src/line.vala"
live_chart_points_first (points, &_tmp6_);
#line 47 "../src/line.vala"
_tmp7_ = live_chart_points_get_bounds (points);
#line 47 "../src/line.vala"
_tmp8_ = _tmp7_;
#line 47 "../src/line.vala"
_tmp9_ = live_chart_bounds_get_upper (_tmp8_);
#line 47 "../src/line.vala"
_tmp10_ = _tmp9_;
#line 47 "../src/line.vala"
_tmp11_ = live_chart_points_get_bounds (points);
#line 47 "../src/line.vala"
_tmp12_ = _tmp11_;
#line 47 "../src/line.vala"
_tmp13_ = live_chart_bounds_get_lower (_tmp12_);
#line 47 "../src/line.vala"
_tmp14_ = _tmp13_;
#line 47 "../src/line.vala"
memset (&_tmp15_, 0, sizeof (LiveChartBoundingBox));
#line 47 "../src/line.vala"
_tmp15_.x = _tmp0_.x;
#line 47 "../src/line.vala"
_tmp15_.y = _tmp4_;
#line 47 "../src/line.vala"
_tmp15_.width = _tmp5_.x - _tmp6_.x;
#line 47 "../src/line.vala"
_tmp15_.height = _tmp10_ - _tmp14_;
#line 47 "../src/line.vala"
((LiveChartSerieRenderer*) self)->bounding_box = _tmp15_;
#line 336 "line.c"
}
static void
live_chart_line_class_init (LiveChartLineClass * klass,
gpointer klass_data)
{
#line 4 "../src/line.vala"
live_chart_line_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/line.vala"
((LiveChartSerieRendererClass *) klass)->draw = (void (*) (LiveChartSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_line_real_draw;
#line 347 "line.c"
}
static void
live_chart_line_instance_init (LiveChartLine * self,
gpointer klass)
{
}
static GType
live_chart_line_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartLineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_line_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartLine), 0, (GInstanceInitFunc) live_chart_line_instance_init, NULL };
GType live_chart_line_type_id;
live_chart_line_type_id = g_type_register_static (LIVE_CHART_TYPE_SERIE_RENDERER, "LiveChartLine", &g_define_type_info, 0);
return live_chart_line_type_id;
}
GType
live_chart_line_get_type (void)
{
static volatile gsize live_chart_line_type_id__once = 0;
if (g_once_init_enter (&live_chart_line_type_id__once)) {
GType live_chart_line_type_id;
live_chart_line_type_id = live_chart_line_get_type_once ();
g_once_init_leave (&live_chart_line_type_id__once, live_chart_line_type_id);
}
return live_chart_line_type_id__once;
}

View File

@ -0,0 +1,308 @@
/* line_area.c generated by valac 0.56.0, the Vala compiler
* generated from line_area.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <float.h>
#include <math.h>
#include <cairo-gobject.h>
#include <gdk/gdk.h>
enum {
LIVE_CHART_LINE_AREA_0_PROPERTY,
LIVE_CHART_LINE_AREA_AREA_ALPHA_PROPERTY,
LIVE_CHART_LINE_AREA_NUM_PROPERTIES
};
static GParamSpec* live_chart_line_area_properties[LIVE_CHART_LINE_AREA_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
struct _LiveChartLineAreaPrivate {
gdouble _area_alpha;
};
static gint LiveChartLineArea_private_offset;
static gpointer live_chart_line_area_parent_class = NULL;
static void live_chart_line_area_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_line_area_finalize (GObject * obj);
static GType live_chart_line_area_get_type_once (void);
static void _vala_live_chart_line_area_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_line_area_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer
live_chart_line_area_get_instance_private (LiveChartLineArea* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartLineArea_private_offset);
}
LiveChartLineArea*
live_chart_line_area_construct (GType object_type,
LiveChartValues* values)
{
LiveChartLineArea * self = NULL;
#line 8 "../src/line_area.vala"
g_return_val_if_fail (values != NULL, NULL);
#line 9 "../src/line_area.vala"
self = (LiveChartLineArea*) live_chart_line_construct (object_type, values);
#line 8 "../src/line_area.vala"
return self;
#line 58 "line_area.c"
}
LiveChartLineArea*
live_chart_line_area_new (LiveChartValues* values)
{
#line 8 "../src/line_area.vala"
return live_chart_line_area_construct (LIVE_CHART_TYPE_LINE_AREA, values);
#line 66 "line_area.c"
}
static void
live_chart_line_area_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartLineArea * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 12 "../src/line_area.vala"
self = (LiveChartLineArea*) base;
#line 12 "../src/line_area.vala"
g_return_if_fail (ctx != NULL);
#line 12 "../src/line_area.vala"
g_return_if_fail (config != NULL);
#line 13 "../src/line_area.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 13 "../src/line_area.vala"
_tmp1_ = _tmp0_;
#line 13 "../src/line_area.vala"
if (_tmp1_) {
#line 89 "line_area.c"
LiveChartPoints* points = NULL;
LiveChartValues* _tmp2_;
LiveChartPoints* _tmp3_;
LiveChartPoints* _tmp4_;
gint _tmp5_;
gint _tmp6_;
#line 14 "../src/line_area.vala"
_tmp2_ = ((LiveChartSerieRenderer*) self)->values;
#line 14 "../src/line_area.vala"
_tmp3_ = live_chart_points_create (_tmp2_, config);
#line 14 "../src/line_area.vala"
points = _tmp3_;
#line 15 "../src/line_area.vala"
_tmp4_ = points;
#line 15 "../src/line_area.vala"
_tmp5_ = live_chart_points_get_size (_tmp4_);
#line 15 "../src/line_area.vala"
_tmp6_ = _tmp5_;
#line 15 "../src/line_area.vala"
if (_tmp6_ > 0) {
#line 110 "line_area.c"
LiveChartPoints* _tmp7_;
LiveChartPoints* _tmp8_;
LiveChartPoints* _tmp9_;
LiveChartArea* area = NULL;
LiveChartPoints* _tmp10_;
GdkRGBA _tmp11_ = {0};
GdkRGBA _tmp12_;
gdouble _tmp13_;
LiveChartArea* _tmp14_;
LiveChartArea* _tmp15_;
#line 16 "../src/line_area.vala"
_tmp7_ = points;
#line 16 "../src/line_area.vala"
_tmp8_ = live_chart_line_draw_line ((LiveChartLine*) self, _tmp7_, ctx, config);
#line 16 "../src/line_area.vala"
_tmp9_ = _tmp8_;
#line 16 "../src/line_area.vala"
_g_object_unref0 (_tmp9_);
#line 17 "../src/line_area.vala"
cairo_stroke_preserve (ctx);
#line 19 "../src/line_area.vala"
_tmp10_ = points;
#line 19 "../src/line_area.vala"
live_chart_serie_renderer_get_main_color ((LiveChartSerieRenderer*) self, &_tmp11_);
#line 19 "../src/line_area.vala"
_tmp12_ = _tmp11_;
#line 19 "../src/line_area.vala"
_tmp13_ = self->priv->_area_alpha;
#line 19 "../src/line_area.vala"
_tmp14_ = live_chart_area_new (_tmp10_, &_tmp12_, _tmp13_);
#line 19 "../src/line_area.vala"
area = _tmp14_;
#line 20 "../src/line_area.vala"
_tmp15_ = area;
#line 20 "../src/line_area.vala"
live_chart_drawable_draw ((LiveChartDrawable*) _tmp15_, ctx, config);
#line 21 "../src/line_area.vala"
cairo_fill (ctx);
#line 15 "../src/line_area.vala"
_g_object_unref0 (area);
#line 151 "line_area.c"
}
#line 24 "../src/line_area.vala"
cairo_stroke (ctx);
#line 13 "../src/line_area.vala"
_g_object_unref0 (points);
#line 157 "line_area.c"
}
}
gdouble
live_chart_line_area_get_area_alpha (LiveChartLineArea* self)
{
gdouble result;
#line 6 "../src/line_area.vala"
g_return_val_if_fail (self != NULL, 0.0);
#line 6 "../src/line_area.vala"
result = self->priv->_area_alpha;
#line 6 "../src/line_area.vala"
return result;
#line 171 "line_area.c"
}
void
live_chart_line_area_set_area_alpha (LiveChartLineArea* self,
gdouble value)
{
gdouble old_value;
#line 6 "../src/line_area.vala"
g_return_if_fail (self != NULL);
#line 6 "../src/line_area.vala"
old_value = live_chart_line_area_get_area_alpha (self);
#line 6 "../src/line_area.vala"
if (old_value != value) {
#line 6 "../src/line_area.vala"
self->priv->_area_alpha = value;
#line 6 "../src/line_area.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_line_area_properties[LIVE_CHART_LINE_AREA_AREA_ALPHA_PROPERTY]);
#line 189 "line_area.c"
}
}
static void
live_chart_line_area_class_init (LiveChartLineAreaClass * klass,
gpointer klass_data)
{
#line 4 "../src/line_area.vala"
live_chart_line_area_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/line_area.vala"
g_type_class_adjust_private_offset (klass, &LiveChartLineArea_private_offset);
#line 4 "../src/line_area.vala"
((LiveChartSerieRendererClass *) klass)->draw = (void (*) (LiveChartSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_line_area_real_draw;
#line 4 "../src/line_area.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_line_area_get_property;
#line 4 "../src/line_area.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_line_area_set_property;
#line 4 "../src/line_area.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_line_area_finalize;
#line 4 "../src/line_area.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_LINE_AREA_AREA_ALPHA_PROPERTY, live_chart_line_area_properties[LIVE_CHART_LINE_AREA_AREA_ALPHA_PROPERTY] = g_param_spec_double ("area-alpha", "area-alpha", "area-alpha", -G_MAXDOUBLE, G_MAXDOUBLE, 0.1, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 211 "line_area.c"
}
static void
live_chart_line_area_instance_init (LiveChartLineArea * self,
gpointer klass)
{
#line 4 "../src/line_area.vala"
self->priv = live_chart_line_area_get_instance_private (self);
#line 6 "../src/line_area.vala"
self->priv->_area_alpha = 0.1;
#line 222 "line_area.c"
}
static void
live_chart_line_area_finalize (GObject * obj)
{
LiveChartLineArea * self;
#line 4 "../src/line_area.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_LINE_AREA, LiveChartLineArea);
#line 4 "../src/line_area.vala"
G_OBJECT_CLASS (live_chart_line_area_parent_class)->finalize (obj);
#line 233 "line_area.c"
}
static GType
live_chart_line_area_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartLineAreaClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_line_area_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartLineArea), 0, (GInstanceInitFunc) live_chart_line_area_instance_init, NULL };
GType live_chart_line_area_type_id;
live_chart_line_area_type_id = g_type_register_static (LIVE_CHART_TYPE_LINE, "LiveChartLineArea", &g_define_type_info, 0);
LiveChartLineArea_private_offset = g_type_add_instance_private (live_chart_line_area_type_id, sizeof (LiveChartLineAreaPrivate));
return live_chart_line_area_type_id;
}
GType
live_chart_line_area_get_type (void)
{
static volatile gsize live_chart_line_area_type_id__once = 0;
if (g_once_init_enter (&live_chart_line_area_type_id__once)) {
GType live_chart_line_area_type_id;
live_chart_line_area_type_id = live_chart_line_area_get_type_once ();
g_once_init_leave (&live_chart_line_area_type_id__once, live_chart_line_area_type_id);
}
return live_chart_line_area_type_id__once;
}
static void
_vala_live_chart_line_area_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartLineArea * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_LINE_AREA, LiveChartLineArea);
#line 4 "../src/line_area.vala"
switch (property_id) {
#line 4 "../src/line_area.vala"
case LIVE_CHART_LINE_AREA_AREA_ALPHA_PROPERTY:
#line 4 "../src/line_area.vala"
g_value_set_double (value, live_chart_line_area_get_area_alpha (self));
#line 4 "../src/line_area.vala"
break;
#line 274 "line_area.c"
default:
#line 4 "../src/line_area.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/line_area.vala"
break;
#line 280 "line_area.c"
}
}
static void
_vala_live_chart_line_area_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartLineArea * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_LINE_AREA, LiveChartLineArea);
#line 4 "../src/line_area.vala"
switch (property_id) {
#line 4 "../src/line_area.vala"
case LIVE_CHART_LINE_AREA_AREA_ALPHA_PROPERTY:
#line 4 "../src/line_area.vala"
live_chart_line_area_set_area_alpha (self, g_value_get_double (value));
#line 4 "../src/line_area.vala"
break;
#line 300 "line_area.c"
default:
#line 4 "../src/line_area.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/line_area.vala"
break;
#line 306 "line_area.c"
}
}

View File

@ -0,0 +1,249 @@
/* max_bound_line.c generated by valac 0.56.0, the Vala compiler
* generated from max_bound_line.vala, do not modify */
#include "livechart.h"
#include <cairo-gobject.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <gee.h>
#include <glib-object.h>
enum {
LIVE_CHART_MAX_BOUND_LINE_0_PROPERTY,
LIVE_CHART_MAX_BOUND_LINE_NUM_PROPERTIES
};
static GParamSpec* live_chart_max_bound_line_properties[LIVE_CHART_MAX_BOUND_LINE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
static gpointer live_chart_max_bound_line_parent_class = NULL;
static void live_chart_max_bound_line_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config);
static GType live_chart_max_bound_line_get_type_once (void);
LiveChartMaxBoundLine*
live_chart_max_bound_line_construct (GType object_type)
{
LiveChartMaxBoundLine * self = NULL;
LiveChartValues* _tmp0_;
#line 8 "../src/max_bound_line.vala"
self = (LiveChartMaxBoundLine*) live_chart_serie_renderer_construct (object_type);
#line 9 "../src/max_bound_line.vala"
_tmp0_ = live_chart_values_new (1000);
#line 9 "../src/max_bound_line.vala"
_g_object_unref0 (((LiveChartSerieRenderer*) self)->values);
#line 9 "../src/max_bound_line.vala"
((LiveChartSerieRenderer*) self)->values = _tmp0_;
#line 7 "../src/max_bound_line.vala"
return self;
#line 42 "max_bound_line.c"
}
LiveChartMaxBoundLine*
live_chart_max_bound_line_new (void)
{
#line 7 "../src/max_bound_line.vala"
return live_chart_max_bound_line_construct (LIVE_CHART_TYPE_MAX_BOUND_LINE);
#line 50 "max_bound_line.c"
}
LiveChartMaxBoundLine*
live_chart_max_bound_line_construct_from_serie (GType object_type,
LiveChartSerie* serie)
{
LiveChartMaxBoundLine * self = NULL;
LiveChartValues* _tmp0_;
#line 12 "../src/max_bound_line.vala"
g_return_val_if_fail (serie != NULL, NULL);
#line 12 "../src/max_bound_line.vala"
self = (LiveChartMaxBoundLine*) live_chart_serie_renderer_construct (object_type);
#line 13 "../src/max_bound_line.vala"
_tmp0_ = live_chart_serie_get_values (serie);
#line 13 "../src/max_bound_line.vala"
_g_object_unref0 (((LiveChartSerieRenderer*) self)->values);
#line 13 "../src/max_bound_line.vala"
((LiveChartSerieRenderer*) self)->values = _tmp0_;
#line 12 "../src/max_bound_line.vala"
return self;
#line 71 "max_bound_line.c"
}
LiveChartMaxBoundLine*
live_chart_max_bound_line_new_from_serie (LiveChartSerie* serie)
{
#line 12 "../src/max_bound_line.vala"
return live_chart_max_bound_line_construct_from_serie (LIVE_CHART_TYPE_MAX_BOUND_LINE, serie);
#line 79 "max_bound_line.c"
}
static void
live_chart_max_bound_line_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartMaxBoundLine * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 16 "../src/max_bound_line.vala"
self = (LiveChartMaxBoundLine*) base;
#line 16 "../src/max_bound_line.vala"
g_return_if_fail (ctx != NULL);
#line 16 "../src/max_bound_line.vala"
g_return_if_fail (config != NULL);
#line 17 "../src/max_bound_line.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 17 "../src/max_bound_line.vala"
_tmp1_ = _tmp0_;
#line 17 "../src/max_bound_line.vala"
if (_tmp1_) {
#line 102 "max_bound_line.c"
LiveChartBoundaries boundaries = {0};
LiveChartBoundaries _tmp2_ = {0};
gdouble _tmp3_ = 0.0;
LiveChartValues* _tmp4_;
gint _tmp5_;
gint _tmp6_;
gdouble y = 0.0;
LiveChartPath* _tmp19_;
LiveChartPath* _tmp20_;
LiveChartBoundaries _tmp21_;
LiveChartBoundary _tmp22_;
LiveChartBoundaries _tmp23_;
LiveChartBoundary _tmp24_;
LiveChartBoundaries _tmp25_;
LiveChartBoundary _tmp26_;
LiveChartBoundaries _tmp27_;
LiveChartBoundary _tmp28_;
#line 18 "../src/max_bound_line.vala"
live_chart_config_boundaries (config, &_tmp2_);
#line 18 "../src/max_bound_line.vala"
boundaries = _tmp2_;
#line 19 "../src/max_bound_line.vala"
_tmp4_ = ((LiveChartSerieRenderer*) self)->values;
#line 19 "../src/max_bound_line.vala"
_tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
#line 19 "../src/max_bound_line.vala"
_tmp6_ = _tmp5_;
#line 19 "../src/max_bound_line.vala"
if (_tmp6_ == 0) {
#line 132 "max_bound_line.c"
LiveChartYAxis* _tmp7_;
LiveChartBounds* _tmp8_;
LiveChartBounds* _tmp9_;
gdouble _tmp10_;
gdouble _tmp11_;
LiveChartYAxis* _tmp12_;
#line 19 "../src/max_bound_line.vala"
_tmp7_ = config->y_axis;
#line 19 "../src/max_bound_line.vala"
_tmp8_ = live_chart_yaxis_get_bounds (_tmp7_);
#line 19 "../src/max_bound_line.vala"
_tmp9_ = _tmp8_;
#line 19 "../src/max_bound_line.vala"
_tmp10_ = live_chart_bounds_get_upper (_tmp9_);
#line 19 "../src/max_bound_line.vala"
_tmp11_ = _tmp10_;
#line 19 "../src/max_bound_line.vala"
_tmp12_ = config->y_axis;
#line 19 "../src/max_bound_line.vala"
_tmp3_ = _tmp11_ * live_chart_yaxis_get_ratio (_tmp12_);
#line 19 "../src/max_bound_line.vala"
_g_object_unref0 (_tmp9_);
#line 155 "max_bound_line.c"
} else {
LiveChartValues* _tmp13_;
LiveChartBounds* _tmp14_;
LiveChartBounds* _tmp15_;
gdouble _tmp16_;
gdouble _tmp17_;
LiveChartYAxis* _tmp18_;
#line 19 "../src/max_bound_line.vala"
_tmp13_ = ((LiveChartSerieRenderer*) self)->values;
#line 19 "../src/max_bound_line.vala"
_tmp14_ = live_chart_values_get_bounds (_tmp13_);
#line 19 "../src/max_bound_line.vala"
_tmp15_ = _tmp14_;
#line 19 "../src/max_bound_line.vala"
_tmp16_ = live_chart_bounds_get_upper (_tmp15_);
#line 19 "../src/max_bound_line.vala"
_tmp17_ = _tmp16_;
#line 19 "../src/max_bound_line.vala"
_tmp18_ = config->y_axis;
#line 19 "../src/max_bound_line.vala"
_tmp3_ = _tmp17_ * live_chart_yaxis_get_ratio (_tmp18_);
#line 177 "max_bound_line.c"
}
#line 19 "../src/max_bound_line.vala"
y = _tmp3_;
#line 20 "../src/max_bound_line.vala"
_tmp19_ = live_chart_serie_renderer_get_line ((LiveChartSerieRenderer*) self);
#line 20 "../src/max_bound_line.vala"
_tmp20_ = _tmp19_;
#line 20 "../src/max_bound_line.vala"
live_chart_path_configure (_tmp20_, ctx);
#line 21 "../src/max_bound_line.vala"
_tmp21_ = boundaries;
#line 21 "../src/max_bound_line.vala"
_tmp22_ = _tmp21_.x;
#line 21 "../src/max_bound_line.vala"
_tmp23_ = boundaries;
#line 21 "../src/max_bound_line.vala"
_tmp24_ = _tmp23_.y;
#line 21 "../src/max_bound_line.vala"
cairo_move_to (ctx, (gdouble) _tmp22_.min, _tmp24_.max - y);
#line 22 "../src/max_bound_line.vala"
_tmp25_ = boundaries;
#line 22 "../src/max_bound_line.vala"
_tmp26_ = _tmp25_.x;
#line 22 "../src/max_bound_line.vala"
_tmp27_ = boundaries;
#line 22 "../src/max_bound_line.vala"
_tmp28_ = _tmp27_.y;
#line 22 "../src/max_bound_line.vala"
cairo_line_to (ctx, (gdouble) _tmp26_.max, _tmp28_.max - y);
#line 23 "../src/max_bound_line.vala"
cairo_stroke (ctx);
#line 209 "max_bound_line.c"
}
}
static void
live_chart_max_bound_line_class_init (LiveChartMaxBoundLineClass * klass,
gpointer klass_data)
{
#line 5 "../src/max_bound_line.vala"
live_chart_max_bound_line_parent_class = g_type_class_peek_parent (klass);
#line 5 "../src/max_bound_line.vala"
((LiveChartSerieRendererClass *) klass)->draw = (void (*) (LiveChartSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_max_bound_line_real_draw;
#line 221 "max_bound_line.c"
}
static void
live_chart_max_bound_line_instance_init (LiveChartMaxBoundLine * self,
gpointer klass)
{
}
static GType
live_chart_max_bound_line_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartMaxBoundLineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_max_bound_line_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartMaxBoundLine), 0, (GInstanceInitFunc) live_chart_max_bound_line_instance_init, NULL };
GType live_chart_max_bound_line_type_id;
live_chart_max_bound_line_type_id = g_type_register_static (LIVE_CHART_TYPE_SERIE_RENDERER, "LiveChartMaxBoundLine", &g_define_type_info, 0);
return live_chart_max_bound_line_type_id;
}
GType
live_chart_max_bound_line_get_type (void)
{
static volatile gsize live_chart_max_bound_line_type_id__once = 0;
if (g_once_init_enter (&live_chart_max_bound_line_type_id__once)) {
GType live_chart_max_bound_line_type_id;
live_chart_max_bound_line_type_id = live_chart_max_bound_line_get_type_once ();
g_once_init_leave (&live_chart_max_bound_line_type_id__once, live_chart_max_bound_line_type_id);
}
return live_chart_max_bound_line_type_id__once;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,260 @@
/* min_bound_line.c generated by valac 0.56.0, the Vala compiler
* generated from min_bound_line.vala, do not modify */
#include "livechart.h"
#include <cairo-gobject.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <gee.h>
#include <glib-object.h>
enum {
LIVE_CHART_MIN_BOUND_LINE_0_PROPERTY,
LIVE_CHART_MIN_BOUND_LINE_NUM_PROPERTIES
};
static GParamSpec* live_chart_min_bound_line_properties[LIVE_CHART_MIN_BOUND_LINE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
static gpointer live_chart_min_bound_line_parent_class = NULL;
static void live_chart_min_bound_line_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config);
static GType live_chart_min_bound_line_get_type_once (void);
static gpointer
_g_object_ref0 (gpointer self)
{
#line 9 "../src/min_bound_line.vala"
return self ? g_object_ref (self) : NULL;
#line 32 "min_bound_line.c"
}
LiveChartMinBoundLine*
live_chart_min_bound_line_construct (GType object_type,
LiveChartValues* values)
{
LiveChartMinBoundLine * self = NULL;
LiveChartValues* _tmp0_;
#line 7 "../src/min_bound_line.vala"
g_return_val_if_fail (values != NULL, NULL);
#line 8 "../src/min_bound_line.vala"
self = (LiveChartMinBoundLine*) live_chart_serie_renderer_construct (object_type);
#line 9 "../src/min_bound_line.vala"
_tmp0_ = _g_object_ref0 (values);
#line 9 "../src/min_bound_line.vala"
_g_object_unref0 (((LiveChartSerieRenderer*) self)->values);
#line 9 "../src/min_bound_line.vala"
((LiveChartSerieRenderer*) self)->values = _tmp0_;
#line 7 "../src/min_bound_line.vala"
return self;
#line 53 "min_bound_line.c"
}
LiveChartMinBoundLine*
live_chart_min_bound_line_new (LiveChartValues* values)
{
#line 7 "../src/min_bound_line.vala"
return live_chart_min_bound_line_construct (LIVE_CHART_TYPE_MIN_BOUND_LINE, values);
#line 61 "min_bound_line.c"
}
LiveChartMinBoundLine*
live_chart_min_bound_line_construct_from_serie (GType object_type,
LiveChartSerie* serie)
{
LiveChartMinBoundLine * self = NULL;
LiveChartValues* _tmp0_;
#line 12 "../src/min_bound_line.vala"
g_return_val_if_fail (serie != NULL, NULL);
#line 12 "../src/min_bound_line.vala"
self = (LiveChartMinBoundLine*) live_chart_serie_renderer_construct (object_type);
#line 13 "../src/min_bound_line.vala"
_tmp0_ = live_chart_serie_get_values (serie);
#line 13 "../src/min_bound_line.vala"
_g_object_unref0 (((LiveChartSerieRenderer*) self)->values);
#line 13 "../src/min_bound_line.vala"
((LiveChartSerieRenderer*) self)->values = _tmp0_;
#line 12 "../src/min_bound_line.vala"
return self;
#line 82 "min_bound_line.c"
}
LiveChartMinBoundLine*
live_chart_min_bound_line_new_from_serie (LiveChartSerie* serie)
{
#line 12 "../src/min_bound_line.vala"
return live_chart_min_bound_line_construct_from_serie (LIVE_CHART_TYPE_MIN_BOUND_LINE, serie);
#line 90 "min_bound_line.c"
}
static void
live_chart_min_bound_line_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartMinBoundLine * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 16 "../src/min_bound_line.vala"
self = (LiveChartMinBoundLine*) base;
#line 16 "../src/min_bound_line.vala"
g_return_if_fail (ctx != NULL);
#line 16 "../src/min_bound_line.vala"
g_return_if_fail (config != NULL);
#line 17 "../src/min_bound_line.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 17 "../src/min_bound_line.vala"
_tmp1_ = _tmp0_;
#line 17 "../src/min_bound_line.vala"
if (_tmp1_) {
#line 113 "min_bound_line.c"
LiveChartBoundaries boundaries = {0};
LiveChartBoundaries _tmp2_ = {0};
gdouble _tmp3_ = 0.0;
LiveChartValues* _tmp4_;
gint _tmp5_;
gint _tmp6_;
gdouble y = 0.0;
LiveChartPath* _tmp19_;
LiveChartPath* _tmp20_;
LiveChartBoundaries _tmp21_;
LiveChartBoundary _tmp22_;
LiveChartBoundaries _tmp23_;
LiveChartBoundary _tmp24_;
LiveChartBoundaries _tmp25_;
LiveChartBoundary _tmp26_;
LiveChartBoundaries _tmp27_;
LiveChartBoundary _tmp28_;
#line 18 "../src/min_bound_line.vala"
live_chart_config_boundaries (config, &_tmp2_);
#line 18 "../src/min_bound_line.vala"
boundaries = _tmp2_;
#line 19 "../src/min_bound_line.vala"
_tmp4_ = ((LiveChartSerieRenderer*) self)->values;
#line 19 "../src/min_bound_line.vala"
_tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
#line 19 "../src/min_bound_line.vala"
_tmp6_ = _tmp5_;
#line 19 "../src/min_bound_line.vala"
if (_tmp6_ == 0) {
#line 143 "min_bound_line.c"
LiveChartYAxis* _tmp7_;
LiveChartBounds* _tmp8_;
LiveChartBounds* _tmp9_;
gdouble _tmp10_;
gdouble _tmp11_;
LiveChartYAxis* _tmp12_;
#line 19 "../src/min_bound_line.vala"
_tmp7_ = config->y_axis;
#line 19 "../src/min_bound_line.vala"
_tmp8_ = live_chart_yaxis_get_bounds (_tmp7_);
#line 19 "../src/min_bound_line.vala"
_tmp9_ = _tmp8_;
#line 19 "../src/min_bound_line.vala"
_tmp10_ = live_chart_bounds_get_lower (_tmp9_);
#line 19 "../src/min_bound_line.vala"
_tmp11_ = _tmp10_;
#line 19 "../src/min_bound_line.vala"
_tmp12_ = config->y_axis;
#line 19 "../src/min_bound_line.vala"
_tmp3_ = _tmp11_ * live_chart_yaxis_get_ratio (_tmp12_);
#line 19 "../src/min_bound_line.vala"
_g_object_unref0 (_tmp9_);
#line 166 "min_bound_line.c"
} else {
LiveChartValues* _tmp13_;
LiveChartBounds* _tmp14_;
LiveChartBounds* _tmp15_;
gdouble _tmp16_;
gdouble _tmp17_;
LiveChartYAxis* _tmp18_;
#line 19 "../src/min_bound_line.vala"
_tmp13_ = ((LiveChartSerieRenderer*) self)->values;
#line 19 "../src/min_bound_line.vala"
_tmp14_ = live_chart_values_get_bounds (_tmp13_);
#line 19 "../src/min_bound_line.vala"
_tmp15_ = _tmp14_;
#line 19 "../src/min_bound_line.vala"
_tmp16_ = live_chart_bounds_get_lower (_tmp15_);
#line 19 "../src/min_bound_line.vala"
_tmp17_ = _tmp16_;
#line 19 "../src/min_bound_line.vala"
_tmp18_ = config->y_axis;
#line 19 "../src/min_bound_line.vala"
_tmp3_ = _tmp17_ * live_chart_yaxis_get_ratio (_tmp18_);
#line 188 "min_bound_line.c"
}
#line 19 "../src/min_bound_line.vala"
y = _tmp3_;
#line 20 "../src/min_bound_line.vala"
_tmp19_ = live_chart_serie_renderer_get_line ((LiveChartSerieRenderer*) self);
#line 20 "../src/min_bound_line.vala"
_tmp20_ = _tmp19_;
#line 20 "../src/min_bound_line.vala"
live_chart_path_configure (_tmp20_, ctx);
#line 21 "../src/min_bound_line.vala"
_tmp21_ = boundaries;
#line 21 "../src/min_bound_line.vala"
_tmp22_ = _tmp21_.x;
#line 21 "../src/min_bound_line.vala"
_tmp23_ = boundaries;
#line 21 "../src/min_bound_line.vala"
_tmp24_ = _tmp23_.y;
#line 21 "../src/min_bound_line.vala"
cairo_move_to (ctx, (gdouble) _tmp22_.min, _tmp24_.max - y);
#line 22 "../src/min_bound_line.vala"
_tmp25_ = boundaries;
#line 22 "../src/min_bound_line.vala"
_tmp26_ = _tmp25_.x;
#line 22 "../src/min_bound_line.vala"
_tmp27_ = boundaries;
#line 22 "../src/min_bound_line.vala"
_tmp28_ = _tmp27_.y;
#line 22 "../src/min_bound_line.vala"
cairo_line_to (ctx, (gdouble) _tmp26_.max, _tmp28_.max - y);
#line 23 "../src/min_bound_line.vala"
cairo_stroke (ctx);
#line 220 "min_bound_line.c"
}
}
static void
live_chart_min_bound_line_class_init (LiveChartMinBoundLineClass * klass,
gpointer klass_data)
{
#line 5 "../src/min_bound_line.vala"
live_chart_min_bound_line_parent_class = g_type_class_peek_parent (klass);
#line 5 "../src/min_bound_line.vala"
((LiveChartSerieRendererClass *) klass)->draw = (void (*) (LiveChartSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_min_bound_line_real_draw;
#line 232 "min_bound_line.c"
}
static void
live_chart_min_bound_line_instance_init (LiveChartMinBoundLine * self,
gpointer klass)
{
}
static GType
live_chart_min_bound_line_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartMinBoundLineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_min_bound_line_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartMinBoundLine), 0, (GInstanceInitFunc) live_chart_min_bound_line_instance_init, NULL };
GType live_chart_min_bound_line_type_id;
live_chart_min_bound_line_type_id = g_type_register_static (LIVE_CHART_TYPE_SERIE_RENDERER, "LiveChartMinBoundLine", &g_define_type_info, 0);
return live_chart_min_bound_line_type_id;
}
GType
live_chart_min_bound_line_get_type (void)
{
static volatile gsize live_chart_min_bound_line_type_id__once = 0;
if (g_once_init_enter (&live_chart_min_bound_line_type_id__once)) {
GType live_chart_min_bound_line_type_id;
live_chart_min_bound_line_type_id = live_chart_min_bound_line_get_type_once ();
g_once_init_leave (&live_chart_min_bound_line_type_id__once, live_chart_min_bound_line_type_id);
}
return live_chart_min_bound_line_type_id__once;
}

View File

@ -0,0 +1,586 @@
/* path.c generated by valac 0.56.0, the Vala compiler
* generated from path.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <string.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>
#include <glib-object.h>
#include <cairo-gobject.h>
enum {
LIVE_CHART_PATH_0_PROPERTY,
LIVE_CHART_PATH_WIDTH_PROPERTY,
LIVE_CHART_PATH_COLOR_PROPERTY,
LIVE_CHART_PATH_VISIBLE_PROPERTY,
LIVE_CHART_PATH_NUM_PROPERTIES
};
static GParamSpec* live_chart_path_properties[LIVE_CHART_PATH_NUM_PROPERTIES];
#define _live_chart_dash_free0(var) ((var == NULL) ? NULL : (var = (live_chart_dash_free (var), NULL)))
struct _LiveChartPathPrivate {
gdouble _width;
GdkRGBA _color;
gboolean _visible;
};
static gint LiveChartPath_private_offset;
static gpointer live_chart_path_parent_class = NULL;
static gdouble* _vala_array_dup1 (gdouble* self,
gssize length);
static gboolean _gdk_rgba_equal (const GdkRGBA * s1,
const GdkRGBA * s2);
static void live_chart_path_finalize (GObject * obj);
static GType live_chart_path_get_type_once (void);
static void _vala_live_chart_path_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_path_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
void
live_chart_dash_init (LiveChartDash *self)
{
#line 8 "../src/path.vala"
memset (self, 0, sizeof (LiveChartDash));
#line 9 "../src/path.vala"
(*self).offset = (gdouble) 0;
#line 57 "path.c"
}
static gdouble*
_vala_array_dup1 (gdouble* self,
gssize length)
{
#line 5 "../src/path.vala"
if (length > 0) {
#line 5 "../src/path.vala"
return _vala_memdup2 (self, length * sizeof (gdouble));
#line 68 "path.c"
}
#line 5 "../src/path.vala"
return NULL;
#line 72 "path.c"
}
void
live_chart_dash_copy (const LiveChartDash* self,
LiveChartDash* dest)
{
gdouble* _tmp0_;
gint _tmp0__length1;
gdouble* _tmp1_;
gint _tmp1__length1;
#line 5 "../src/path.vala"
_tmp0_ = (*self).dashes;
#line 5 "../src/path.vala"
_tmp0__length1 = (*self).dashes_length1;
#line 5 "../src/path.vala"
_tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup1 (_tmp0_, _tmp0__length1) : _tmp0_;
#line 5 "../src/path.vala"
_tmp1__length1 = _tmp0__length1;
#line 5 "../src/path.vala"
(*dest).dashes = (g_free ((*dest).dashes), NULL);
#line 5 "../src/path.vala"
(*dest).dashes = _tmp1_;
#line 5 "../src/path.vala"
(*dest).dashes_length1 = _tmp1__length1;
#line 5 "../src/path.vala"
(*dest).offset = (*self).offset;
#line 99 "path.c"
}
void
live_chart_dash_destroy (LiveChartDash* self)
{
#line 6 "../src/path.vala"
(*self).dashes = (g_free ((*self).dashes), NULL);
#line 107 "path.c"
}
LiveChartDash*
live_chart_dash_dup (const LiveChartDash* self)
{
LiveChartDash* dup;
#line 5 "../src/path.vala"
dup = g_new0 (LiveChartDash, 1);
#line 5 "../src/path.vala"
live_chart_dash_copy (self, dup);
#line 5 "../src/path.vala"
return dup;
#line 120 "path.c"
}
void
live_chart_dash_free (LiveChartDash* self)
{
#line 5 "../src/path.vala"
live_chart_dash_destroy (self);
#line 5 "../src/path.vala"
g_free (self);
#line 130 "path.c"
}
static GType
live_chart_dash_get_type_once (void)
{
GType live_chart_dash_type_id;
live_chart_dash_type_id = g_boxed_type_register_static ("LiveChartDash", (GBoxedCopyFunc) live_chart_dash_dup, (GBoxedFreeFunc) live_chart_dash_free);
return live_chart_dash_type_id;
}
GType
live_chart_dash_get_type (void)
{
static volatile gsize live_chart_dash_type_id__once = 0;
if (g_once_init_enter (&live_chart_dash_type_id__once)) {
GType live_chart_dash_type_id;
live_chart_dash_type_id = live_chart_dash_get_type_once ();
g_once_init_leave (&live_chart_dash_type_id__once, live_chart_dash_type_id);
}
return live_chart_dash_type_id__once;
}
static inline gpointer
live_chart_path_get_instance_private (LiveChartPath* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartPath_private_offset);
}
static gpointer
_live_chart_dash_dup0 (gpointer self)
{
#line 23 "../src/path.vala"
return self ? live_chart_dash_dup (self) : NULL;
#line 164 "path.c"
}
LiveChartPath*
live_chart_path_construct (GType object_type,
gdouble width,
GdkRGBA* color,
gboolean visible,
LiveChartDash* dash)
{
LiveChartPath * self = NULL;
GdkRGBA _tmp0_;
LiveChartDash* _tmp1_;
#line 19 "../src/path.vala"
g_return_val_if_fail (color != NULL, NULL);
#line 19 "../src/path.vala"
self = (LiveChartPath*) g_object_new (object_type, NULL);
#line 20 "../src/path.vala"
live_chart_path_set_width (self, width);
#line 21 "../src/path.vala"
_tmp0_ = *color;
#line 21 "../src/path.vala"
live_chart_path_set_color (self, &_tmp0_);
#line 22 "../src/path.vala"
live_chart_path_set_visible (self, TRUE);
#line 23 "../src/path.vala"
_tmp1_ = _live_chart_dash_dup0 (dash);
#line 23 "../src/path.vala"
_live_chart_dash_free0 (self->dash);
#line 23 "../src/path.vala"
self->dash = _tmp1_;
#line 19 "../src/path.vala"
return self;
#line 197 "path.c"
}
LiveChartPath*
live_chart_path_new (gdouble width,
GdkRGBA* color,
gboolean visible,
LiveChartDash* dash)
{
#line 19 "../src/path.vala"
return live_chart_path_construct (LIVE_CHART_TYPE_PATH, width, color, visible, dash);
#line 208 "path.c"
}
void
live_chart_path_configure (LiveChartPath* self,
cairo_t* ctx)
{
gboolean _tmp0_;
#line 26 "../src/path.vala"
g_return_if_fail (self != NULL);
#line 26 "../src/path.vala"
g_return_if_fail (ctx != NULL);
#line 27 "../src/path.vala"
_tmp0_ = self->priv->_visible;
#line 27 "../src/path.vala"
if (_tmp0_) {
#line 224 "path.c"
LiveChartDash* _tmp1_;
GdkRGBA _tmp5_;
GdkRGBA _tmp6_;
GdkRGBA _tmp7_;
GdkRGBA _tmp8_;
gdouble _tmp9_;
#line 28 "../src/path.vala"
_tmp1_ = self->dash;
#line 28 "../src/path.vala"
if (_tmp1_ != NULL) {
#line 235 "path.c"
LiveChartDash* _tmp2_;
gdouble* _tmp3_;
gint _tmp3__length1;
LiveChartDash* _tmp4_;
#line 29 "../src/path.vala"
_tmp2_ = self->dash;
#line 29 "../src/path.vala"
_tmp3_ = (*_tmp2_).dashes;
#line 29 "../src/path.vala"
_tmp3__length1 = (*_tmp2_).dashes_length1;
#line 29 "../src/path.vala"
_tmp4_ = self->dash;
#line 29 "../src/path.vala"
cairo_set_dash (ctx, _tmp3_, (gint) _tmp3__length1, (*_tmp4_).offset);
#line 250 "path.c"
}
#line 31 "../src/path.vala"
_tmp5_ = self->priv->_color;
#line 31 "../src/path.vala"
_tmp6_ = self->priv->_color;
#line 31 "../src/path.vala"
_tmp7_ = self->priv->_color;
#line 31 "../src/path.vala"
_tmp8_ = self->priv->_color;
#line 31 "../src/path.vala"
cairo_set_source_rgba (ctx, _tmp5_.red, _tmp6_.green, _tmp7_.blue, _tmp8_.alpha);
#line 32 "../src/path.vala"
_tmp9_ = self->priv->_width;
#line 32 "../src/path.vala"
cairo_set_line_width (ctx, _tmp9_);
#line 266 "path.c"
}
}
gdouble
live_chart_path_get_width (LiveChartPath* self)
{
gdouble result;
#line 14 "../src/path.vala"
g_return_val_if_fail (self != NULL, 0.0);
#line 14 "../src/path.vala"
result = self->priv->_width;
#line 14 "../src/path.vala"
return result;
#line 280 "path.c"
}
void
live_chart_path_set_width (LiveChartPath* self,
gdouble value)
{
gdouble old_value;
#line 14 "../src/path.vala"
g_return_if_fail (self != NULL);
#line 14 "../src/path.vala"
old_value = live_chart_path_get_width (self);
#line 14 "../src/path.vala"
if (old_value != value) {
#line 14 "../src/path.vala"
self->priv->_width = value;
#line 14 "../src/path.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_path_properties[LIVE_CHART_PATH_WIDTH_PROPERTY]);
#line 298 "path.c"
}
}
void
live_chart_path_get_color (LiveChartPath* self,
GdkRGBA * result)
{
GdkRGBA _tmp0_;
#line 16 "../src/path.vala"
g_return_if_fail (self != NULL);
#line 16 "../src/path.vala"
_tmp0_ = self->priv->_color;
#line 16 "../src/path.vala"
*result = _tmp0_;
#line 16 "../src/path.vala"
return;
#line 315 "path.c"
}
static gboolean
_gdk_rgba_equal (const GdkRGBA * s1,
const GdkRGBA * s2)
{
#line 16 "../src/path.vala"
if (s1 == s2) {
#line 16 "../src/path.vala"
return TRUE;
#line 326 "path.c"
}
#line 16 "../src/path.vala"
if (s1 == NULL) {
#line 16 "../src/path.vala"
return FALSE;
#line 332 "path.c"
}
#line 16 "../src/path.vala"
if (s2 == NULL) {
#line 16 "../src/path.vala"
return FALSE;
#line 338 "path.c"
}
#line 16 "../src/path.vala"
if (s1->red != s2->red) {
#line 16 "../src/path.vala"
return FALSE;
#line 344 "path.c"
}
#line 16 "../src/path.vala"
if (s1->green != s2->green) {
#line 16 "../src/path.vala"
return FALSE;
#line 350 "path.c"
}
#line 16 "../src/path.vala"
if (s1->blue != s2->blue) {
#line 16 "../src/path.vala"
return FALSE;
#line 356 "path.c"
}
#line 16 "../src/path.vala"
if (s1->alpha != s2->alpha) {
#line 16 "../src/path.vala"
return FALSE;
#line 362 "path.c"
}
#line 16 "../src/path.vala"
return TRUE;
#line 366 "path.c"
}
void
live_chart_path_set_color (LiveChartPath* self,
GdkRGBA * value)
{
GdkRGBA old_value;
#line 16 "../src/path.vala"
g_return_if_fail (self != NULL);
#line 16 "../src/path.vala"
live_chart_path_get_color (self, &old_value);
#line 16 "../src/path.vala"
if (_gdk_rgba_equal (value, &old_value) != TRUE) {
#line 380 "path.c"
GdkRGBA _tmp0_;
#line 16 "../src/path.vala"
_tmp0_ = *value;
#line 16 "../src/path.vala"
self->priv->_color = _tmp0_;
#line 16 "../src/path.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_path_properties[LIVE_CHART_PATH_COLOR_PROPERTY]);
#line 388 "path.c"
}
}
gboolean
live_chart_path_get_visible (LiveChartPath* self)
{
gboolean result;
#line 17 "../src/path.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 17 "../src/path.vala"
result = self->priv->_visible;
#line 17 "../src/path.vala"
return result;
#line 402 "path.c"
}
void
live_chart_path_set_visible (LiveChartPath* self,
gboolean value)
{
gboolean old_value;
#line 17 "../src/path.vala"
g_return_if_fail (self != NULL);
#line 17 "../src/path.vala"
old_value = live_chart_path_get_visible (self);
#line 17 "../src/path.vala"
if (old_value != value) {
#line 17 "../src/path.vala"
self->priv->_visible = value;
#line 17 "../src/path.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_path_properties[LIVE_CHART_PATH_VISIBLE_PROPERTY]);
#line 420 "path.c"
}
}
static void
live_chart_path_class_init (LiveChartPathClass * klass,
gpointer klass_data)
{
#line 13 "../src/path.vala"
live_chart_path_parent_class = g_type_class_peek_parent (klass);
#line 13 "../src/path.vala"
g_type_class_adjust_private_offset (klass, &LiveChartPath_private_offset);
#line 13 "../src/path.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_path_get_property;
#line 13 "../src/path.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_path_set_property;
#line 13 "../src/path.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_path_finalize;
#line 13 "../src/path.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_PATH_WIDTH_PROPERTY, live_chart_path_properties[LIVE_CHART_PATH_WIDTH_PROPERTY] = g_param_spec_double ("width", "width", "width", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 13 "../src/path.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_PATH_COLOR_PROPERTY, live_chart_path_properties[LIVE_CHART_PATH_COLOR_PROPERTY] = g_param_spec_boxed ("color", "color", "color", gdk_rgba_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 13 "../src/path.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_PATH_VISIBLE_PROPERTY, live_chart_path_properties[LIVE_CHART_PATH_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 444 "path.c"
}
static void
live_chart_path_instance_init (LiveChartPath * self,
gpointer klass)
{
#line 13 "../src/path.vala"
self->priv = live_chart_path_get_instance_private (self);
#line 453 "path.c"
}
static void
live_chart_path_finalize (GObject * obj)
{
LiveChartPath * self;
#line 13 "../src/path.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_PATH, LiveChartPath);
#line 15 "../src/path.vala"
_live_chart_dash_free0 (self->dash);
#line 13 "../src/path.vala"
G_OBJECT_CLASS (live_chart_path_parent_class)->finalize (obj);
#line 466 "path.c"
}
static GType
live_chart_path_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartPathClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_path_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartPath), 0, (GInstanceInitFunc) live_chart_path_instance_init, NULL };
GType live_chart_path_type_id;
live_chart_path_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartPath", &g_define_type_info, 0);
LiveChartPath_private_offset = g_type_add_instance_private (live_chart_path_type_id, sizeof (LiveChartPathPrivate));
return live_chart_path_type_id;
}
GType
live_chart_path_get_type (void)
{
static volatile gsize live_chart_path_type_id__once = 0;
if (g_once_init_enter (&live_chart_path_type_id__once)) {
GType live_chart_path_type_id;
live_chart_path_type_id = live_chart_path_get_type_once ();
g_once_init_leave (&live_chart_path_type_id__once, live_chart_path_type_id);
}
return live_chart_path_type_id__once;
}
static void
_vala_live_chart_path_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartPath * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_PATH, LiveChartPath);
#line 13 "../src/path.vala"
switch (property_id) {
#line 13 "../src/path.vala"
case LIVE_CHART_PATH_WIDTH_PROPERTY:
#line 13 "../src/path.vala"
g_value_set_double (value, live_chart_path_get_width (self));
#line 13 "../src/path.vala"
break;
#line 13 "../src/path.vala"
case LIVE_CHART_PATH_COLOR_PROPERTY:
#line 509 "path.c"
{
GdkRGBA boxed;
#line 13 "../src/path.vala"
live_chart_path_get_color (self, &boxed);
#line 13 "../src/path.vala"
g_value_set_boxed (value, &boxed);
#line 516 "path.c"
}
#line 13 "../src/path.vala"
break;
#line 13 "../src/path.vala"
case LIVE_CHART_PATH_VISIBLE_PROPERTY:
#line 13 "../src/path.vala"
g_value_set_boolean (value, live_chart_path_get_visible (self));
#line 13 "../src/path.vala"
break;
#line 526 "path.c"
default:
#line 13 "../src/path.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 13 "../src/path.vala"
break;
#line 532 "path.c"
}
}
static void
_vala_live_chart_path_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartPath * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_PATH, LiveChartPath);
#line 13 "../src/path.vala"
switch (property_id) {
#line 13 "../src/path.vala"
case LIVE_CHART_PATH_WIDTH_PROPERTY:
#line 13 "../src/path.vala"
live_chart_path_set_width (self, g_value_get_double (value));
#line 13 "../src/path.vala"
break;
#line 13 "../src/path.vala"
case LIVE_CHART_PATH_COLOR_PROPERTY:
#line 13 "../src/path.vala"
live_chart_path_set_color (self, g_value_get_boxed (value));
#line 13 "../src/path.vala"
break;
#line 13 "../src/path.vala"
case LIVE_CHART_PATH_VISIBLE_PROPERTY:
#line 13 "../src/path.vala"
live_chart_path_set_visible (self, g_value_get_boolean (value));
#line 13 "../src/path.vala"
break;
#line 564 "path.c"
default:
#line 13 "../src/path.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 13 "../src/path.vala"
break;
#line 570 "path.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,739 @@
/* points.c generated by valac 0.56.0, the Vala compiler
* generated from points.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <string.h>
#include <gee.h>
#include <glib-object.h>
#include <float.h>
#include <math.h>
enum {
LIVE_CHART_POINTS_0_PROPERTY,
LIVE_CHART_POINTS_BOUNDS_PROPERTY,
LIVE_CHART_POINTS_SIZE_PROPERTY,
LIVE_CHART_POINTS_REALTIME_DELTA_PROPERTY,
LIVE_CHART_POINTS_NUM_PROPERTIES
};
static GParamSpec* live_chart_points_properties[LIVE_CHART_POINTS_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _live_chart_point_free0(var) ((var == NULL) ? NULL : (var = (live_chart_point_free (var), NULL)))
#define _live_chart_timestamped_value_free0(var) ((var == NULL) ? NULL : (var = (live_chart_timestamped_value_free (var), NULL)))
struct _LiveChartPointsPrivate {
GeeArrayList* points;
LiveChartBounds* _bounds;
gdouble _realtime_delta;
};
static gint LiveChartPoints_private_offset;
static gpointer live_chart_points_parent_class = NULL;
static void live_chart_points_value_to_point (LiveChartTimestampedValue* last_value,
LiveChartTimestampedValue* current_value,
LiveChartConfig* config,
LiveChartBoundaries* boundaries,
gdouble realtime_delta,
LiveChartPoint* result);
static void live_chart_points_finalize (GObject * obj);
static GType live_chart_points_get_type_once (void);
static void _vala_live_chart_points_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_points_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
LiveChartPoint*
live_chart_point_dup (const LiveChartPoint* self)
{
LiveChartPoint* dup;
#line 4 "../src/points.vala"
dup = g_new0 (LiveChartPoint, 1);
#line 4 "../src/points.vala"
memcpy (dup, self, sizeof (LiveChartPoint));
#line 4 "../src/points.vala"
return dup;
#line 63 "points.c"
}
void
live_chart_point_free (LiveChartPoint* self)
{
#line 4 "../src/points.vala"
g_free (self);
#line 71 "points.c"
}
static GType
live_chart_point_get_type_once (void)
{
GType live_chart_point_type_id;
live_chart_point_type_id = g_boxed_type_register_static ("LiveChartPoint", (GBoxedCopyFunc) live_chart_point_dup, (GBoxedFreeFunc) live_chart_point_free);
return live_chart_point_type_id;
}
GType
live_chart_point_get_type (void)
{
static volatile gsize live_chart_point_type_id__once = 0;
if (g_once_init_enter (&live_chart_point_type_id__once)) {
GType live_chart_point_type_id;
live_chart_point_type_id = live_chart_point_get_type_once ();
g_once_init_leave (&live_chart_point_type_id__once, live_chart_point_type_id);
}
return live_chart_point_type_id__once;
}
static inline gpointer
live_chart_points_get_instance_private (LiveChartPoints* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartPoints_private_offset);
}
LiveChartPoints*
live_chart_points_construct (GType object_type)
{
LiveChartPoints * self = NULL;
LiveChartBounds* _tmp0_;
LiveChartBounds* _tmp1_;
#line 17 "../src/points.vala"
self = (LiveChartPoints*) g_object_new (object_type, NULL);
#line 18 "../src/points.vala"
_tmp0_ = live_chart_bounds_new (((double) NAN), ((double) NAN));
#line 18 "../src/points.vala"
_tmp1_ = _tmp0_;
#line 18 "../src/points.vala"
live_chart_points_set_bounds (self, _tmp1_);
#line 18 "../src/points.vala"
_g_object_unref0 (_tmp1_);
#line 17 "../src/points.vala"
return self;
#line 118 "points.c"
}
LiveChartPoints*
live_chart_points_new (void)
{
#line 17 "../src/points.vala"
return live_chart_points_construct (LIVE_CHART_TYPE_POINTS);
#line 126 "points.c"
}
void
live_chart_points_add (LiveChartPoints* self,
LiveChartPoint* point)
{
LiveChartBounds* _tmp0_;
LiveChartPoint _tmp1_;
GeeArrayList* _tmp2_;
LiveChartPoint _tmp3_;
#line 21 "../src/points.vala"
g_return_if_fail (self != NULL);
#line 21 "../src/points.vala"
g_return_if_fail (point != NULL);
#line 22 "../src/points.vala"
_tmp0_ = self->priv->_bounds;
#line 22 "../src/points.vala"
_tmp1_ = *point;
#line 22 "../src/points.vala"
live_chart_bounds_update (_tmp0_, _tmp1_.y);
#line 23 "../src/points.vala"
_tmp2_ = self->priv->points;
#line 23 "../src/points.vala"
_tmp3_ = *point;
#line 23 "../src/points.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp2_, &_tmp3_);
#line 153 "points.c"
}
void
live_chart_points_get (LiveChartPoints* self,
gint at,
LiveChartPoint* result)
{
GeeArrayList* _tmp0_;
gpointer _tmp1_;
LiveChartPoint* _tmp2_;
LiveChartPoint _tmp3_;
#line 36 "../src/points.vala"
g_return_if_fail (self != NULL);
#line 37 "../src/points.vala"
_tmp0_ = self->priv->points;
#line 37 "../src/points.vala"
_tmp1_ = gee_abstract_list_get ((GeeAbstractList*) _tmp0_, at);
#line 37 "../src/points.vala"
_tmp2_ = (LiveChartPoint*) _tmp1_;
#line 37 "../src/points.vala"
_tmp3_ = *_tmp2_;
#line 37 "../src/points.vala"
_live_chart_point_free0 (_tmp2_);
#line 37 "../src/points.vala"
*result = _tmp3_;
#line 37 "../src/points.vala"
return;
#line 181 "points.c"
}
void
live_chart_points_after (LiveChartPoints* self,
gint at,
LiveChartPoint* result)
{
gint _tmp0_;
gint _tmp1_;
LiveChartPoint _tmp5_ = {0};
#line 40 "../src/points.vala"
g_return_if_fail (self != NULL);
#line 41 "../src/points.vala"
_tmp0_ = live_chart_points_get_size (self);
#line 41 "../src/points.vala"
_tmp1_ = _tmp0_;
#line 41 "../src/points.vala"
if ((at + 1) >= _tmp1_) {
#line 200 "points.c"
gint _tmp2_;
gint _tmp3_;
LiveChartPoint _tmp4_ = {0};
#line 41 "../src/points.vala"
_tmp2_ = live_chart_points_get_size (self);
#line 41 "../src/points.vala"
_tmp3_ = _tmp2_;
#line 41 "../src/points.vala"
live_chart_points_get (self, _tmp3_ - 1, &_tmp4_);
#line 41 "../src/points.vala"
*result = _tmp4_;
#line 41 "../src/points.vala"
return;
#line 214 "points.c"
}
#line 42 "../src/points.vala"
live_chart_points_get (self, at + 1, &_tmp5_);
#line 42 "../src/points.vala"
*result = _tmp5_;
#line 42 "../src/points.vala"
return;
#line 222 "points.c"
}
void
live_chart_points_first (LiveChartPoints* self,
LiveChartPoint* result)
{
LiveChartPoint _tmp0_ = {0};
#line 45 "../src/points.vala"
g_return_if_fail (self != NULL);
#line 46 "../src/points.vala"
live_chart_points_get (self, 0, &_tmp0_);
#line 46 "../src/points.vala"
*result = _tmp0_;
#line 46 "../src/points.vala"
return;
#line 238 "points.c"
}
void
live_chart_points_last (LiveChartPoints* self,
LiveChartPoint* result)
{
gint _tmp0_;
gint _tmp1_;
LiveChartPoint _tmp2_ = {0};
#line 49 "../src/points.vala"
g_return_if_fail (self != NULL);
#line 50 "../src/points.vala"
_tmp0_ = live_chart_points_get_size (self);
#line 50 "../src/points.vala"
_tmp1_ = _tmp0_;
#line 50 "../src/points.vala"
live_chart_points_get (self, _tmp1_ - 1, &_tmp2_);
#line 50 "../src/points.vala"
*result = _tmp2_;
#line 50 "../src/points.vala"
return;
#line 260 "points.c"
}
LiveChartPoints*
live_chart_points_create (LiveChartValues* values,
LiveChartConfig* config)
{
LiveChartBoundaries boundaries = {0};
LiveChartBoundaries _tmp0_ = {0};
LiveChartPoints* points = NULL;
LiveChartPoints* _tmp1_;
gint _tmp2_;
gint _tmp3_;
LiveChartPoints* result;
#line 53 "../src/points.vala"
g_return_val_if_fail (values != NULL, NULL);
#line 53 "../src/points.vala"
g_return_val_if_fail (config != NULL, NULL);
#line 54 "../src/points.vala"
live_chart_config_boundaries (config, &_tmp0_);
#line 54 "../src/points.vala"
boundaries = _tmp0_;
#line 56 "../src/points.vala"
_tmp1_ = live_chart_points_new ();
#line 56 "../src/points.vala"
points = _tmp1_;
#line 57 "../src/points.vala"
_tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) values);
#line 57 "../src/points.vala"
_tmp3_ = _tmp2_;
#line 57 "../src/points.vala"
if (_tmp3_ > 0) {
#line 292 "points.c"
LiveChartTimestampedValue* last_value = NULL;
gpointer _tmp4_;
LiveChartPoints* _tmp5_;
LiveChartTimestampedValue* _tmp6_;
LiveChartXAxis* _tmp7_;
#line 58 "../src/points.vala"
_tmp4_ = gee_linked_list_last ((GeeLinkedList*) values);
#line 58 "../src/points.vala"
last_value = (LiveChartTimestampedValue*) _tmp4_;
#line 59 "../src/points.vala"
_tmp5_ = points;
#line 59 "../src/points.vala"
_tmp6_ = last_value;
#line 59 "../src/points.vala"
_tmp7_ = config->x_axis;
#line 59 "../src/points.vala"
live_chart_points_set_realtime_delta (_tmp5_, (((g_get_real_time () / 1000) - (*_tmp6_).timestamp) * live_chart_xaxis_get_ratio (_tmp7_)) / 1000);
#line 310 "points.c"
{
LiveChartValues* _value_list = NULL;
gint _value_size = 0;
LiveChartValues* _tmp8_;
gint _tmp9_;
gint _tmp10_;
gint _value_index = 0;
#line 61 "../src/points.vala"
_value_list = values;
#line 61 "../src/points.vala"
_tmp8_ = _value_list;
#line 61 "../src/points.vala"
_tmp9_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp8_);
#line 61 "../src/points.vala"
_tmp10_ = _tmp9_;
#line 61 "../src/points.vala"
_value_size = _tmp10_;
#line 61 "../src/points.vala"
_value_index = -1;
#line 61 "../src/points.vala"
while (TRUE) {
#line 332 "points.c"
gint _tmp11_;
gint _tmp12_;
LiveChartTimestampedValue value = {0};
LiveChartValues* _tmp13_;
gpointer _tmp14_;
LiveChartTimestampedValue* _tmp15_;
LiveChartTimestampedValue _tmp16_;
LiveChartPoint point = {0};
LiveChartTimestampedValue* _tmp17_;
LiveChartTimestampedValue _tmp18_;
LiveChartBoundaries _tmp19_;
LiveChartPoints* _tmp20_;
gdouble _tmp21_;
LiveChartTimestampedValue _tmp22_;
LiveChartPoint _tmp23_ = {0};
LiveChartPoints* _tmp24_;
LiveChartPoint _tmp25_;
#line 61 "../src/points.vala"
_value_index = _value_index + 1;
#line 61 "../src/points.vala"
_tmp11_ = _value_index;
#line 61 "../src/points.vala"
_tmp12_ = _value_size;
#line 61 "../src/points.vala"
if (!(_tmp11_ < _tmp12_)) {
#line 61 "../src/points.vala"
break;
#line 360 "points.c"
}
#line 61 "../src/points.vala"
_tmp13_ = _value_list;
#line 61 "../src/points.vala"
_tmp14_ = gee_abstract_list_get ((GeeAbstractList*) _tmp13_, _value_index);
#line 61 "../src/points.vala"
_tmp15_ = (LiveChartTimestampedValue*) _tmp14_;
#line 61 "../src/points.vala"
_tmp16_ = *_tmp15_;
#line 61 "../src/points.vala"
_live_chart_timestamped_value_free0 (_tmp15_);
#line 61 "../src/points.vala"
value = _tmp16_;
#line 62 "../src/points.vala"
_tmp17_ = last_value;
#line 62 "../src/points.vala"
_tmp18_ = value;
#line 62 "../src/points.vala"
_tmp19_ = boundaries;
#line 62 "../src/points.vala"
_tmp20_ = points;
#line 62 "../src/points.vala"
_tmp21_ = _tmp20_->priv->_realtime_delta;
#line 62 "../src/points.vala"
_tmp22_ = *_tmp17_;
#line 62 "../src/points.vala"
live_chart_points_value_to_point (&_tmp22_, &_tmp18_, config, &_tmp19_, _tmp21_, &_tmp23_);
#line 62 "../src/points.vala"
point = _tmp23_;
#line 63 "../src/points.vala"
_tmp24_ = points;
#line 63 "../src/points.vala"
_tmp25_ = point;
#line 63 "../src/points.vala"
live_chart_points_add (_tmp24_, &_tmp25_);
#line 396 "points.c"
}
}
#line 57 "../src/points.vala"
_live_chart_timestamped_value_free0 (last_value);
#line 401 "points.c"
}
#line 67 "../src/points.vala"
result = points;
#line 67 "../src/points.vala"
return result;
#line 407 "points.c"
}
static void
live_chart_points_value_to_point (LiveChartTimestampedValue* last_value,
LiveChartTimestampedValue* current_value,
LiveChartConfig* config,
LiveChartBoundaries* boundaries,
gdouble realtime_delta,
LiveChartPoint* result)
{
LiveChartBoundaries _tmp0_;
LiveChartBoundary _tmp1_;
LiveChartTimestampedValue _tmp2_;
LiveChartTimestampedValue _tmp3_;
LiveChartXAxis* _tmp4_;
LiveChartBoundaries _tmp5_;
LiveChartBoundary _tmp6_;
LiveChartTimestampedValue _tmp7_;
LiveChartYAxis* _tmp8_;
LiveChartTimestampedValue _tmp9_;
LiveChartYAxis* _tmp10_;
LiveChartTimestampedValue _tmp11_;
LiveChartPoint _tmp12_ = {0};
#line 70 "../src/points.vala"
g_return_if_fail (last_value != NULL);
#line 70 "../src/points.vala"
g_return_if_fail (current_value != NULL);
#line 70 "../src/points.vala"
g_return_if_fail (config != NULL);
#line 70 "../src/points.vala"
g_return_if_fail (boundaries != NULL);
#line 71 "../src/points.vala"
_tmp0_ = *boundaries;
#line 71 "../src/points.vala"
_tmp1_ = _tmp0_.x;
#line 71 "../src/points.vala"
_tmp2_ = *last_value;
#line 71 "../src/points.vala"
_tmp3_ = *current_value;
#line 71 "../src/points.vala"
_tmp4_ = config->x_axis;
#line 71 "../src/points.vala"
_tmp5_ = *boundaries;
#line 71 "../src/points.vala"
_tmp6_ = _tmp5_.y;
#line 71 "../src/points.vala"
_tmp7_ = *current_value;
#line 71 "../src/points.vala"
_tmp8_ = config->y_axis;
#line 71 "../src/points.vala"
_tmp9_ = *current_value;
#line 71 "../src/points.vala"
_tmp10_ = config->y_axis;
#line 71 "../src/points.vala"
_tmp11_ = *current_value;
#line 71 "../src/points.vala"
memset (&_tmp12_, 0, sizeof (LiveChartPoint));
#line 71 "../src/points.vala"
_tmp12_.x = (_tmp1_.max - (((_tmp2_.timestamp - _tmp3_.timestamp) / 1000) * live_chart_xaxis_get_ratio (_tmp4_))) - realtime_delta;
#line 71 "../src/points.vala"
_tmp12_.y = _tmp6_.max - (_tmp7_.value * live_chart_yaxis_get_ratio (_tmp8_));
#line 71 "../src/points.vala"
_tmp12_.height = _tmp9_.value * live_chart_yaxis_get_ratio (_tmp10_);
#line 71 "../src/points.vala"
_tmp12_.data = _tmp11_;
#line 71 "../src/points.vala"
*result = _tmp12_;
#line 71 "../src/points.vala"
return;
#line 477 "points.c"
}
LiveChartBounds*
live_chart_points_get_bounds (LiveChartPoints* self)
{
LiveChartBounds* result;
LiveChartBounds* _tmp0_;
#line 14 "../src/points.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 14 "../src/points.vala"
_tmp0_ = self->priv->_bounds;
#line 14 "../src/points.vala"
result = _tmp0_;
#line 14 "../src/points.vala"
return result;
#line 493 "points.c"
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 14 "../src/points.vala"
return self ? g_object_ref (self) : NULL;
#line 501 "points.c"
}
void
live_chart_points_set_bounds (LiveChartPoints* self,
LiveChartBounds* value)
{
LiveChartBounds* old_value;
#line 14 "../src/points.vala"
g_return_if_fail (self != NULL);
#line 14 "../src/points.vala"
old_value = live_chart_points_get_bounds (self);
#line 14 "../src/points.vala"
if (old_value != value) {
#line 515 "points.c"
LiveChartBounds* _tmp0_;
#line 14 "../src/points.vala"
_tmp0_ = _g_object_ref0 (value);
#line 14 "../src/points.vala"
_g_object_unref0 (self->priv->_bounds);
#line 14 "../src/points.vala"
self->priv->_bounds = _tmp0_;
#line 14 "../src/points.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_points_properties[LIVE_CHART_POINTS_BOUNDS_PROPERTY]);
#line 525 "points.c"
}
}
gint
live_chart_points_get_size (LiveChartPoints* self)
{
gint result;
GeeArrayList* _tmp0_;
gint _tmp1_;
gint _tmp2_;
#line 27 "../src/points.vala"
g_return_val_if_fail (self != NULL, 0);
#line 28 "../src/points.vala"
_tmp0_ = self->priv->points;
#line 28 "../src/points.vala"
_tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
#line 28 "../src/points.vala"
_tmp2_ = _tmp1_;
#line 28 "../src/points.vala"
result = _tmp2_;
#line 28 "../src/points.vala"
return result;
#line 548 "points.c"
}
gdouble
live_chart_points_get_realtime_delta (LiveChartPoints* self)
{
gdouble result;
#line 33 "../src/points.vala"
g_return_val_if_fail (self != NULL, 0.0);
#line 33 "../src/points.vala"
result = self->priv->_realtime_delta;
#line 33 "../src/points.vala"
return result;
#line 561 "points.c"
}
void
live_chart_points_set_realtime_delta (LiveChartPoints* self,
gdouble value)
{
gdouble old_value;
#line 33 "../src/points.vala"
g_return_if_fail (self != NULL);
#line 33 "../src/points.vala"
old_value = live_chart_points_get_realtime_delta (self);
#line 33 "../src/points.vala"
if (old_value != value) {
#line 33 "../src/points.vala"
self->priv->_realtime_delta = value;
#line 33 "../src/points.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_points_properties[LIVE_CHART_POINTS_REALTIME_DELTA_PROPERTY]);
#line 579 "points.c"
}
}
static void
live_chart_points_class_init (LiveChartPointsClass * klass,
gpointer klass_data)
{
#line 10 "../src/points.vala"
live_chart_points_parent_class = g_type_class_peek_parent (klass);
#line 10 "../src/points.vala"
g_type_class_adjust_private_offset (klass, &LiveChartPoints_private_offset);
#line 10 "../src/points.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_points_get_property;
#line 10 "../src/points.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_points_set_property;
#line 10 "../src/points.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_points_finalize;
#line 10 "../src/points.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_POINTS_BOUNDS_PROPERTY, live_chart_points_properties[LIVE_CHART_POINTS_BOUNDS_PROPERTY] = g_param_spec_object ("bounds", "bounds", "bounds", LIVE_CHART_TYPE_BOUNDS, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 10 "../src/points.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_POINTS_SIZE_PROPERTY, live_chart_points_properties[LIVE_CHART_POINTS_SIZE_PROPERTY] = g_param_spec_int ("size", "size", "size", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
#line 10 "../src/points.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_POINTS_REALTIME_DELTA_PROPERTY, live_chart_points_properties[LIVE_CHART_POINTS_REALTIME_DELTA_PROPERTY] = g_param_spec_double ("realtime-delta", "realtime-delta", "realtime-delta", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 603 "points.c"
}
static void
live_chart_points_instance_init (LiveChartPoints * self,
gpointer klass)
{
GeeArrayList* _tmp0_;
#line 10 "../src/points.vala"
self->priv = live_chart_points_get_instance_private (self);
#line 12 "../src/points.vala"
_tmp0_ = gee_array_list_new (LIVE_CHART_TYPE_POINT, (GBoxedCopyFunc) live_chart_point_dup, (GDestroyNotify) live_chart_point_free, NULL, NULL, NULL);
#line 12 "../src/points.vala"
self->priv->points = _tmp0_;
#line 617 "points.c"
}
static void
live_chart_points_finalize (GObject * obj)
{
LiveChartPoints * self;
#line 10 "../src/points.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_POINTS, LiveChartPoints);
#line 12 "../src/points.vala"
_g_object_unref0 (self->priv->points);
#line 13 "../src/points.vala"
_g_object_unref0 (self->priv->_bounds);
#line 10 "../src/points.vala"
G_OBJECT_CLASS (live_chart_points_parent_class)->finalize (obj);
#line 632 "points.c"
}
static GType
live_chart_points_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartPointsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_points_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartPoints), 0, (GInstanceInitFunc) live_chart_points_instance_init, NULL };
GType live_chart_points_type_id;
live_chart_points_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartPoints", &g_define_type_info, 0);
LiveChartPoints_private_offset = g_type_add_instance_private (live_chart_points_type_id, sizeof (LiveChartPointsPrivate));
return live_chart_points_type_id;
}
GType
live_chart_points_get_type (void)
{
static volatile gsize live_chart_points_type_id__once = 0;
if (g_once_init_enter (&live_chart_points_type_id__once)) {
GType live_chart_points_type_id;
live_chart_points_type_id = live_chart_points_get_type_once ();
g_once_init_leave (&live_chart_points_type_id__once, live_chart_points_type_id);
}
return live_chart_points_type_id__once;
}
static void
_vala_live_chart_points_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartPoints * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_POINTS, LiveChartPoints);
#line 10 "../src/points.vala"
switch (property_id) {
#line 10 "../src/points.vala"
case LIVE_CHART_POINTS_BOUNDS_PROPERTY:
#line 10 "../src/points.vala"
g_value_set_object (value, live_chart_points_get_bounds (self));
#line 10 "../src/points.vala"
break;
#line 10 "../src/points.vala"
case LIVE_CHART_POINTS_SIZE_PROPERTY:
#line 10 "../src/points.vala"
g_value_set_int (value, live_chart_points_get_size (self));
#line 10 "../src/points.vala"
break;
#line 10 "../src/points.vala"
case LIVE_CHART_POINTS_REALTIME_DELTA_PROPERTY:
#line 10 "../src/points.vala"
g_value_set_double (value, live_chart_points_get_realtime_delta (self));
#line 10 "../src/points.vala"
break;
#line 685 "points.c"
default:
#line 10 "../src/points.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 10 "../src/points.vala"
break;
#line 691 "points.c"
}
}
static void
_vala_live_chart_points_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartPoints * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_POINTS, LiveChartPoints);
#line 10 "../src/points.vala"
switch (property_id) {
#line 10 "../src/points.vala"
case LIVE_CHART_POINTS_BOUNDS_PROPERTY:
#line 10 "../src/points.vala"
live_chart_points_set_bounds (self, g_value_get_object (value));
#line 10 "../src/points.vala"
break;
#line 10 "../src/points.vala"
case LIVE_CHART_POINTS_REALTIME_DELTA_PROPERTY:
#line 10 "../src/points.vala"
live_chart_points_set_realtime_delta (self, g_value_get_double (value));
#line 10 "../src/points.vala"
break;
#line 717 "points.c"
default:
#line 10 "../src/points.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 10 "../src/points.vala"
break;
#line 723 "points.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,679 @@
/* serie.c generated by valac 0.56.0, the Vala compiler
* generated from serie.vala, do not modify */
#include "livechart.h"
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <glib-object.h>
#include <cairo-gobject.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>
#include <gee.h>
enum {
LIVE_CHART_SERIE_0_PROPERTY,
LIVE_CHART_SERIE_NAME_PROPERTY,
LIVE_CHART_SERIE_MAIN_COLOR_PROPERTY,
LIVE_CHART_SERIE_LINE_PROPERTY,
LIVE_CHART_SERIE_VISIBLE_PROPERTY,
LIVE_CHART_SERIE_NUM_PROPERTIES
};
static GParamSpec* live_chart_serie_properties[LIVE_CHART_SERIE_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
enum {
LIVE_CHART_SERIE_VALUE_ADDED_SIGNAL,
LIVE_CHART_SERIE_NUM_SIGNALS
};
static guint live_chart_serie_signals[LIVE_CHART_SERIE_NUM_SIGNALS] = {0};
struct _LiveChartSeriePrivate {
gchar* _name;
gboolean _visible;
LiveChartSerieRenderer* renderer;
};
static gint LiveChartSerie_private_offset;
static gpointer live_chart_serie_parent_class = NULL;
static LiveChartColorableIface * live_chart_serie_live_chart_colorable_parent_iface = NULL;
static LiveChartDrawableIface * live_chart_serie_live_chart_drawable_parent_iface = NULL;
static void live_chart_serie_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_serie_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result);
static void live_chart_serie_finalize (GObject * obj);
static GType live_chart_serie_get_type_once (void);
static void _vala_live_chart_serie_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_serie_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_serie_get_instance_private (LiveChartSerie* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartSerie_private_offset);
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 38 "../src/serie.vala"
return self ? g_object_ref (self) : NULL;
#line 73 "serie.c"
}
LiveChartSerie*
live_chart_serie_construct (GType object_type,
const gchar* name,
LiveChartSerieRenderer* renderer)
{
LiveChartSerie * self = NULL;
LiveChartSerieRenderer* _tmp0_;
#line 36 "../src/serie.vala"
g_return_val_if_fail (name != NULL, NULL);
#line 36 "../src/serie.vala"
g_return_val_if_fail (renderer != NULL, NULL);
#line 36 "../src/serie.vala"
self = (LiveChartSerie*) g_object_new (object_type, NULL);
#line 37 "../src/serie.vala"
live_chart_serie_set_name (self, name);
#line 38 "../src/serie.vala"
_tmp0_ = _g_object_ref0 (renderer);
#line 38 "../src/serie.vala"
_g_object_unref0 (self->priv->renderer);
#line 38 "../src/serie.vala"
self->priv->renderer = _tmp0_;
#line 36 "../src/serie.vala"
return self;
#line 99 "serie.c"
}
LiveChartSerie*
live_chart_serie_new (const gchar* name,
LiveChartSerieRenderer* renderer)
{
#line 36 "../src/serie.vala"
return live_chart_serie_construct (LIVE_CHART_TYPE_SERIE, name, renderer);
#line 108 "serie.c"
}
static void
live_chart_serie_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartSerie * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 41 "../src/serie.vala"
self = (LiveChartSerie*) base;
#line 41 "../src/serie.vala"
g_return_if_fail (ctx != NULL);
#line 41 "../src/serie.vala"
g_return_if_fail (config != NULL);
#line 42 "../src/serie.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 42 "../src/serie.vala"
_tmp1_ = _tmp0_;
#line 42 "../src/serie.vala"
if (_tmp1_) {
#line 131 "serie.c"
LiveChartSerieRenderer* _tmp2_;
#line 43 "../src/serie.vala"
_tmp2_ = self->priv->renderer;
#line 43 "../src/serie.vala"
live_chart_serie_renderer_draw (_tmp2_, ctx, config);
#line 137 "serie.c"
}
}
void
live_chart_serie_add (LiveChartSerie* self,
gdouble value)
{
LiveChartSerieRenderer* _tmp0_;
LiveChartValues* _tmp1_;
LiveChartValues* _tmp2_;
LiveChartTimestampedValue _tmp3_ = {0};
#line 47 "../src/serie.vala"
g_return_if_fail (self != NULL);
#line 48 "../src/serie.vala"
_tmp0_ = self->priv->renderer;
#line 48 "../src/serie.vala"
_tmp1_ = live_chart_serie_renderer_get_values (_tmp0_);
#line 48 "../src/serie.vala"
_tmp2_ = _tmp1_;
#line 48 "../src/serie.vala"
_tmp3_.timestamp = (gdouble) (g_get_real_time () / 1000);
#line 48 "../src/serie.vala"
_tmp3_.value = value;
#line 48 "../src/serie.vala"
live_chart_values_add (_tmp2_, &_tmp3_);
#line 48 "../src/serie.vala"
_g_object_unref0 (_tmp2_);
#line 49 "../src/serie.vala"
g_signal_emit (self, live_chart_serie_signals[LIVE_CHART_SERIE_VALUE_ADDED_SIGNAL], 0, value);
#line 167 "serie.c"
}
void
live_chart_serie_add_with_timestamp (LiveChartSerie* self,
gdouble value,
gint64 timestamp)
{
LiveChartSerieRenderer* _tmp0_;
LiveChartValues* _tmp1_;
LiveChartValues* _tmp2_;
LiveChartTimestampedValue _tmp3_ = {0};
#line 52 "../src/serie.vala"
g_return_if_fail (self != NULL);
#line 53 "../src/serie.vala"
_tmp0_ = self->priv->renderer;
#line 53 "../src/serie.vala"
_tmp1_ = live_chart_serie_renderer_get_values (_tmp0_);
#line 53 "../src/serie.vala"
_tmp2_ = _tmp1_;
#line 53 "../src/serie.vala"
_tmp3_.timestamp = (gdouble) timestamp;
#line 53 "../src/serie.vala"
_tmp3_.value = value;
#line 53 "../src/serie.vala"
live_chart_values_add (_tmp2_, &_tmp3_);
#line 53 "../src/serie.vala"
_g_object_unref0 (_tmp2_);
#line 54 "../src/serie.vala"
g_signal_emit (self, live_chart_serie_signals[LIVE_CHART_SERIE_VALUE_ADDED_SIGNAL], 0, value);
#line 197 "serie.c"
}
void
live_chart_serie_set_main_color (LiveChartSerie* self,
GdkRGBA* color)
{
GdkRGBA _tmp0_;
#line 58 "../src/serie.vala"
g_return_if_fail (self != NULL);
#line 58 "../src/serie.vala"
g_return_if_fail (color != NULL);
#line 59 "../src/serie.vala"
_tmp0_ = *color;
#line 59 "../src/serie.vala"
live_chart_colorable_set_main_color ((LiveChartColorable*) self, &_tmp0_);
#line 213 "serie.c"
}
void
live_chart_serie_get_main_color (LiveChartSerie* self,
GdkRGBA* result)
{
GdkRGBA _tmp0_ = {0};
GdkRGBA _tmp1_;
#line 63 "../src/serie.vala"
g_return_if_fail (self != NULL);
#line 64 "../src/serie.vala"
live_chart_colorable_get_main_color ((LiveChartColorable*) self, &_tmp0_);
#line 64 "../src/serie.vala"
_tmp1_ = _tmp0_;
#line 64 "../src/serie.vala"
*result = _tmp1_;
#line 64 "../src/serie.vala"
return;
#line 232 "serie.c"
}
LiveChartValues*
live_chart_serie_get_values (LiveChartSerie* self)
{
LiveChartSerieRenderer* _tmp0_;
LiveChartValues* _tmp1_;
LiveChartValues* result;
#line 67 "../src/serie.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 68 "../src/serie.vala"
_tmp0_ = self->priv->renderer;
#line 68 "../src/serie.vala"
_tmp1_ = live_chart_serie_renderer_get_values (_tmp0_);
#line 68 "../src/serie.vala"
result = _tmp1_;
#line 68 "../src/serie.vala"
return result;
#line 251 "serie.c"
}
void
live_chart_serie_clear (LiveChartSerie* self)
{
LiveChartSerieRenderer* _tmp0_;
LiveChartValues* _tmp1_;
LiveChartValues* _tmp2_;
#line 71 "../src/serie.vala"
g_return_if_fail (self != NULL);
#line 72 "../src/serie.vala"
_tmp0_ = self->priv->renderer;
#line 72 "../src/serie.vala"
_tmp1_ = live_chart_serie_renderer_get_values (_tmp0_);
#line 72 "../src/serie.vala"
_tmp2_ = _tmp1_;
#line 72 "../src/serie.vala"
gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp2_);
#line 72 "../src/serie.vala"
_g_object_unref0 (_tmp2_);
#line 272 "serie.c"
}
static void
live_chart_serie_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result)
{
LiveChartSerie * self;
LiveChartSerieRenderer* _tmp0_;
LiveChartBoundingBox _tmp1_ = {0};
#line 75 "../src/serie.vala"
self = (LiveChartSerie*) base;
#line 76 "../src/serie.vala"
_tmp0_ = self->priv->renderer;
#line 76 "../src/serie.vala"
live_chart_drawable_get_bounding_box ((LiveChartDrawable*) _tmp0_, &_tmp1_);
#line 76 "../src/serie.vala"
*result = _tmp1_;
#line 76 "../src/serie.vala"
return;
#line 292 "serie.c"
}
const gchar*
live_chart_serie_get_name (LiveChartSerie* self)
{
const gchar* result;
const gchar* _tmp0_;
#line 7 "../src/serie.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 7 "../src/serie.vala"
_tmp0_ = self->priv->_name;
#line 7 "../src/serie.vala"
result = _tmp0_;
#line 7 "../src/serie.vala"
return result;
#line 308 "serie.c"
}
void
live_chart_serie_set_name (LiveChartSerie* self,
const gchar* value)
{
gchar* old_value;
#line 7 "../src/serie.vala"
g_return_if_fail (self != NULL);
#line 7 "../src/serie.vala"
old_value = live_chart_serie_get_name (self);
#line 7 "../src/serie.vala"
if (g_strcmp0 (value, old_value) != 0) {
#line 322 "serie.c"
gchar* _tmp0_;
#line 7 "../src/serie.vala"
_tmp0_ = g_strdup (value);
#line 7 "../src/serie.vala"
_g_free0 (self->priv->_name);
#line 7 "../src/serie.vala"
self->priv->_name = _tmp0_;
#line 7 "../src/serie.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_serie_properties[LIVE_CHART_SERIE_NAME_PROPERTY]);
#line 332 "serie.c"
}
}
static void
live_chart_serie_real_get_main_color (LiveChartColorable* base,
GdkRGBA * result)
{
LiveChartSerie* self;
LiveChartSerieRenderer* _tmp0_;
LiveChartPath* _tmp1_;
LiveChartPath* _tmp2_;
GdkRGBA _tmp3_ = {0};
GdkRGBA _tmp4_;
#line 11 "../src/serie.vala"
self = (LiveChartSerie*) base;
#line 12 "../src/serie.vala"
_tmp0_ = self->priv->renderer;
#line 12 "../src/serie.vala"
_tmp1_ = live_chart_serie_renderer_get_line (_tmp0_);
#line 12 "../src/serie.vala"
_tmp2_ = _tmp1_;
#line 12 "../src/serie.vala"
live_chart_path_get_color (_tmp2_, &_tmp3_);
#line 12 "../src/serie.vala"
_tmp4_ = _tmp3_;
#line 12 "../src/serie.vala"
*result = _tmp4_;
#line 12 "../src/serie.vala"
return;
#line 362 "serie.c"
}
static void
live_chart_serie_real_set_main_color (LiveChartColorable* base,
GdkRGBA * value)
{
LiveChartSerie* self;
LiveChartSerieRenderer* _tmp0_;
LiveChartPath* _tmp1_;
LiveChartPath* _tmp2_;
GdkRGBA _tmp3_;
#line 15 "../src/serie.vala"
self = (LiveChartSerie*) base;
#line 16 "../src/serie.vala"
_tmp0_ = self->priv->renderer;
#line 16 "../src/serie.vala"
_tmp1_ = live_chart_serie_renderer_get_line (_tmp0_);
#line 16 "../src/serie.vala"
_tmp2_ = _tmp1_;
#line 16 "../src/serie.vala"
_tmp3_ = *value;
#line 16 "../src/serie.vala"
live_chart_path_set_color (_tmp2_, &_tmp3_);
#line 15 "../src/serie.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_serie_properties[LIVE_CHART_SERIE_MAIN_COLOR_PROPERTY]);
#line 388 "serie.c"
}
LiveChartPath*
live_chart_serie_get_line (LiveChartSerie* self)
{
LiveChartPath* result;
LiveChartSerieRenderer* _tmp0_;
LiveChartPath* _tmp1_;
LiveChartPath* _tmp2_;
#line 21 "../src/serie.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 22 "../src/serie.vala"
_tmp0_ = self->priv->renderer;
#line 22 "../src/serie.vala"
_tmp1_ = live_chart_serie_renderer_get_line (_tmp0_);
#line 22 "../src/serie.vala"
_tmp2_ = _tmp1_;
#line 22 "../src/serie.vala"
result = _tmp2_;
#line 22 "../src/serie.vala"
return result;
#line 410 "serie.c"
}
void
live_chart_serie_set_line (LiveChartSerie* self,
LiveChartPath* value)
{
LiveChartSerieRenderer* _tmp0_;
#line 25 "../src/serie.vala"
g_return_if_fail (self != NULL);
#line 26 "../src/serie.vala"
_tmp0_ = self->priv->renderer;
#line 26 "../src/serie.vala"
live_chart_serie_renderer_set_line (_tmp0_, value);
#line 25 "../src/serie.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_serie_properties[LIVE_CHART_SERIE_LINE_PROPERTY]);
#line 426 "serie.c"
}
static gboolean
live_chart_serie_real_get_visible (LiveChartDrawable* base)
{
gboolean result;
LiveChartSerie* self;
#line 30 "../src/serie.vala"
self = (LiveChartSerie*) base;
#line 30 "../src/serie.vala"
result = self->priv->_visible;
#line 30 "../src/serie.vala"
return result;
#line 440 "serie.c"
}
static void
live_chart_serie_real_set_visible (LiveChartDrawable* base,
gboolean value)
{
LiveChartSerie* self;
gboolean old_value;
#line 30 "../src/serie.vala"
self = (LiveChartSerie*) base;
#line 30 "../src/serie.vala"
old_value = live_chart_serie_real_get_visible (base);
#line 30 "../src/serie.vala"
if (old_value != value) {
#line 30 "../src/serie.vala"
self->priv->_visible = value;
#line 30 "../src/serie.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_serie_properties[LIVE_CHART_SERIE_VISIBLE_PROPERTY]);
#line 459 "serie.c"
}
}
static void
live_chart_serie_class_init (LiveChartSerieClass * klass,
gpointer klass_data)
{
#line 4 "../src/serie.vala"
live_chart_serie_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/serie.vala"
g_type_class_adjust_private_offset (klass, &LiveChartSerie_private_offset);
#line 4 "../src/serie.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_serie_get_property;
#line 4 "../src/serie.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_serie_set_property;
#line 4 "../src/serie.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_serie_finalize;
#line 4 "../src/serie.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_SERIE_NAME_PROPERTY, live_chart_serie_properties[LIVE_CHART_SERIE_NAME_PROPERTY] = g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4 "../src/serie.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_SERIE_MAIN_COLOR_PROPERTY, live_chart_serie_properties[LIVE_CHART_SERIE_MAIN_COLOR_PROPERTY] = g_param_spec_boxed ("main-color", "main-color", "main-color", gdk_rgba_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4 "../src/serie.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_SERIE_LINE_PROPERTY, live_chart_serie_properties[LIVE_CHART_SERIE_LINE_PROPERTY] = g_param_spec_object ("line", "line", "line", LIVE_CHART_TYPE_PATH, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4 "../src/serie.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_SERIE_VISIBLE_PROPERTY, live_chart_serie_properties[LIVE_CHART_SERIE_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4 "../src/serie.vala"
live_chart_serie_signals[LIVE_CHART_SERIE_VALUE_ADDED_SIGNAL] = g_signal_new ("value-added", LIVE_CHART_TYPE_SERIE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__DOUBLE, G_TYPE_NONE, 1, G_TYPE_DOUBLE);
#line 487 "serie.c"
}
static void
live_chart_serie_live_chart_colorable_interface_init (LiveChartColorableIface * iface,
gpointer iface_data)
{
#line 4 "../src/serie.vala"
live_chart_serie_live_chart_colorable_parent_iface = g_type_interface_peek_parent (iface);
#line 4 "../src/serie.vala"
iface->get_main_color = live_chart_serie_real_get_main_color;
#line 4 "../src/serie.vala"
iface->set_main_color = live_chart_serie_real_set_main_color;
#line 500 "serie.c"
}
static void
live_chart_serie_live_chart_drawable_interface_init (LiveChartDrawableIface * iface,
gpointer iface_data)
{
#line 4 "../src/serie.vala"
live_chart_serie_live_chart_drawable_parent_iface = g_type_interface_peek_parent (iface);
#line 4 "../src/serie.vala"
iface->draw = (void (*) (LiveChartDrawable*, cairo_t*, LiveChartConfig*)) live_chart_serie_real_draw;
#line 4 "../src/serie.vala"
iface->get_bounding_box = (void (*) (LiveChartDrawable*, LiveChartBoundingBox*)) live_chart_serie_real_get_bounding_box;
#line 4 "../src/serie.vala"
iface->get_visible = live_chart_serie_real_get_visible;
#line 4 "../src/serie.vala"
iface->set_visible = live_chart_serie_real_set_visible;
#line 517 "serie.c"
}
static void
live_chart_serie_instance_init (LiveChartSerie * self,
gpointer klass)
{
#line 4 "../src/serie.vala"
self->priv = live_chart_serie_get_instance_private (self);
#line 30 "../src/serie.vala"
self->priv->_visible = TRUE;
#line 528 "serie.c"
}
static void
live_chart_serie_finalize (GObject * obj)
{
LiveChartSerie * self;
#line 4 "../src/serie.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_SERIE, LiveChartSerie);
#line 6 "../src/serie.vala"
_g_free0 (self->priv->_name);
#line 34 "../src/serie.vala"
_g_object_unref0 (self->priv->renderer);
#line 4 "../src/serie.vala"
G_OBJECT_CLASS (live_chart_serie_parent_class)->finalize (obj);
#line 543 "serie.c"
}
static GType
live_chart_serie_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartSerieClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_serie_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartSerie), 0, (GInstanceInitFunc) live_chart_serie_instance_init, NULL };
static const GInterfaceInfo live_chart_colorable_info = { (GInterfaceInitFunc) live_chart_serie_live_chart_colorable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
static const GInterfaceInfo live_chart_drawable_info = { (GInterfaceInitFunc) live_chart_serie_live_chart_drawable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
GType live_chart_serie_type_id;
live_chart_serie_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartSerie", &g_define_type_info, 0);
g_type_add_interface_static (live_chart_serie_type_id, LIVE_CHART_TYPE_COLORABLE, &live_chart_colorable_info);
g_type_add_interface_static (live_chart_serie_type_id, LIVE_CHART_TYPE_DRAWABLE, &live_chart_drawable_info);
LiveChartSerie_private_offset = g_type_add_instance_private (live_chart_serie_type_id, sizeof (LiveChartSeriePrivate));
return live_chart_serie_type_id;
}
GType
live_chart_serie_get_type (void)
{
static volatile gsize live_chart_serie_type_id__once = 0;
if (g_once_init_enter (&live_chart_serie_type_id__once)) {
GType live_chart_serie_type_id;
live_chart_serie_type_id = live_chart_serie_get_type_once ();
g_once_init_leave (&live_chart_serie_type_id__once, live_chart_serie_type_id);
}
return live_chart_serie_type_id__once;
}
static void
_vala_live_chart_serie_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartSerie * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_SERIE, LiveChartSerie);
#line 4 "../src/serie.vala"
switch (property_id) {
#line 4 "../src/serie.vala"
case LIVE_CHART_SERIE_NAME_PROPERTY:
#line 4 "../src/serie.vala"
g_value_set_string (value, live_chart_serie_get_name (self));
#line 4 "../src/serie.vala"
break;
#line 4 "../src/serie.vala"
case LIVE_CHART_SERIE_MAIN_COLOR_PROPERTY:
#line 590 "serie.c"
{
GdkRGBA boxed;
#line 4 "../src/serie.vala"
live_chart_colorable_get_main_color ((LiveChartColorable*) self, &boxed);
#line 4 "../src/serie.vala"
g_value_set_boxed (value, &boxed);
#line 597 "serie.c"
}
#line 4 "../src/serie.vala"
break;
#line 4 "../src/serie.vala"
case LIVE_CHART_SERIE_LINE_PROPERTY:
#line 4 "../src/serie.vala"
g_value_set_object (value, live_chart_serie_get_line (self));
#line 4 "../src/serie.vala"
break;
#line 4 "../src/serie.vala"
case LIVE_CHART_SERIE_VISIBLE_PROPERTY:
#line 4 "../src/serie.vala"
g_value_set_boolean (value, live_chart_drawable_get_visible ((LiveChartDrawable*) self));
#line 4 "../src/serie.vala"
break;
#line 613 "serie.c"
default:
#line 4 "../src/serie.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/serie.vala"
break;
#line 619 "serie.c"
}
}
static void
_vala_live_chart_serie_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartSerie * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_SERIE, LiveChartSerie);
#line 4 "../src/serie.vala"
switch (property_id) {
#line 4 "../src/serie.vala"
case LIVE_CHART_SERIE_NAME_PROPERTY:
#line 4 "../src/serie.vala"
live_chart_serie_set_name (self, g_value_get_string (value));
#line 4 "../src/serie.vala"
break;
#line 4 "../src/serie.vala"
case LIVE_CHART_SERIE_MAIN_COLOR_PROPERTY:
#line 4 "../src/serie.vala"
live_chart_colorable_set_main_color ((LiveChartColorable*) self, g_value_get_boxed (value));
#line 4 "../src/serie.vala"
break;
#line 4 "../src/serie.vala"
case LIVE_CHART_SERIE_LINE_PROPERTY:
#line 4 "../src/serie.vala"
live_chart_serie_set_line (self, g_value_get_object (value));
#line 4 "../src/serie.vala"
break;
#line 4 "../src/serie.vala"
case LIVE_CHART_SERIE_VISIBLE_PROPERTY:
#line 4 "../src/serie.vala"
live_chart_drawable_set_visible ((LiveChartDrawable*) self, g_value_get_boolean (value));
#line 4 "../src/serie.vala"
break;
#line 657 "serie.c"
default:
#line 4 "../src/serie.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/serie.vala"
break;
#line 663 "serie.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,549 @@
/* serie_renderer.c generated by valac 0.56.0, the Vala compiler
* generated from serie_renderer.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <cairo-gobject.h>
#include <float.h>
#include <math.h>
#include <string.h>
#include <glib-object.h>
#include <gdk/gdk.h>
#include <stdlib.h>
#define LIVE_CHART_SERIE_RENDERER_VIRTUAL_LEFT_PADDING -200
enum {
LIVE_CHART_SERIE_RENDERER_0_PROPERTY,
LIVE_CHART_SERIE_RENDERER_VISIBLE_PROPERTY,
LIVE_CHART_SERIE_RENDERER_MAIN_COLOR_PROPERTY,
LIVE_CHART_SERIE_RENDERER_LINE_PROPERTY,
LIVE_CHART_SERIE_RENDERER_NUM_PROPERTIES
};
static GParamSpec* live_chart_serie_renderer_properties[LIVE_CHART_SERIE_RENDERER_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
struct _LiveChartSerieRendererPrivate {
gboolean _visible;
LiveChartPath* _line;
};
static gint LiveChartSerieRenderer_private_offset;
static gpointer live_chart_serie_renderer_parent_class = NULL;
static LiveChartDrawableIface * live_chart_serie_renderer_live_chart_drawable_parent_iface = NULL;
static void live_chart_serie_renderer_real_draw (LiveChartSerieRenderer* self,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_serie_renderer_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result);
static void live_chart_serie_renderer_finalize (GObject * obj);
static GType live_chart_serie_renderer_get_type_once (void);
static void _vala_live_chart_serie_renderer_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_serie_renderer_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_serie_renderer_get_instance_private (LiveChartSerieRenderer* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartSerieRenderer_private_offset);
}
LiveChartSerieRenderer*
live_chart_serie_renderer_construct (GType object_type)
{
LiveChartSerieRenderer * self = NULL;
GdkRGBA _tmp0_ = {0};
LiveChartPath* _tmp1_;
LiveChartPath* _tmp2_;
#line 23 "../src/serie_renderer.vala"
self = (LiveChartSerieRenderer*) g_object_new (object_type, NULL);
#line 24 "../src/serie_renderer.vala"
_tmp0_.red = 1.0;
#line 24 "../src/serie_renderer.vala"
_tmp0_.green = 1.0;
#line 24 "../src/serie_renderer.vala"
_tmp0_.blue = 1.0;
#line 24 "../src/serie_renderer.vala"
_tmp0_.alpha = 1.0;
#line 24 "../src/serie_renderer.vala"
_tmp1_ = live_chart_path_new ((gdouble) 1, &_tmp0_, TRUE, NULL);
#line 24 "../src/serie_renderer.vala"
_tmp2_ = _tmp1_;
#line 24 "../src/serie_renderer.vala"
live_chart_serie_renderer_set_line (self, _tmp2_);
#line 24 "../src/serie_renderer.vala"
_g_object_unref0 (_tmp2_);
#line 23 "../src/serie_renderer.vala"
return self;
#line 88 "serie_renderer.c"
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 36 "../src/serie_renderer.vala"
return self ? g_object_ref (self) : NULL;
#line 96 "serie_renderer.c"
}
LiveChartValues*
live_chart_serie_renderer_get_values (LiveChartSerieRenderer* self)
{
LiveChartValues* _tmp0_;
LiveChartValues* _tmp1_;
LiveChartValues* result;
#line 35 "../src/serie_renderer.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 36 "../src/serie_renderer.vala"
_tmp0_ = self->values;
#line 36 "../src/serie_renderer.vala"
_tmp1_ = _g_object_ref0 (_tmp0_);
#line 36 "../src/serie_renderer.vala"
result = _tmp1_;
#line 36 "../src/serie_renderer.vala"
return result;
#line 115 "serie_renderer.c"
}
static void
live_chart_serie_renderer_real_draw (LiveChartSerieRenderer* self,
cairo_t* ctx,
LiveChartConfig* config)
{
#line 39 "../src/serie_renderer.vala"
g_critical ("Type `%s' does not implement abstract method `live_chart_serie_renderer_draw'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 39 "../src/serie_renderer.vala"
return;
#line 127 "serie_renderer.c"
}
void
live_chart_serie_renderer_draw (LiveChartSerieRenderer* self,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartSerieRendererClass* _klass_;
#line 39 "../src/serie_renderer.vala"
g_return_if_fail (self != NULL);
#line 39 "../src/serie_renderer.vala"
_klass_ = LIVE_CHART_SERIE_RENDERER_GET_CLASS (self);
#line 39 "../src/serie_renderer.vala"
if (_klass_->draw) {
#line 39 "../src/serie_renderer.vala"
_klass_->draw (self, ctx, config);
#line 144 "serie_renderer.c"
}
}
static void
live_chart_serie_renderer_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result)
{
LiveChartSerieRenderer * self;
LiveChartBoundingBox _tmp0_;
#line 41 "../src/serie_renderer.vala"
self = (LiveChartSerieRenderer*) base;
#line 42 "../src/serie_renderer.vala"
_tmp0_ = self->bounding_box;
#line 42 "../src/serie_renderer.vala"
*result = _tmp0_;
#line 42 "../src/serie_renderer.vala"
return;
#line 162 "serie_renderer.c"
}
void
live_chart_serie_renderer_debug (LiveChartSerieRenderer* self,
cairo_t* ctx)
{
gchar* debug = NULL;
const gchar* _tmp0_;
gchar* _tmp1_;
const gchar* _tmp2_;
#line 45 "../src/serie_renderer.vala"
g_return_if_fail (self != NULL);
#line 45 "../src/serie_renderer.vala"
g_return_if_fail (ctx != NULL);
#line 46 "../src/serie_renderer.vala"
_tmp0_ = g_getenv ("LIVE_CHART_DEBUG");
#line 46 "../src/serie_renderer.vala"
_tmp1_ = g_strdup (_tmp0_);
#line 46 "../src/serie_renderer.vala"
debug = _tmp1_;
#line 47 "../src/serie_renderer.vala"
_tmp2_ = debug;
#line 47 "../src/serie_renderer.vala"
if (_tmp2_ != NULL) {
#line 187 "serie_renderer.c"
LiveChartBoundingBox _tmp3_;
LiveChartBoundingBox _tmp4_;
LiveChartBoundingBox _tmp5_;
LiveChartBoundingBox _tmp6_;
#line 48 "../src/serie_renderer.vala"
_tmp3_ = self->bounding_box;
#line 48 "../src/serie_renderer.vala"
_tmp4_ = self->bounding_box;
#line 48 "../src/serie_renderer.vala"
_tmp5_ = self->bounding_box;
#line 48 "../src/serie_renderer.vala"
_tmp6_ = self->bounding_box;
#line 48 "../src/serie_renderer.vala"
cairo_rectangle (ctx, _tmp3_.x, _tmp4_.y, _tmp5_.width, _tmp6_.height);
#line 49 "../src/serie_renderer.vala"
cairo_stroke (ctx);
#line 204 "serie_renderer.c"
}
#line 45 "../src/serie_renderer.vala"
_g_free0 (debug);
#line 208 "serie_renderer.c"
}
gboolean
live_chart_serie_renderer_is_out_of_area (LiveChartSerieRenderer* self,
LiveChartPoint* point)
{
LiveChartPoint _tmp0_;
gboolean result;
#line 53 "../src/serie_renderer.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 53 "../src/serie_renderer.vala"
g_return_val_if_fail (point != NULL, FALSE);
#line 54 "../src/serie_renderer.vala"
_tmp0_ = *point;
#line 54 "../src/serie_renderer.vala"
result = _tmp0_.x < ((gdouble) LIVE_CHART_SERIE_RENDERER_VIRTUAL_LEFT_PADDING);
#line 54 "../src/serie_renderer.vala"
return result;
#line 227 "serie_renderer.c"
}
static gboolean
live_chart_serie_renderer_real_get_visible (LiveChartDrawable* base)
{
gboolean result;
LiveChartSerieRenderer* self;
#line 9 "../src/serie_renderer.vala"
self = (LiveChartSerieRenderer*) base;
#line 9 "../src/serie_renderer.vala"
result = self->priv->_visible;
#line 9 "../src/serie_renderer.vala"
return result;
#line 241 "serie_renderer.c"
}
static void
live_chart_serie_renderer_real_set_visible (LiveChartDrawable* base,
gboolean value)
{
LiveChartSerieRenderer* self;
gboolean old_value;
#line 9 "../src/serie_renderer.vala"
self = (LiveChartSerieRenderer*) base;
#line 9 "../src/serie_renderer.vala"
old_value = live_chart_serie_renderer_real_get_visible (base);
#line 9 "../src/serie_renderer.vala"
if (old_value != value) {
#line 9 "../src/serie_renderer.vala"
self->priv->_visible = value;
#line 9 "../src/serie_renderer.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_serie_renderer_properties[LIVE_CHART_SERIE_RENDERER_VISIBLE_PROPERTY]);
#line 260 "serie_renderer.c"
}
}
void
live_chart_serie_renderer_get_main_color (LiveChartSerieRenderer* self,
GdkRGBA * result)
{
LiveChartPath* _tmp0_;
GdkRGBA _tmp1_ = {0};
GdkRGBA _tmp2_;
#line 13 "../src/serie_renderer.vala"
g_return_if_fail (self != NULL);
#line 14 "../src/serie_renderer.vala"
_tmp0_ = self->priv->_line;
#line 14 "../src/serie_renderer.vala"
live_chart_path_get_color (_tmp0_, &_tmp1_);
#line 14 "../src/serie_renderer.vala"
_tmp2_ = _tmp1_;
#line 14 "../src/serie_renderer.vala"
*result = _tmp2_;
#line 14 "../src/serie_renderer.vala"
return;
#line 283 "serie_renderer.c"
}
void
live_chart_serie_renderer_set_main_color (LiveChartSerieRenderer* self,
GdkRGBA * value)
{
LiveChartPath* _tmp0_;
GdkRGBA _tmp1_;
#line 17 "../src/serie_renderer.vala"
g_return_if_fail (self != NULL);
#line 18 "../src/serie_renderer.vala"
_tmp0_ = self->priv->_line;
#line 18 "../src/serie_renderer.vala"
_tmp1_ = *value;
#line 18 "../src/serie_renderer.vala"
live_chart_path_set_color (_tmp0_, &_tmp1_);
#line 17 "../src/serie_renderer.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_serie_renderer_properties[LIVE_CHART_SERIE_RENDERER_MAIN_COLOR_PROPERTY]);
#line 302 "serie_renderer.c"
}
LiveChartPath*
live_chart_serie_renderer_get_line (LiveChartSerieRenderer* self)
{
LiveChartPath* result;
LiveChartPath* _tmp0_;
#line 21 "../src/serie_renderer.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 21 "../src/serie_renderer.vala"
_tmp0_ = self->priv->_line;
#line 21 "../src/serie_renderer.vala"
result = _tmp0_;
#line 21 "../src/serie_renderer.vala"
return result;
#line 318 "serie_renderer.c"
}
void
live_chart_serie_renderer_set_line (LiveChartSerieRenderer* self,
LiveChartPath* value)
{
LiveChartPath* old_value;
#line 21 "../src/serie_renderer.vala"
g_return_if_fail (self != NULL);
#line 21 "../src/serie_renderer.vala"
old_value = live_chart_serie_renderer_get_line (self);
#line 21 "../src/serie_renderer.vala"
if (old_value != value) {
#line 332 "serie_renderer.c"
LiveChartPath* _tmp0_;
#line 21 "../src/serie_renderer.vala"
_tmp0_ = _g_object_ref0 (value);
#line 21 "../src/serie_renderer.vala"
_g_object_unref0 (self->priv->_line);
#line 21 "../src/serie_renderer.vala"
self->priv->_line = _tmp0_;
#line 21 "../src/serie_renderer.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_serie_renderer_properties[LIVE_CHART_SERIE_RENDERER_LINE_PROPERTY]);
#line 342 "serie_renderer.c"
}
}
static void
live_chart_serie_renderer_class_init (LiveChartSerieRendererClass * klass,
gpointer klass_data)
{
#line 5 "../src/serie_renderer.vala"
live_chart_serie_renderer_parent_class = g_type_class_peek_parent (klass);
#line 5 "../src/serie_renderer.vala"
g_type_class_adjust_private_offset (klass, &LiveChartSerieRenderer_private_offset);
#line 5 "../src/serie_renderer.vala"
((LiveChartSerieRendererClass *) klass)->draw = (void (*) (LiveChartSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_serie_renderer_real_draw;
#line 5 "../src/serie_renderer.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_serie_renderer_get_property;
#line 5 "../src/serie_renderer.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_serie_renderer_set_property;
#line 5 "../src/serie_renderer.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_serie_renderer_finalize;
#line 5 "../src/serie_renderer.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_SERIE_RENDERER_VISIBLE_PROPERTY, live_chart_serie_renderer_properties[LIVE_CHART_SERIE_RENDERER_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5 "../src/serie_renderer.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_SERIE_RENDERER_MAIN_COLOR_PROPERTY, live_chart_serie_renderer_properties[LIVE_CHART_SERIE_RENDERER_MAIN_COLOR_PROPERTY] = g_param_spec_boxed ("main-color", "main-color", "main-color", gdk_rgba_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_DEPRECATED));
#line 5 "../src/serie_renderer.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_SERIE_RENDERER_LINE_PROPERTY, live_chart_serie_renderer_properties[LIVE_CHART_SERIE_RENDERER_LINE_PROPERTY] = g_param_spec_object ("line", "line", "line", LIVE_CHART_TYPE_PATH, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 368 "serie_renderer.c"
}
static void
live_chart_serie_renderer_live_chart_drawable_interface_init (LiveChartDrawableIface * iface,
gpointer iface_data)
{
#line 5 "../src/serie_renderer.vala"
live_chart_serie_renderer_live_chart_drawable_parent_iface = g_type_interface_peek_parent (iface);
#line 5 "../src/serie_renderer.vala"
iface->draw = (void (*) (LiveChartDrawable*, cairo_t*, LiveChartConfig*)) live_chart_serie_renderer_draw;
#line 5 "../src/serie_renderer.vala"
iface->get_bounding_box = (void (*) (LiveChartDrawable*, LiveChartBoundingBox*)) live_chart_serie_renderer_real_get_bounding_box;
#line 5 "../src/serie_renderer.vala"
iface->get_visible = live_chart_serie_renderer_real_get_visible;
#line 5 "../src/serie_renderer.vala"
iface->set_visible = live_chart_serie_renderer_real_set_visible;
#line 385 "serie_renderer.c"
}
static void
live_chart_serie_renderer_instance_init (LiveChartSerieRenderer * self,
gpointer klass)
{
LiveChartBoundingBox _tmp0_ = {0};
#line 5 "../src/serie_renderer.vala"
self->priv = live_chart_serie_renderer_get_instance_private (self);
#line 9 "../src/serie_renderer.vala"
self->priv->_visible = TRUE;
#line 27 "../src/serie_renderer.vala"
memset (&_tmp0_, 0, sizeof (LiveChartBoundingBox));
#line 27 "../src/serie_renderer.vala"
_tmp0_.x = (gdouble) 0;
#line 27 "../src/serie_renderer.vala"
_tmp0_.y = (gdouble) 0;
#line 27 "../src/serie_renderer.vala"
_tmp0_.width = (gdouble) 0;
#line 27 "../src/serie_renderer.vala"
_tmp0_.height = (gdouble) 0;
#line 27 "../src/serie_renderer.vala"
self->bounding_box = _tmp0_;
#line 409 "serie_renderer.c"
}
static void
live_chart_serie_renderer_finalize (GObject * obj)
{
LiveChartSerieRenderer * self;
#line 5 "../src/serie_renderer.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_SERIE_RENDERER, LiveChartSerieRenderer);
#line 21 "../src/serie_renderer.vala"
_g_object_unref0 (self->priv->_line);
#line 34 "../src/serie_renderer.vala"
_g_object_unref0 (self->values);
#line 5 "../src/serie_renderer.vala"
G_OBJECT_CLASS (live_chart_serie_renderer_parent_class)->finalize (obj);
#line 424 "serie_renderer.c"
}
static GType
live_chart_serie_renderer_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartSerieRendererClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_serie_renderer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartSerieRenderer), 0, (GInstanceInitFunc) live_chart_serie_renderer_instance_init, NULL };
static const GInterfaceInfo live_chart_drawable_info = { (GInterfaceInitFunc) live_chart_serie_renderer_live_chart_drawable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
GType live_chart_serie_renderer_type_id;
live_chart_serie_renderer_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartSerieRenderer", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
g_type_add_interface_static (live_chart_serie_renderer_type_id, LIVE_CHART_TYPE_DRAWABLE, &live_chart_drawable_info);
LiveChartSerieRenderer_private_offset = g_type_add_instance_private (live_chart_serie_renderer_type_id, sizeof (LiveChartSerieRendererPrivate));
return live_chart_serie_renderer_type_id;
}
GType
live_chart_serie_renderer_get_type (void)
{
static volatile gsize live_chart_serie_renderer_type_id__once = 0;
if (g_once_init_enter (&live_chart_serie_renderer_type_id__once)) {
GType live_chart_serie_renderer_type_id;
live_chart_serie_renderer_type_id = live_chart_serie_renderer_get_type_once ();
g_once_init_leave (&live_chart_serie_renderer_type_id__once, live_chart_serie_renderer_type_id);
}
return live_chart_serie_renderer_type_id__once;
}
static void
_vala_live_chart_serie_renderer_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartSerieRenderer * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_SERIE_RENDERER, LiveChartSerieRenderer);
#line 5 "../src/serie_renderer.vala"
switch (property_id) {
#line 5 "../src/serie_renderer.vala"
case LIVE_CHART_SERIE_RENDERER_VISIBLE_PROPERTY:
#line 5 "../src/serie_renderer.vala"
g_value_set_boolean (value, live_chart_drawable_get_visible ((LiveChartDrawable*) self));
#line 5 "../src/serie_renderer.vala"
break;
#line 5 "../src/serie_renderer.vala"
case LIVE_CHART_SERIE_RENDERER_MAIN_COLOR_PROPERTY:
#line 469 "serie_renderer.c"
{
GdkRGBA boxed;
#line 5 "../src/serie_renderer.vala"
live_chart_serie_renderer_get_main_color (self, &boxed);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
#line 475 "serie_renderer.c"
g_value_set_boxed (value, &boxed);
G_GNUC_END_IGNORE_DEPRECATIONS
}
#line 5 "../src/serie_renderer.vala"
break;
#line 5 "../src/serie_renderer.vala"
case LIVE_CHART_SERIE_RENDERER_LINE_PROPERTY:
#line 5 "../src/serie_renderer.vala"
g_value_set_object (value, live_chart_serie_renderer_get_line (self));
#line 5 "../src/serie_renderer.vala"
break;
#line 487 "serie_renderer.c"
default:
#line 5 "../src/serie_renderer.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 5 "../src/serie_renderer.vala"
break;
#line 493 "serie_renderer.c"
}
}
static void
_vala_live_chart_serie_renderer_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartSerieRenderer * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_SERIE_RENDERER, LiveChartSerieRenderer);
#line 5 "../src/serie_renderer.vala"
switch (property_id) {
#line 5 "../src/serie_renderer.vala"
case LIVE_CHART_SERIE_RENDERER_VISIBLE_PROPERTY:
#line 5 "../src/serie_renderer.vala"
live_chart_drawable_set_visible ((LiveChartDrawable*) self, g_value_get_boolean (value));
#line 5 "../src/serie_renderer.vala"
break;
#line 5 "../src/serie_renderer.vala"
case LIVE_CHART_SERIE_RENDERER_MAIN_COLOR_PROPERTY:
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
#line 516 "serie_renderer.c"
live_chart_serie_renderer_set_main_color (self, g_value_get_boxed (value));
G_GNUC_END_IGNORE_DEPRECATIONS
#line 5 "../src/serie_renderer.vala"
break;
#line 5 "../src/serie_renderer.vala"
case LIVE_CHART_SERIE_RENDERER_LINE_PROPERTY:
#line 5 "../src/serie_renderer.vala"
live_chart_serie_renderer_set_line (self, g_value_get_object (value));
#line 5 "../src/serie_renderer.vala"
break;
#line 527 "serie_renderer.c"
default:
#line 5 "../src/serie_renderer.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 5 "../src/serie_renderer.vala"
break;
#line 533 "serie_renderer.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,491 @@
/* series.c generated by valac 0.56.0, the Vala compiler
* generated from series.vala, do not modify */
#include "livechart.h"
#include <gee.h>
#include <glib-object.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
enum {
LIVE_CHART_SERIES_0_PROPERTY,
LIVE_CHART_SERIES_NUM_PROPERTIES
};
static GParamSpec* live_chart_series_properties[LIVE_CHART_SERIES_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _live_chart_timestamped_value_free0(var) ((var == NULL) ? NULL : (var = (live_chart_timestamped_value_free (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
struct _LiveChartSeriesPrivate {
GeeArrayList* series;
LiveChartChart* chart;
};
static gint LiveChartSeries_private_offset;
static gpointer live_chart_series_parent_class = NULL;
static gboolean __lambda7_ (LiveChartSeries* self,
LiveChartTimestampedValue* value);
static gboolean ___lambda7__gee_forall_func (gpointer g,
gpointer self);
static void __lambda8_ (LiveChartSeries* self,
gdouble value);
static void ___lambda8__live_chart_serie_value_added (LiveChartSerie* _sender,
gdouble value,
gpointer self);
static void live_chart_series_finalize (GObject * obj);
static GType live_chart_series_get_type_once (void);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_series_get_instance_private (LiveChartSeries* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartSeries_private_offset);
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 10 "../src/series.vala"
return self ? g_object_ref (self) : NULL;
#line 56 "series.c"
}
LiveChartSeries*
live_chart_series_construct (GType object_type,
LiveChartChart* chart)
{
LiveChartSeries * self = NULL;
LiveChartChart* _tmp0_;
#line 9 "../src/series.vala"
g_return_val_if_fail (chart != NULL, NULL);
#line 9 "../src/series.vala"
self = (LiveChartSeries*) g_object_new (object_type, NULL);
#line 10 "../src/series.vala"
_tmp0_ = _g_object_ref0 (chart);
#line 10 "../src/series.vala"
_g_object_unref0 (self->priv->chart);
#line 10 "../src/series.vala"
self->priv->chart = _tmp0_;
#line 9 "../src/series.vala"
return self;
#line 77 "series.c"
}
LiveChartSeries*
live_chart_series_new (LiveChartChart* chart)
{
#line 9 "../src/series.vala"
return live_chart_series_construct (LIVE_CHART_TYPE_SERIES, chart);
#line 85 "series.c"
}
static gboolean
__lambda7_ (LiveChartSeries* self,
LiveChartTimestampedValue* value)
{
LiveChartChart* _tmp0_;
LiveChartConfig* _tmp1_;
LiveChartYAxis* _tmp2_;
gboolean result;
#line 16 "../src/series.vala"
_tmp0_ = self->priv->chart;
#line 16 "../src/series.vala"
_tmp1_ = _tmp0_->config;
#line 16 "../src/series.vala"
_tmp2_ = _tmp1_->y_axis;
#line 16 "../src/series.vala"
live_chart_yaxis_update_bounds (_tmp2_, (*value).value);
#line 16 "../src/series.vala"
result = TRUE;
#line 16 "../src/series.vala"
_live_chart_timestamped_value_free0 (value);
#line 16 "../src/series.vala"
return result;
#line 110 "series.c"
}
static gboolean
___lambda7__gee_forall_func (gpointer g,
gpointer self)
{
gboolean result;
result = __lambda7_ ((LiveChartSeries*) self, (LiveChartTimestampedValue*) g);
#line 16 "../src/series.vala"
return result;
#line 121 "series.c"
}
static void
__lambda8_ (LiveChartSeries* self,
gdouble value)
{
LiveChartChart* _tmp0_;
LiveChartConfig* _tmp1_;
LiveChartYAxis* _tmp2_;
#line 20 "../src/series.vala"
_tmp0_ = self->priv->chart;
#line 20 "../src/series.vala"
_tmp1_ = _tmp0_->config;
#line 20 "../src/series.vala"
_tmp2_ = _tmp1_->y_axis;
#line 20 "../src/series.vala"
live_chart_yaxis_update_bounds (_tmp2_, value);
#line 139 "series.c"
}
static void
___lambda8__live_chart_serie_value_added (LiveChartSerie* _sender,
gdouble value,
gpointer self)
{
#line 19 "../src/series.vala"
__lambda8_ ((LiveChartSeries*) self, value);
#line 149 "series.c"
}
LiveChartSerie*
live_chart_series_register (LiveChartSeries* self,
LiveChartSerie* serie)
{
GeeArrayList* _tmp0_;
LiveChartValues* _tmp1_;
LiveChartValues* _tmp2_;
LiveChartChart* _tmp3_;
LiveChartLegend* _tmp4_;
LiveChartLegend* _tmp5_;
LiveChartSerie* _tmp9_;
LiveChartSerie* result;
#line 13 "../src/series.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 13 "../src/series.vala"
g_return_val_if_fail (serie != NULL, NULL);
#line 14 "../src/series.vala"
_tmp0_ = self->priv->series;
#line 14 "../src/series.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp0_, serie);
#line 16 "../src/series.vala"
_tmp1_ = live_chart_serie_get_values (serie);
#line 16 "../src/series.vala"
_tmp2_ = _tmp1_;
#line 16 "../src/series.vala"
gee_abstract_collection_foreach ((GeeAbstractCollection*) _tmp2_, ___lambda7__gee_forall_func, self);
#line 16 "../src/series.vala"
_g_object_unref0 (_tmp2_);
#line 18 "../src/series.vala"
_tmp3_ = self->priv->chart;
#line 18 "../src/series.vala"
_tmp4_ = live_chart_chart_get_legend (_tmp3_);
#line 18 "../src/series.vala"
_tmp5_ = _tmp4_;
#line 18 "../src/series.vala"
if (_tmp5_ != NULL) {
#line 188 "series.c"
LiveChartChart* _tmp6_;
LiveChartLegend* _tmp7_;
LiveChartLegend* _tmp8_;
#line 18 "../src/series.vala"
_tmp6_ = self->priv->chart;
#line 18 "../src/series.vala"
_tmp7_ = live_chart_chart_get_legend (_tmp6_);
#line 18 "../src/series.vala"
_tmp8_ = _tmp7_;
#line 18 "../src/series.vala"
live_chart_legend_add_legend (_tmp8_, serie);
#line 200 "series.c"
}
#line 19 "../src/series.vala"
g_signal_connect_object (serie, "value-added", (GCallback) ___lambda8__live_chart_serie_value_added, self, 0);
#line 22 "../src/series.vala"
_tmp9_ = _g_object_ref0 (serie);
#line 22 "../src/series.vala"
result = _tmp9_;
#line 22 "../src/series.vala"
return result;
#line 210 "series.c"
}
LiveChartSerie*
live_chart_series_get (LiveChartSeries* self,
gint index,
GError** error)
{
GeeArrayList* _tmp0_;
gint _tmp1_;
gint _tmp2_;
GeeArrayList* _tmp7_;
gpointer _tmp8_;
GError* _inner_error0_ = NULL;
LiveChartSerie* result;
#line 25 "../src/series.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 26 "../src/series.vala"
_tmp0_ = self->priv->series;
#line 26 "../src/series.vala"
_tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
#line 26 "../src/series.vala"
_tmp2_ = _tmp1_;
#line 26 "../src/series.vala"
if (index > (_tmp2_ - 1)) {
#line 235 "series.c"
gchar* _tmp3_;
gchar* _tmp4_;
GError* _tmp5_;
GError* _tmp6_;
#line 27 "../src/series.vala"
_tmp3_ = g_strdup_printf ("Serie at index %d not found", index);
#line 27 "../src/series.vala"
_tmp4_ = _tmp3_;
#line 27 "../src/series.vala"
_tmp5_ = g_error_new_literal (LIVE_CHART_CHART_ERROR, LIVE_CHART_CHART_ERROR_SERIE_NOT_FOUND, _tmp4_);
#line 27 "../src/series.vala"
_tmp6_ = _tmp5_;
#line 27 "../src/series.vala"
_g_free0 (_tmp4_);
#line 27 "../src/series.vala"
_inner_error0_ = _tmp6_;
#line 27 "../src/series.vala"
if (_inner_error0_->domain == LIVE_CHART_CHART_ERROR) {
#line 27 "../src/series.vala"
g_propagate_error (error, _inner_error0_);
#line 27 "../src/series.vala"
return NULL;
#line 258 "series.c"
} else {
#line 27 "../src/series.vala"
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
#line 27 "../src/series.vala"
g_clear_error (&_inner_error0_);
#line 27 "../src/series.vala"
return NULL;
#line 266 "series.c"
}
}
#line 29 "../src/series.vala"
_tmp7_ = self->priv->series;
#line 29 "../src/series.vala"
_tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, index);
#line 29 "../src/series.vala"
result = (LiveChartSerie*) _tmp8_;
#line 29 "../src/series.vala"
return result;
#line 277 "series.c"
}
LiveChartSerie*
live_chart_series_get_by_name (LiveChartSeries* self,
const gchar* name,
GError** error)
{
gchar* _tmp11_;
gchar* _tmp12_;
GError* _tmp13_;
GError* _tmp14_;
GError* _inner_error0_ = NULL;
LiveChartSerie* result;
#line 32 "../src/series.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 32 "../src/series.vala"
g_return_val_if_fail (name != NULL, NULL);
#line 295 "series.c"
{
GeeArrayList* _serie_list = NULL;
GeeArrayList* _tmp0_;
gint _serie_size = 0;
GeeArrayList* _tmp1_;
gint _tmp2_;
gint _tmp3_;
gint _serie_index = 0;
#line 33 "../src/series.vala"
_tmp0_ = self->priv->series;
#line 33 "../src/series.vala"
_serie_list = _tmp0_;
#line 33 "../src/series.vala"
_tmp1_ = _serie_list;
#line 33 "../src/series.vala"
_tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
#line 33 "../src/series.vala"
_tmp3_ = _tmp2_;
#line 33 "../src/series.vala"
_serie_size = _tmp3_;
#line 33 "../src/series.vala"
_serie_index = -1;
#line 33 "../src/series.vala"
while (TRUE) {
#line 320 "series.c"
gint _tmp4_;
gint _tmp5_;
LiveChartSerie* serie = NULL;
GeeArrayList* _tmp6_;
gpointer _tmp7_;
LiveChartSerie* _tmp8_;
const gchar* _tmp9_;
const gchar* _tmp10_;
#line 33 "../src/series.vala"
_serie_index = _serie_index + 1;
#line 33 "../src/series.vala"
_tmp4_ = _serie_index;
#line 33 "../src/series.vala"
_tmp5_ = _serie_size;
#line 33 "../src/series.vala"
if (!(_tmp4_ < _tmp5_)) {
#line 33 "../src/series.vala"
break;
#line 339 "series.c"
}
#line 33 "../src/series.vala"
_tmp6_ = _serie_list;
#line 33 "../src/series.vala"
_tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _tmp6_, _serie_index);
#line 33 "../src/series.vala"
serie = (LiveChartSerie*) _tmp7_;
#line 34 "../src/series.vala"
_tmp8_ = serie;
#line 34 "../src/series.vala"
_tmp9_ = live_chart_serie_get_name (_tmp8_);
#line 34 "../src/series.vala"
_tmp10_ = _tmp9_;
#line 34 "../src/series.vala"
if (g_strcmp0 (_tmp10_, name) == 0) {
#line 34 "../src/series.vala"
result = serie;
#line 34 "../src/series.vala"
return result;
#line 359 "series.c"
}
#line 33 "../src/series.vala"
_g_object_unref0 (serie);
#line 363 "series.c"
}
}
#line 36 "../src/series.vala"
_tmp11_ = g_strdup_printf ("Serie with name %s not found", name);
#line 36 "../src/series.vala"
_tmp12_ = _tmp11_;
#line 36 "../src/series.vala"
_tmp13_ = g_error_new_literal (LIVE_CHART_CHART_ERROR, LIVE_CHART_CHART_ERROR_SERIE_NOT_FOUND, _tmp12_);
#line 36 "../src/series.vala"
_tmp14_ = _tmp13_;
#line 36 "../src/series.vala"
_g_free0 (_tmp12_);
#line 36 "../src/series.vala"
_inner_error0_ = _tmp14_;
#line 36 "../src/series.vala"
if (_inner_error0_->domain == LIVE_CHART_CHART_ERROR) {
#line 36 "../src/series.vala"
g_propagate_error (error, _inner_error0_);
#line 36 "../src/series.vala"
return NULL;
#line 384 "series.c"
} else {
#line 36 "../src/series.vala"
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
#line 36 "../src/series.vala"
g_clear_error (&_inner_error0_);
#line 36 "../src/series.vala"
return NULL;
#line 392 "series.c"
}
}
GeeIterator*
live_chart_series_iterator (LiveChartSeries* self)
{
GeeArrayList* _tmp0_;
GeeListIterator* _tmp1_;
GeeIterator* result;
#line 39 "../src/series.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 40 "../src/series.vala"
_tmp0_ = self->priv->series;
#line 40 "../src/series.vala"
_tmp1_ = gee_abstract_list_list_iterator ((GeeAbstractList*) _tmp0_);
#line 40 "../src/series.vala"
result = (GeeIterator*) _tmp1_;
#line 40 "../src/series.vala"
return result;
#line 412 "series.c"
}
static void
live_chart_series_class_init (LiveChartSeriesClass * klass,
gpointer klass_data)
{
#line 4 "../src/series.vala"
live_chart_series_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/series.vala"
g_type_class_adjust_private_offset (klass, &LiveChartSeries_private_offset);
#line 4 "../src/series.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_series_finalize;
#line 425 "series.c"
}
static void
live_chart_series_instance_init (LiveChartSeries * self,
gpointer klass)
{
GeeArrayList* _tmp0_;
#line 4 "../src/series.vala"
self->priv = live_chart_series_get_instance_private (self);
#line 6 "../src/series.vala"
_tmp0_ = gee_array_list_new (LIVE_CHART_TYPE_SERIE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 6 "../src/series.vala"
self->priv->series = _tmp0_;
#line 439 "series.c"
}
static void
live_chart_series_finalize (GObject * obj)
{
LiveChartSeries * self;
#line 4 "../src/series.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_SERIES, LiveChartSeries);
#line 6 "../src/series.vala"
_g_object_unref0 (self->priv->series);
#line 7 "../src/series.vala"
_g_object_unref0 (self->priv->chart);
#line 4 "../src/series.vala"
G_OBJECT_CLASS (live_chart_series_parent_class)->finalize (obj);
#line 454 "series.c"
}
static GType
live_chart_series_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartSeriesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_series_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartSeries), 0, (GInstanceInitFunc) live_chart_series_instance_init, NULL };
GType live_chart_series_type_id;
live_chart_series_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartSeries", &g_define_type_info, 0);
LiveChartSeries_private_offset = g_type_add_instance_private (live_chart_series_type_id, sizeof (LiveChartSeriesPrivate));
return live_chart_series_type_id;
}
GType
live_chart_series_get_type (void)
{
static volatile gsize live_chart_series_type_id__once = 0;
if (g_once_init_enter (&live_chart_series_type_id__once)) {
GType live_chart_series_type_id;
live_chart_series_type_id = live_chart_series_get_type_once ();
g_once_init_leave (&live_chart_series_type_id__once, live_chart_series_type_id);
}
return live_chart_series_type_id__once;
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,887 @@
/* smooth_line.c generated by valac 0.56.0, the Vala compiler
* generated from smooth_line.vala, do not modify */
#include "livechart.h"
#include <cairo-gobject.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>
#include <glib-object.h>
#include <string.h>
enum {
LIVE_CHART_SMOOTH_LINE_0_PROPERTY,
LIVE_CHART_SMOOTH_LINE_REGION_PROPERTY,
LIVE_CHART_SMOOTH_LINE_NUM_PROPERTIES
};
static GParamSpec* live_chart_smooth_line_properties[LIVE_CHART_SMOOTH_LINE_NUM_PROPERTIES];
#define _live_chart_region_unref0(var) ((var == NULL) ? NULL : (var = (live_chart_region_unref (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _cairo_path_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_path_destroy (var), NULL)))
#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL)))
typedef struct _Block6Data Block6Data;
#define _live_chart_bezier_intersector_unref0(var) ((var == NULL) ? NULL : (var = (live_chart_bezier_intersector_unref (var), NULL)))
struct _LiveChartSmoothLinePrivate {
LiveChartRegion* _region;
};
struct _Block6Data {
int _ref_count_;
LiveChartSmoothLine* self;
LiveChartBoundaries boundaries;
cairo_t* ctx;
};
static gint LiveChartSmoothLine_private_offset;
static gpointer live_chart_smooth_line_parent_class = NULL;
static void live_chart_smooth_line_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_smooth_line_update_bounding_box (LiveChartSmoothLine* self,
LiveChartPoints* points,
LiveChartConfig* config);
static void live_chart_smooth_line_generate_intersections (LiveChartSmoothLine* self,
LiveChartPoint* previous,
LiveChartPoint* target,
LiveChartConfig* config,
LiveChartBezierCurve* curve);
static Block6Data* block6_data_ref (Block6Data* _data6_);
static void block6_data_unref (void * _userdata_);
static gboolean __lambda13_ (Block6Data* _data6_,
LiveChartIntersection* intersection);
static gboolean ___lambda13__gee_forall_func (gpointer g,
gpointer self);
static void live_chart_smooth_line_finalize (GObject * obj);
static GType live_chart_smooth_line_get_type_once (void);
static void _vala_live_chart_smooth_line_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_smooth_line_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_smooth_line_get_instance_private (LiveChartSmoothLine* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartSmoothLine_private_offset);
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 10 "../src/smooth_line.vala"
return self ? g_object_ref (self) : NULL;
#line 82 "smooth_line.c"
}
LiveChartSmoothLine*
live_chart_smooth_line_construct (GType object_type,
LiveChartValues* values)
{
LiveChartSmoothLine * self = NULL;
LiveChartValues* _tmp0_;
#line 8 "../src/smooth_line.vala"
g_return_val_if_fail (values != NULL, NULL);
#line 9 "../src/smooth_line.vala"
self = (LiveChartSmoothLine*) live_chart_serie_renderer_construct (object_type);
#line 10 "../src/smooth_line.vala"
_tmp0_ = _g_object_ref0 (values);
#line 10 "../src/smooth_line.vala"
_g_object_unref0 (((LiveChartSerieRenderer*) self)->values);
#line 10 "../src/smooth_line.vala"
((LiveChartSerieRenderer*) self)->values = _tmp0_;
#line 8 "../src/smooth_line.vala"
return self;
#line 103 "smooth_line.c"
}
LiveChartSmoothLine*
live_chart_smooth_line_new (LiveChartValues* values)
{
#line 8 "../src/smooth_line.vala"
return live_chart_smooth_line_construct (LIVE_CHART_TYPE_SMOOTH_LINE, values);
#line 111 "smooth_line.c"
}
static void
live_chart_smooth_line_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartSmoothLine * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 13 "../src/smooth_line.vala"
self = (LiveChartSmoothLine*) base;
#line 13 "../src/smooth_line.vala"
g_return_if_fail (ctx != NULL);
#line 13 "../src/smooth_line.vala"
g_return_if_fail (config != NULL);
#line 14 "../src/smooth_line.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 14 "../src/smooth_line.vala"
_tmp1_ = _tmp0_;
#line 14 "../src/smooth_line.vala"
if (_tmp1_) {
#line 134 "smooth_line.c"
LiveChartPoints* points = NULL;
LiveChartValues* _tmp2_;
LiveChartPoints* _tmp3_;
LiveChartPoints* _tmp4_;
gint _tmp5_;
gint _tmp6_;
#line 15 "../src/smooth_line.vala"
_tmp2_ = ((LiveChartSerieRenderer*) self)->values;
#line 15 "../src/smooth_line.vala"
_tmp3_ = live_chart_points_create (_tmp2_, config);
#line 15 "../src/smooth_line.vala"
points = _tmp3_;
#line 16 "../src/smooth_line.vala"
_tmp4_ = points;
#line 16 "../src/smooth_line.vala"
_tmp5_ = live_chart_points_get_size (_tmp4_);
#line 16 "../src/smooth_line.vala"
_tmp6_ = _tmp5_;
#line 16 "../src/smooth_line.vala"
if (_tmp6_ > 0) {
#line 155 "smooth_line.c"
LiveChartRegion* _tmp7_;
LiveChartPoints* _tmp8_;
cairo_path_t* _tmp9_;
cairo_path_t* _tmp10_;
LiveChartRegion* _tmp11_;
#line 18 "../src/smooth_line.vala"
_tmp7_ = self->priv->_region;
#line 18 "../src/smooth_line.vala"
if (_tmp7_ != NULL) {
#line 19 "../src/smooth_line.vala"
cairo_push_group (ctx);
#line 167 "smooth_line.c"
}
#line 22 "../src/smooth_line.vala"
_tmp8_ = points;
#line 22 "../src/smooth_line.vala"
_tmp9_ = live_chart_smooth_line_draw_smooth_line (self, _tmp8_, ctx, config);
#line 22 "../src/smooth_line.vala"
_tmp10_ = _tmp9_;
#line 22 "../src/smooth_line.vala"
_cairo_path_destroy0 (_tmp10_);
#line 23 "../src/smooth_line.vala"
cairo_stroke (ctx);
#line 25 "../src/smooth_line.vala"
_tmp11_ = self->priv->_region;
#line 25 "../src/smooth_line.vala"
if (_tmp11_ != NULL) {
#line 26 "../src/smooth_line.vala"
cairo_set_operator (ctx, CAIRO_OPERATOR_ATOP);
#line 27 "../src/smooth_line.vala"
live_chart_smooth_line_draw_regions_on_line (self, ctx, config);
#line 28 "../src/smooth_line.vala"
cairo_fill (ctx);
#line 29 "../src/smooth_line.vala"
cairo_pop_group_to_source (ctx);
#line 30 "../src/smooth_line.vala"
cairo_paint (ctx);
#line 193 "smooth_line.c"
}
}
#line 14 "../src/smooth_line.vala"
_g_object_unref0 (points);
#line 198 "smooth_line.c"
}
}
cairo_path_t*
live_chart_smooth_line_draw_smooth_line (LiveChartSmoothLine* self,
LiveChartPoints* points,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartIntersections* _tmp0_;
LiveChartPoint first_point = {0};
LiveChartPoint _tmp1_ = {0};
LiveChartPoint _tmp2_;
LiveChartPoint _tmp3_;
LiveChartPath* _tmp4_;
LiveChartPath* _tmp5_;
cairo_path_t* _tmp32_;
cairo_path_t* result;
#line 36 "../src/smooth_line.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 36 "../src/smooth_line.vala"
g_return_val_if_fail (points != NULL, NULL);
#line 36 "../src/smooth_line.vala"
g_return_val_if_fail (ctx != NULL, NULL);
#line 36 "../src/smooth_line.vala"
g_return_val_if_fail (config != NULL, NULL);
#line 37 "../src/smooth_line.vala"
_tmp0_ = live_chart_intersections_new ();
#line 37 "../src/smooth_line.vala"
_g_object_unref0 (self->intersections);
#line 37 "../src/smooth_line.vala"
self->intersections = _tmp0_;
#line 38 "../src/smooth_line.vala"
live_chart_points_first (points, &_tmp1_);
#line 38 "../src/smooth_line.vala"
first_point = _tmp1_;
#line 40 "../src/smooth_line.vala"
live_chart_smooth_line_update_bounding_box (self, points, config);
#line 41 "../src/smooth_line.vala"
live_chart_serie_renderer_debug ((LiveChartSerieRenderer*) self, ctx);
#line 43 "../src/smooth_line.vala"
_tmp2_ = first_point;
#line 43 "../src/smooth_line.vala"
_tmp3_ = first_point;
#line 43 "../src/smooth_line.vala"
cairo_move_to (ctx, _tmp2_.x, _tmp3_.y);
#line 44 "../src/smooth_line.vala"
_tmp4_ = live_chart_serie_renderer_get_line ((LiveChartSerieRenderer*) self);
#line 44 "../src/smooth_line.vala"
_tmp5_ = _tmp4_;
#line 44 "../src/smooth_line.vala"
live_chart_path_configure (_tmp5_, ctx);
#line 251 "smooth_line.c"
{
gint pos = 0;
#line 46 "../src/smooth_line.vala"
pos = 0;
#line 256 "smooth_line.c"
{
gboolean _tmp6_ = FALSE;
#line 46 "../src/smooth_line.vala"
_tmp6_ = TRUE;
#line 46 "../src/smooth_line.vala"
while (TRUE) {
#line 263 "smooth_line.c"
gint _tmp8_;
gint _tmp9_;
LiveChartPoint previous_point = {0};
LiveChartPoint _tmp10_ = {0};
LiveChartPoint target_point = {0};
LiveChartPoint _tmp11_ = {0};
LiveChartPoint _tmp12_;
LiveChartBezierCurve curve = {0};
LiveChartPoint _tmp13_;
LiveChartPoint _tmp14_;
LiveChartBezierCurve _tmp15_ = {0};
LiveChartBezierCurve _tmp16_;
LiveChartCoord _tmp17_;
LiveChartBezierCurve _tmp18_;
LiveChartCoord _tmp19_;
LiveChartBezierCurve _tmp20_;
LiveChartCoord _tmp21_;
LiveChartBezierCurve _tmp22_;
LiveChartCoord _tmp23_;
LiveChartBezierCurve _tmp24_;
LiveChartCoord _tmp25_;
LiveChartBezierCurve _tmp26_;
LiveChartCoord _tmp27_;
LiveChartRegion* _tmp28_;
#line 46 "../src/smooth_line.vala"
if (!_tmp6_) {
#line 290 "smooth_line.c"
gint _tmp7_;
#line 46 "../src/smooth_line.vala"
_tmp7_ = pos;
#line 46 "../src/smooth_line.vala"
pos = _tmp7_ + 1;
#line 296 "smooth_line.c"
}
#line 46 "../src/smooth_line.vala"
_tmp6_ = FALSE;
#line 46 "../src/smooth_line.vala"
_tmp8_ = live_chart_points_get_size (points);
#line 46 "../src/smooth_line.vala"
_tmp9_ = _tmp8_;
#line 46 "../src/smooth_line.vala"
if (!(pos <= (_tmp9_ - 1))) {
#line 46 "../src/smooth_line.vala"
break;
#line 308 "smooth_line.c"
}
#line 48 "../src/smooth_line.vala"
live_chart_points_get (points, pos, &_tmp10_);
#line 48 "../src/smooth_line.vala"
previous_point = _tmp10_;
#line 49 "../src/smooth_line.vala"
live_chart_points_after (points, pos, &_tmp11_);
#line 49 "../src/smooth_line.vala"
target_point = _tmp11_;
#line 51 "../src/smooth_line.vala"
_tmp12_ = previous_point;
#line 51 "../src/smooth_line.vala"
if (live_chart_serie_renderer_is_out_of_area ((LiveChartSerieRenderer*) self, &_tmp12_)) {
#line 52 "../src/smooth_line.vala"
continue;
#line 324 "smooth_line.c"
}
#line 55 "../src/smooth_line.vala"
_tmp13_ = previous_point;
#line 55 "../src/smooth_line.vala"
_tmp14_ = target_point;
#line 55 "../src/smooth_line.vala"
live_chart_build_bezier_curve_from_points (&_tmp13_, &_tmp14_, &_tmp15_);
#line 55 "../src/smooth_line.vala"
curve = _tmp15_;
#line 57 "../src/smooth_line.vala"
_tmp16_ = curve;
#line 57 "../src/smooth_line.vala"
_tmp17_ = _tmp16_.c1;
#line 57 "../src/smooth_line.vala"
_tmp18_ = curve;
#line 57 "../src/smooth_line.vala"
_tmp19_ = _tmp18_.c1;
#line 57 "../src/smooth_line.vala"
_tmp20_ = curve;
#line 57 "../src/smooth_line.vala"
_tmp21_ = _tmp20_.c2;
#line 57 "../src/smooth_line.vala"
_tmp22_ = curve;
#line 57 "../src/smooth_line.vala"
_tmp23_ = _tmp22_.c2;
#line 57 "../src/smooth_line.vala"
_tmp24_ = curve;
#line 57 "../src/smooth_line.vala"
_tmp25_ = _tmp24_.c3;
#line 57 "../src/smooth_line.vala"
_tmp26_ = curve;
#line 57 "../src/smooth_line.vala"
_tmp27_ = _tmp26_.c3;
#line 57 "../src/smooth_line.vala"
cairo_curve_to (ctx, _tmp17_.x, _tmp19_.y, _tmp21_.x, _tmp23_.y, _tmp25_.x, _tmp27_.y);
#line 62 "../src/smooth_line.vala"
_tmp28_ = self->priv->_region;
#line 62 "../src/smooth_line.vala"
if (_tmp28_ != NULL) {
#line 364 "smooth_line.c"
LiveChartPoint _tmp29_;
LiveChartPoint _tmp30_;
LiveChartBezierCurve _tmp31_;
#line 63 "../src/smooth_line.vala"
_tmp29_ = previous_point;
#line 63 "../src/smooth_line.vala"
_tmp30_ = target_point;
#line 63 "../src/smooth_line.vala"
_tmp31_ = curve;
#line 63 "../src/smooth_line.vala"
live_chart_smooth_line_generate_intersections (self, &_tmp29_, &_tmp30_, config, &_tmp31_);
#line 376 "smooth_line.c"
}
}
}
}
#line 67 "../src/smooth_line.vala"
_tmp32_ = cairo_copy_path (ctx);
#line 67 "../src/smooth_line.vala"
result = _tmp32_;
#line 67 "../src/smooth_line.vala"
return result;
#line 387 "smooth_line.c"
}
static gpointer
_cairo_reference0 (gpointer self)
{
#line 70 "../src/smooth_line.vala"
return self ? cairo_reference (self) : NULL;
#line 395 "smooth_line.c"
}
static Block6Data*
block6_data_ref (Block6Data* _data6_)
{
#line 70 "../src/smooth_line.vala"
g_atomic_int_inc (&_data6_->_ref_count_);
#line 70 "../src/smooth_line.vala"
return _data6_;
#line 405 "smooth_line.c"
}
static void
block6_data_unref (void * _userdata_)
{
Block6Data* _data6_;
_data6_ = (Block6Data*) _userdata_;
#line 70 "../src/smooth_line.vala"
if (g_atomic_int_dec_and_test (&_data6_->_ref_count_)) {
#line 415 "smooth_line.c"
LiveChartSmoothLine* self;
#line 70 "../src/smooth_line.vala"
self = _data6_->self;
#line 70 "../src/smooth_line.vala"
_cairo_destroy0 (_data6_->ctx);
#line 70 "../src/smooth_line.vala"
_g_object_unref0 (self);
#line 70 "../src/smooth_line.vala"
g_slice_free (Block6Data, _data6_);
#line 425 "smooth_line.c"
}
}
static gboolean
__lambda13_ (Block6Data* _data6_,
LiveChartIntersection* intersection)
{
LiveChartSmoothLine* self;
gboolean result;
#line 72 "../src/smooth_line.vala"
self = _data6_->self;
#line 73 "../src/smooth_line.vala"
if (intersection != NULL) {
#line 439 "smooth_line.c"
gdouble _tmp0_;
gdouble _tmp1_;
LiveChartBoundaries _tmp2_;
LiveChartBoundary _tmp3_;
gdouble _tmp4_;
gdouble _tmp5_;
gdouble _tmp6_;
gdouble _tmp7_;
LiveChartBoundaries _tmp8_;
LiveChartRegion* _tmp9_;
LiveChartRegion* _tmp10_;
GdkRGBA _tmp11_ = {0};
GdkRGBA _tmp12_;
LiveChartRegion* _tmp13_;
LiveChartRegion* _tmp14_;
GdkRGBA _tmp15_ = {0};
GdkRGBA _tmp16_;
LiveChartRegion* _tmp17_;
LiveChartRegion* _tmp18_;
GdkRGBA _tmp19_ = {0};
GdkRGBA _tmp20_;
LiveChartRegion* _tmp21_;
LiveChartRegion* _tmp22_;
GdkRGBA _tmp23_ = {0};
GdkRGBA _tmp24_;
#line 74 "../src/smooth_line.vala"
_tmp0_ = live_chart_intersection_get_start_x (intersection);
#line 74 "../src/smooth_line.vala"
_tmp1_ = _tmp0_;
#line 74 "../src/smooth_line.vala"
_tmp2_ = _data6_->boundaries;
#line 74 "../src/smooth_line.vala"
_tmp3_ = _tmp2_.y;
#line 74 "../src/smooth_line.vala"
_tmp4_ = live_chart_intersection_get_end_x (intersection);
#line 74 "../src/smooth_line.vala"
_tmp5_ = _tmp4_;
#line 74 "../src/smooth_line.vala"
_tmp6_ = live_chart_intersection_get_start_x (intersection);
#line 74 "../src/smooth_line.vala"
_tmp7_ = _tmp6_;
#line 74 "../src/smooth_line.vala"
_tmp8_ = _data6_->boundaries;
#line 74 "../src/smooth_line.vala"
cairo_rectangle (_data6_->ctx, _tmp1_, (gdouble) _tmp3_.min, _tmp5_ - _tmp7_, (gdouble) _tmp8_.height);
#line 75 "../src/smooth_line.vala"
_tmp9_ = live_chart_intersection_get_region (intersection);
#line 75 "../src/smooth_line.vala"
_tmp10_ = _tmp9_;
#line 75 "../src/smooth_line.vala"
live_chart_region_get_line_color (_tmp10_, &_tmp11_);
#line 75 "../src/smooth_line.vala"
_tmp12_ = _tmp11_;
#line 75 "../src/smooth_line.vala"
_tmp13_ = live_chart_intersection_get_region (intersection);
#line 75 "../src/smooth_line.vala"
_tmp14_ = _tmp13_;
#line 75 "../src/smooth_line.vala"
live_chart_region_get_line_color (_tmp14_, &_tmp15_);
#line 75 "../src/smooth_line.vala"
_tmp16_ = _tmp15_;
#line 75 "../src/smooth_line.vala"
_tmp17_ = live_chart_intersection_get_region (intersection);
#line 75 "../src/smooth_line.vala"
_tmp18_ = _tmp17_;
#line 75 "../src/smooth_line.vala"
live_chart_region_get_line_color (_tmp18_, &_tmp19_);
#line 75 "../src/smooth_line.vala"
_tmp20_ = _tmp19_;
#line 75 "../src/smooth_line.vala"
_tmp21_ = live_chart_intersection_get_region (intersection);
#line 75 "../src/smooth_line.vala"
_tmp22_ = _tmp21_;
#line 75 "../src/smooth_line.vala"
live_chart_region_get_line_color (_tmp22_, &_tmp23_);
#line 75 "../src/smooth_line.vala"
_tmp24_ = _tmp23_;
#line 75 "../src/smooth_line.vala"
cairo_set_source_rgba (_data6_->ctx, _tmp12_.red, _tmp16_.green, _tmp20_.blue, _tmp24_.alpha);
#line 519 "smooth_line.c"
}
#line 77 "../src/smooth_line.vala"
result = TRUE;
#line 77 "../src/smooth_line.vala"
_g_object_unref0 (intersection);
#line 77 "../src/smooth_line.vala"
return result;
#line 527 "smooth_line.c"
}
static gboolean
___lambda13__gee_forall_func (gpointer g,
gpointer self)
{
gboolean result;
result = __lambda13_ (self, (LiveChartIntersection*) g);
#line 72 "../src/smooth_line.vala"
return result;
#line 538 "smooth_line.c"
}
void
live_chart_smooth_line_draw_regions_on_line (LiveChartSmoothLine* self,
cairo_t* ctx,
LiveChartConfig* config)
{
Block6Data* _data6_;
cairo_t* _tmp0_;
LiveChartBoundaries _tmp1_ = {0};
LiveChartIntersections* _tmp2_;
#line 70 "../src/smooth_line.vala"
g_return_if_fail (self != NULL);
#line 70 "../src/smooth_line.vala"
g_return_if_fail (ctx != NULL);
#line 70 "../src/smooth_line.vala"
g_return_if_fail (config != NULL);
#line 70 "../src/smooth_line.vala"
_data6_ = g_slice_new0 (Block6Data);
#line 70 "../src/smooth_line.vala"
_data6_->_ref_count_ = 1;
#line 70 "../src/smooth_line.vala"
_data6_->self = g_object_ref (self);
#line 70 "../src/smooth_line.vala"
_tmp0_ = _cairo_reference0 (ctx);
#line 70 "../src/smooth_line.vala"
_cairo_destroy0 (_data6_->ctx);
#line 70 "../src/smooth_line.vala"
_data6_->ctx = _tmp0_;
#line 71 "../src/smooth_line.vala"
live_chart_config_boundaries (config, &_tmp1_);
#line 71 "../src/smooth_line.vala"
_data6_->boundaries = _tmp1_;
#line 72 "../src/smooth_line.vala"
_tmp2_ = self->intersections;
#line 72 "../src/smooth_line.vala"
live_chart_intersections_foreach (_tmp2_, ___lambda13__gee_forall_func, _data6_);
#line 70 "../src/smooth_line.vala"
block6_data_unref (_data6_);
#line 70 "../src/smooth_line.vala"
_data6_ = NULL;
#line 580 "smooth_line.c"
}
static void
live_chart_smooth_line_generate_intersections (LiveChartSmoothLine* self,
LiveChartPoint* previous,
LiveChartPoint* target,
LiveChartConfig* config,
LiveChartBezierCurve* curve)
{
LiveChartRegion* _tmp0_;
LiveChartBezierIntersector* _tmp1_;
LiveChartBezierIntersector* _tmp2_;
LiveChartIntersections* _tmp3_;
LiveChartPoint _tmp4_;
LiveChartPoint _tmp5_;
LiveChartBezierCurve _tmp6_;
#line 81 "../src/smooth_line.vala"
g_return_if_fail (self != NULL);
#line 81 "../src/smooth_line.vala"
g_return_if_fail (previous != NULL);
#line 81 "../src/smooth_line.vala"
g_return_if_fail (target != NULL);
#line 81 "../src/smooth_line.vala"
g_return_if_fail (config != NULL);
#line 81 "../src/smooth_line.vala"
g_return_if_fail (curve != NULL);
#line 82 "../src/smooth_line.vala"
_tmp0_ = self->priv->_region;
#line 82 "../src/smooth_line.vala"
_tmp1_ = live_chart_bezier_intersector_new (_tmp0_, config);
#line 82 "../src/smooth_line.vala"
_tmp2_ = _tmp1_;
#line 82 "../src/smooth_line.vala"
_tmp3_ = self->intersections;
#line 82 "../src/smooth_line.vala"
_tmp4_ = *previous;
#line 82 "../src/smooth_line.vala"
_tmp5_ = *target;
#line 82 "../src/smooth_line.vala"
_tmp6_ = *curve;
#line 82 "../src/smooth_line.vala"
live_chart_intersector_intersect ((LiveChartIntersector*) _tmp2_, _tmp3_, &_tmp4_, &_tmp5_, &_tmp6_);
#line 82 "../src/smooth_line.vala"
_live_chart_bezier_intersector_unref0 (_tmp2_);
#line 625 "smooth_line.c"
}
static void
live_chart_smooth_line_update_bounding_box (LiveChartSmoothLine* self,
LiveChartPoints* points,
LiveChartConfig* config)
{
LiveChartPoint _tmp0_ = {0};
LiveChartBounds* _tmp1_;
LiveChartBounds* _tmp2_;
gdouble _tmp3_;
gdouble _tmp4_;
LiveChartPoint _tmp5_ = {0};
LiveChartPoint _tmp6_ = {0};
LiveChartBounds* _tmp7_;
LiveChartBounds* _tmp8_;
gdouble _tmp9_;
gdouble _tmp10_;
LiveChartBounds* _tmp11_;
LiveChartBounds* _tmp12_;
gdouble _tmp13_;
gdouble _tmp14_;
LiveChartBoundingBox _tmp15_ = {0};
#line 85 "../src/smooth_line.vala"
g_return_if_fail (self != NULL);
#line 85 "../src/smooth_line.vala"
g_return_if_fail (points != NULL);
#line 85 "../src/smooth_line.vala"
g_return_if_fail (config != NULL);
#line 86 "../src/smooth_line.vala"
live_chart_points_first (points, &_tmp0_);
#line 86 "../src/smooth_line.vala"
_tmp1_ = live_chart_points_get_bounds (points);
#line 86 "../src/smooth_line.vala"
_tmp2_ = _tmp1_;
#line 86 "../src/smooth_line.vala"
_tmp3_ = live_chart_bounds_get_lower (_tmp2_);
#line 86 "../src/smooth_line.vala"
_tmp4_ = _tmp3_;
#line 86 "../src/smooth_line.vala"
live_chart_points_last (points, &_tmp5_);
#line 86 "../src/smooth_line.vala"
live_chart_points_first (points, &_tmp6_);
#line 86 "../src/smooth_line.vala"
_tmp7_ = live_chart_points_get_bounds (points);
#line 86 "../src/smooth_line.vala"
_tmp8_ = _tmp7_;
#line 86 "../src/smooth_line.vala"
_tmp9_ = live_chart_bounds_get_upper (_tmp8_);
#line 86 "../src/smooth_line.vala"
_tmp10_ = _tmp9_;
#line 86 "../src/smooth_line.vala"
_tmp11_ = live_chart_points_get_bounds (points);
#line 86 "../src/smooth_line.vala"
_tmp12_ = _tmp11_;
#line 86 "../src/smooth_line.vala"
_tmp13_ = live_chart_bounds_get_lower (_tmp12_);
#line 86 "../src/smooth_line.vala"
_tmp14_ = _tmp13_;
#line 86 "../src/smooth_line.vala"
memset (&_tmp15_, 0, sizeof (LiveChartBoundingBox));
#line 86 "../src/smooth_line.vala"
_tmp15_.x = _tmp0_.x;
#line 86 "../src/smooth_line.vala"
_tmp15_.y = _tmp4_;
#line 86 "../src/smooth_line.vala"
_tmp15_.width = _tmp5_.x - _tmp6_.x;
#line 86 "../src/smooth_line.vala"
_tmp15_.height = _tmp10_ - _tmp14_;
#line 86 "../src/smooth_line.vala"
((LiveChartSerieRenderer*) self)->bounding_box = _tmp15_;
#line 697 "smooth_line.c"
}
LiveChartRegion*
live_chart_smooth_line_get_region (LiveChartSmoothLine* self)
{
LiveChartRegion* result;
LiveChartRegion* _tmp0_;
#line 6 "../src/smooth_line.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 6 "../src/smooth_line.vala"
_tmp0_ = self->priv->_region;
#line 6 "../src/smooth_line.vala"
result = _tmp0_;
#line 6 "../src/smooth_line.vala"
return result;
#line 713 "smooth_line.c"
}
static gpointer
_live_chart_region_ref0 (gpointer self)
{
#line 6 "../src/smooth_line.vala"
return self ? live_chart_region_ref (self) : NULL;
#line 721 "smooth_line.c"
}
void
live_chart_smooth_line_set_region (LiveChartSmoothLine* self,
LiveChartRegion* value)
{
LiveChartRegion* old_value;
#line 6 "../src/smooth_line.vala"
g_return_if_fail (self != NULL);
#line 6 "../src/smooth_line.vala"
old_value = live_chart_smooth_line_get_region (self);
#line 6 "../src/smooth_line.vala"
if (old_value != value) {
#line 735 "smooth_line.c"
LiveChartRegion* _tmp0_;
#line 6 "../src/smooth_line.vala"
_tmp0_ = _live_chart_region_ref0 (value);
#line 6 "../src/smooth_line.vala"
_live_chart_region_unref0 (self->priv->_region);
#line 6 "../src/smooth_line.vala"
self->priv->_region = _tmp0_;
#line 6 "../src/smooth_line.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_smooth_line_properties[LIVE_CHART_SMOOTH_LINE_REGION_PROPERTY]);
#line 745 "smooth_line.c"
}
}
static void
live_chart_smooth_line_class_init (LiveChartSmoothLineClass * klass,
gpointer klass_data)
{
#line 4 "../src/smooth_line.vala"
live_chart_smooth_line_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/smooth_line.vala"
g_type_class_adjust_private_offset (klass, &LiveChartSmoothLine_private_offset);
#line 4 "../src/smooth_line.vala"
((LiveChartSerieRendererClass *) klass)->draw = (void (*) (LiveChartSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_smooth_line_real_draw;
#line 4 "../src/smooth_line.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_smooth_line_get_property;
#line 4 "../src/smooth_line.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_smooth_line_set_property;
#line 4 "../src/smooth_line.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_smooth_line_finalize;
#line 4 "../src/smooth_line.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_SMOOTH_LINE_REGION_PROPERTY, live_chart_smooth_line_properties[LIVE_CHART_SMOOTH_LINE_REGION_PROPERTY] = live_chart_param_spec_region ("region", "region", "region", LIVE_CHART_TYPE_REGION, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 767 "smooth_line.c"
}
static void
live_chart_smooth_line_instance_init (LiveChartSmoothLine * self,
gpointer klass)
{
LiveChartIntersections* _tmp0_;
#line 4 "../src/smooth_line.vala"
self->priv = live_chart_smooth_line_get_instance_private (self);
#line 6 "../src/smooth_line.vala"
self->priv->_region = NULL;
#line 7 "../src/smooth_line.vala"
_tmp0_ = live_chart_intersections_new ();
#line 7 "../src/smooth_line.vala"
self->intersections = _tmp0_;
#line 783 "smooth_line.c"
}
static void
live_chart_smooth_line_finalize (GObject * obj)
{
LiveChartSmoothLine * self;
#line 4 "../src/smooth_line.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_SMOOTH_LINE, LiveChartSmoothLine);
#line 6 "../src/smooth_line.vala"
_live_chart_region_unref0 (self->priv->_region);
#line 7 "../src/smooth_line.vala"
_g_object_unref0 (self->intersections);
#line 4 "../src/smooth_line.vala"
G_OBJECT_CLASS (live_chart_smooth_line_parent_class)->finalize (obj);
#line 798 "smooth_line.c"
}
static GType
live_chart_smooth_line_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartSmoothLineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_smooth_line_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartSmoothLine), 0, (GInstanceInitFunc) live_chart_smooth_line_instance_init, NULL };
GType live_chart_smooth_line_type_id;
live_chart_smooth_line_type_id = g_type_register_static (LIVE_CHART_TYPE_SERIE_RENDERER, "LiveChartSmoothLine", &g_define_type_info, 0);
LiveChartSmoothLine_private_offset = g_type_add_instance_private (live_chart_smooth_line_type_id, sizeof (LiveChartSmoothLinePrivate));
return live_chart_smooth_line_type_id;
}
GType
live_chart_smooth_line_get_type (void)
{
static volatile gsize live_chart_smooth_line_type_id__once = 0;
if (g_once_init_enter (&live_chart_smooth_line_type_id__once)) {
GType live_chart_smooth_line_type_id;
live_chart_smooth_line_type_id = live_chart_smooth_line_get_type_once ();
g_once_init_leave (&live_chart_smooth_line_type_id__once, live_chart_smooth_line_type_id);
}
return live_chart_smooth_line_type_id__once;
}
static void
_vala_live_chart_smooth_line_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartSmoothLine * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_SMOOTH_LINE, LiveChartSmoothLine);
#line 4 "../src/smooth_line.vala"
switch (property_id) {
#line 4 "../src/smooth_line.vala"
case LIVE_CHART_SMOOTH_LINE_REGION_PROPERTY:
#line 4 "../src/smooth_line.vala"
live_chart_value_set_region (value, live_chart_smooth_line_get_region (self));
#line 4 "../src/smooth_line.vala"
break;
#line 839 "smooth_line.c"
default:
#line 4 "../src/smooth_line.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/smooth_line.vala"
break;
#line 845 "smooth_line.c"
}
}
static void
_vala_live_chart_smooth_line_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartSmoothLine * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_SMOOTH_LINE, LiveChartSmoothLine);
#line 4 "../src/smooth_line.vala"
switch (property_id) {
#line 4 "../src/smooth_line.vala"
case LIVE_CHART_SMOOTH_LINE_REGION_PROPERTY:
#line 4 "../src/smooth_line.vala"
live_chart_smooth_line_set_region (self, live_chart_value_get_region (value));
#line 4 "../src/smooth_line.vala"
break;
#line 865 "smooth_line.c"
default:
#line 4 "../src/smooth_line.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/smooth_line.vala"
break;
#line 871 "smooth_line.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,564 @@
/* smooth_line_area.c generated by valac 0.56.0, the Vala compiler
* generated from smooth_line_area.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <float.h>
#include <math.h>
#include <cairo-gobject.h>
#include <gdk/gdk.h>
#include <string.h>
enum {
LIVE_CHART_SMOOTH_LINE_AREA_0_PROPERTY,
LIVE_CHART_SMOOTH_LINE_AREA_AREA_ALPHA_PROPERTY,
LIVE_CHART_SMOOTH_LINE_AREA_NUM_PROPERTIES
};
static GParamSpec* live_chart_smooth_line_area_properties[LIVE_CHART_SMOOTH_LINE_AREA_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _cairo_path_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_path_destroy (var), NULL)))
#define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL)))
typedef struct _Block5Data Block5Data;
struct _LiveChartSmoothLineAreaPrivate {
gdouble _area_alpha;
};
struct _Block5Data {
int _ref_count_;
LiveChartSmoothLineArea* self;
LiveChartBoundaries boundaries;
cairo_t* ctx;
};
static gint LiveChartSmoothLineArea_private_offset;
static gpointer live_chart_smooth_line_area_parent_class = NULL;
static void live_chart_smooth_line_area_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config);
static Block5Data* block5_data_ref (Block5Data* _data5_);
static void block5_data_unref (void * _userdata_);
static gboolean __lambda14_ (Block5Data* _data5_,
LiveChartIntersection* intersection);
static gboolean ___lambda14__gee_forall_func (gpointer g,
gpointer self);
static void live_chart_smooth_line_area_finalize (GObject * obj);
static GType live_chart_smooth_line_area_get_type_once (void);
static void _vala_live_chart_smooth_line_area_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_smooth_line_area_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_smooth_line_area_get_instance_private (LiveChartSmoothLineArea* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartSmoothLineArea_private_offset);
}
LiveChartSmoothLineArea*
live_chart_smooth_line_area_construct (GType object_type,
LiveChartValues* values)
{
LiveChartSmoothLineArea * self = NULL;
#line 8 "../src/smooth_line_area.vala"
g_return_val_if_fail (values != NULL, NULL);
#line 9 "../src/smooth_line_area.vala"
self = (LiveChartSmoothLineArea*) live_chart_smooth_line_construct (object_type, values);
#line 8 "../src/smooth_line_area.vala"
return self;
#line 77 "smooth_line_area.c"
}
LiveChartSmoothLineArea*
live_chart_smooth_line_area_new (LiveChartValues* values)
{
#line 8 "../src/smooth_line_area.vala"
return live_chart_smooth_line_area_construct (LIVE_CHART_TYPE_SMOOTH_LINE_AREA, values);
#line 85 "smooth_line_area.c"
}
static void
live_chart_smooth_line_area_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartSmoothLineArea * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 11 "../src/smooth_line_area.vala"
self = (LiveChartSmoothLineArea*) base;
#line 11 "../src/smooth_line_area.vala"
g_return_if_fail (ctx != NULL);
#line 11 "../src/smooth_line_area.vala"
g_return_if_fail (config != NULL);
#line 12 "../src/smooth_line_area.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 12 "../src/smooth_line_area.vala"
_tmp1_ = _tmp0_;
#line 12 "../src/smooth_line_area.vala"
if (_tmp1_) {
#line 108 "smooth_line_area.c"
LiveChartPoints* points = NULL;
LiveChartValues* _tmp2_;
LiveChartPoints* _tmp3_;
LiveChartPoints* _tmp4_;
gint _tmp5_;
gint _tmp6_;
#line 13 "../src/smooth_line_area.vala"
_tmp2_ = ((LiveChartSerieRenderer*) self)->values;
#line 13 "../src/smooth_line_area.vala"
_tmp3_ = live_chart_points_create (_tmp2_, config);
#line 13 "../src/smooth_line_area.vala"
points = _tmp3_;
#line 14 "../src/smooth_line_area.vala"
_tmp4_ = points;
#line 14 "../src/smooth_line_area.vala"
_tmp5_ = live_chart_points_get_size (_tmp4_);
#line 14 "../src/smooth_line_area.vala"
_tmp6_ = _tmp5_;
#line 14 "../src/smooth_line_area.vala"
if (_tmp6_ > 0) {
#line 129 "smooth_line_area.c"
cairo_path_t* path = NULL;
LiveChartPoints* _tmp7_;
cairo_path_t* _tmp8_;
LiveChartArea* area = NULL;
LiveChartPoints* _tmp9_;
GdkRGBA _tmp10_ = {0};
GdkRGBA _tmp11_;
gdouble _tmp12_;
LiveChartArea* _tmp13_;
LiveChartArea* _tmp14_;
cairo_path_t* _tmp15_;
LiveChartArea* _tmp16_;
#line 16 "../src/smooth_line_area.vala"
cairo_push_group (ctx);
#line 17 "../src/smooth_line_area.vala"
_tmp7_ = points;
#line 17 "../src/smooth_line_area.vala"
_tmp8_ = live_chart_smooth_line_draw_smooth_line ((LiveChartSmoothLine*) self, _tmp7_, ctx, config);
#line 17 "../src/smooth_line_area.vala"
path = _tmp8_;
#line 18 "../src/smooth_line_area.vala"
cairo_stroke_preserve (ctx);
#line 20 "../src/smooth_line_area.vala"
_tmp9_ = points;
#line 20 "../src/smooth_line_area.vala"
live_chart_serie_renderer_get_main_color ((LiveChartSerieRenderer*) self, &_tmp10_);
#line 20 "../src/smooth_line_area.vala"
_tmp11_ = _tmp10_;
#line 20 "../src/smooth_line_area.vala"
_tmp12_ = self->priv->_area_alpha;
#line 20 "../src/smooth_line_area.vala"
_tmp13_ = live_chart_area_new (_tmp9_, &_tmp11_, _tmp12_);
#line 20 "../src/smooth_line_area.vala"
area = _tmp13_;
#line 21 "../src/smooth_line_area.vala"
_tmp14_ = area;
#line 21 "../src/smooth_line_area.vala"
live_chart_drawable_draw ((LiveChartDrawable*) _tmp14_, ctx, config);
#line 22 "../src/smooth_line_area.vala"
cairo_fill (ctx);
#line 24 "../src/smooth_line_area.vala"
cairo_set_operator (ctx, CAIRO_OPERATOR_ATOP);
#line 25 "../src/smooth_line_area.vala"
live_chart_smooth_line_draw_regions_on_line ((LiveChartSmoothLine*) self, ctx, config);
#line 26 "../src/smooth_line_area.vala"
cairo_fill (ctx);
#line 27 "../src/smooth_line_area.vala"
cairo_pop_group_to_source (ctx);
#line 29 "../src/smooth_line_area.vala"
cairo_save (ctx);
#line 30 "../src/smooth_line_area.vala"
_tmp15_ = path;
#line 30 "../src/smooth_line_area.vala"
cairo_append_path (ctx, _tmp15_);
#line 31 "../src/smooth_line_area.vala"
_tmp16_ = area;
#line 31 "../src/smooth_line_area.vala"
live_chart_drawable_draw ((LiveChartDrawable*) _tmp16_, ctx, config);
#line 32 "../src/smooth_line_area.vala"
cairo_clip (ctx);
#line 34 "../src/smooth_line_area.vala"
live_chart_smooth_line_area_draw_regions_on_area (self, ctx, config);
#line 35 "../src/smooth_line_area.vala"
cairo_restore (ctx);
#line 36 "../src/smooth_line_area.vala"
cairo_paint (ctx);
#line 14 "../src/smooth_line_area.vala"
_g_object_unref0 (area);
#line 14 "../src/smooth_line_area.vala"
_cairo_path_destroy0 (path);
#line 200 "smooth_line_area.c"
}
#line 12 "../src/smooth_line_area.vala"
_g_object_unref0 (points);
#line 204 "smooth_line_area.c"
}
}
static gpointer
_cairo_reference0 (gpointer self)
{
#line 42 "../src/smooth_line_area.vala"
return self ? cairo_reference (self) : NULL;
#line 213 "smooth_line_area.c"
}
static Block5Data*
block5_data_ref (Block5Data* _data5_)
{
#line 42 "../src/smooth_line_area.vala"
g_atomic_int_inc (&_data5_->_ref_count_);
#line 42 "../src/smooth_line_area.vala"
return _data5_;
#line 223 "smooth_line_area.c"
}
static void
block5_data_unref (void * _userdata_)
{
Block5Data* _data5_;
_data5_ = (Block5Data*) _userdata_;
#line 42 "../src/smooth_line_area.vala"
if (g_atomic_int_dec_and_test (&_data5_->_ref_count_)) {
#line 233 "smooth_line_area.c"
LiveChartSmoothLineArea* self;
#line 42 "../src/smooth_line_area.vala"
self = _data5_->self;
#line 42 "../src/smooth_line_area.vala"
_cairo_destroy0 (_data5_->ctx);
#line 42 "../src/smooth_line_area.vala"
_g_object_unref0 (self);
#line 42 "../src/smooth_line_area.vala"
g_slice_free (Block5Data, _data5_);
#line 243 "smooth_line_area.c"
}
}
static gboolean
__lambda14_ (Block5Data* _data5_,
LiveChartIntersection* intersection)
{
LiveChartSmoothLineArea* self;
gboolean result;
#line 44 "../src/smooth_line_area.vala"
self = _data5_->self;
#line 45 "../src/smooth_line_area.vala"
if (intersection != NULL) {
#line 257 "smooth_line_area.c"
gdouble _tmp0_;
gdouble _tmp1_;
LiveChartBoundaries _tmp2_;
LiveChartBoundary _tmp3_;
gdouble _tmp4_;
gdouble _tmp5_;
gdouble _tmp6_;
gdouble _tmp7_;
LiveChartBoundaries _tmp8_;
LiveChartRegion* _tmp9_;
LiveChartRegion* _tmp10_;
GdkRGBA _tmp11_ = {0};
GdkRGBA _tmp12_;
LiveChartRegion* _tmp13_;
LiveChartRegion* _tmp14_;
GdkRGBA _tmp15_ = {0};
GdkRGBA _tmp16_;
LiveChartRegion* _tmp17_;
LiveChartRegion* _tmp18_;
GdkRGBA _tmp19_ = {0};
GdkRGBA _tmp20_;
LiveChartRegion* _tmp21_;
LiveChartRegion* _tmp22_;
GdkRGBA _tmp23_ = {0};
GdkRGBA _tmp24_;
#line 46 "../src/smooth_line_area.vala"
_tmp0_ = live_chart_intersection_get_start_x (intersection);
#line 46 "../src/smooth_line_area.vala"
_tmp1_ = _tmp0_;
#line 46 "../src/smooth_line_area.vala"
_tmp2_ = _data5_->boundaries;
#line 46 "../src/smooth_line_area.vala"
_tmp3_ = _tmp2_.y;
#line 46 "../src/smooth_line_area.vala"
_tmp4_ = live_chart_intersection_get_end_x (intersection);
#line 46 "../src/smooth_line_area.vala"
_tmp5_ = _tmp4_;
#line 46 "../src/smooth_line_area.vala"
_tmp6_ = live_chart_intersection_get_start_x (intersection);
#line 46 "../src/smooth_line_area.vala"
_tmp7_ = _tmp6_;
#line 46 "../src/smooth_line_area.vala"
_tmp8_ = _data5_->boundaries;
#line 46 "../src/smooth_line_area.vala"
cairo_rectangle (_data5_->ctx, _tmp1_, (gdouble) _tmp3_.min, _tmp5_ - _tmp7_, (gdouble) _tmp8_.height);
#line 47 "../src/smooth_line_area.vala"
_tmp9_ = live_chart_intersection_get_region (intersection);
#line 47 "../src/smooth_line_area.vala"
_tmp10_ = _tmp9_;
#line 47 "../src/smooth_line_area.vala"
live_chart_region_get_area_color (_tmp10_, &_tmp11_);
#line 47 "../src/smooth_line_area.vala"
_tmp12_ = _tmp11_;
#line 47 "../src/smooth_line_area.vala"
_tmp13_ = live_chart_intersection_get_region (intersection);
#line 47 "../src/smooth_line_area.vala"
_tmp14_ = _tmp13_;
#line 47 "../src/smooth_line_area.vala"
live_chart_region_get_area_color (_tmp14_, &_tmp15_);
#line 47 "../src/smooth_line_area.vala"
_tmp16_ = _tmp15_;
#line 47 "../src/smooth_line_area.vala"
_tmp17_ = live_chart_intersection_get_region (intersection);
#line 47 "../src/smooth_line_area.vala"
_tmp18_ = _tmp17_;
#line 47 "../src/smooth_line_area.vala"
live_chart_region_get_area_color (_tmp18_, &_tmp19_);
#line 47 "../src/smooth_line_area.vala"
_tmp20_ = _tmp19_;
#line 47 "../src/smooth_line_area.vala"
_tmp21_ = live_chart_intersection_get_region (intersection);
#line 47 "../src/smooth_line_area.vala"
_tmp22_ = _tmp21_;
#line 47 "../src/smooth_line_area.vala"
live_chart_region_get_area_color (_tmp22_, &_tmp23_);
#line 47 "../src/smooth_line_area.vala"
_tmp24_ = _tmp23_;
#line 47 "../src/smooth_line_area.vala"
cairo_set_source_rgba (_data5_->ctx, _tmp12_.red, _tmp16_.green, _tmp20_.blue, _tmp24_.alpha);
#line 48 "../src/smooth_line_area.vala"
cairo_fill (_data5_->ctx);
#line 339 "smooth_line_area.c"
}
#line 50 "../src/smooth_line_area.vala"
result = TRUE;
#line 50 "../src/smooth_line_area.vala"
_g_object_unref0 (intersection);
#line 50 "../src/smooth_line_area.vala"
return result;
#line 347 "smooth_line_area.c"
}
static gboolean
___lambda14__gee_forall_func (gpointer g,
gpointer self)
{
gboolean result;
result = __lambda14_ (self, (LiveChartIntersection*) g);
#line 44 "../src/smooth_line_area.vala"
return result;
#line 358 "smooth_line_area.c"
}
void
live_chart_smooth_line_area_draw_regions_on_area (LiveChartSmoothLineArea* self,
cairo_t* ctx,
LiveChartConfig* config)
{
Block5Data* _data5_;
cairo_t* _tmp0_;
LiveChartBoundaries _tmp1_ = {0};
LiveChartIntersections* _tmp2_;
#line 42 "../src/smooth_line_area.vala"
g_return_if_fail (self != NULL);
#line 42 "../src/smooth_line_area.vala"
g_return_if_fail (ctx != NULL);
#line 42 "../src/smooth_line_area.vala"
g_return_if_fail (config != NULL);
#line 42 "../src/smooth_line_area.vala"
_data5_ = g_slice_new0 (Block5Data);
#line 42 "../src/smooth_line_area.vala"
_data5_->_ref_count_ = 1;
#line 42 "../src/smooth_line_area.vala"
_data5_->self = g_object_ref (self);
#line 42 "../src/smooth_line_area.vala"
_tmp0_ = _cairo_reference0 (ctx);
#line 42 "../src/smooth_line_area.vala"
_cairo_destroy0 (_data5_->ctx);
#line 42 "../src/smooth_line_area.vala"
_data5_->ctx = _tmp0_;
#line 43 "../src/smooth_line_area.vala"
live_chart_config_boundaries (config, &_tmp1_);
#line 43 "../src/smooth_line_area.vala"
_data5_->boundaries = _tmp1_;
#line 44 "../src/smooth_line_area.vala"
_tmp2_ = ((LiveChartSmoothLine*) self)->intersections;
#line 44 "../src/smooth_line_area.vala"
live_chart_intersections_foreach (_tmp2_, ___lambda14__gee_forall_func, _data5_);
#line 42 "../src/smooth_line_area.vala"
block5_data_unref (_data5_);
#line 42 "../src/smooth_line_area.vala"
_data5_ = NULL;
#line 400 "smooth_line_area.c"
}
gdouble
live_chart_smooth_line_area_get_area_alpha (LiveChartSmoothLineArea* self)
{
gdouble result;
#line 6 "../src/smooth_line_area.vala"
g_return_val_if_fail (self != NULL, 0.0);
#line 6 "../src/smooth_line_area.vala"
result = self->priv->_area_alpha;
#line 6 "../src/smooth_line_area.vala"
return result;
#line 413 "smooth_line_area.c"
}
void
live_chart_smooth_line_area_set_area_alpha (LiveChartSmoothLineArea* self,
gdouble value)
{
gdouble old_value;
#line 6 "../src/smooth_line_area.vala"
g_return_if_fail (self != NULL);
#line 6 "../src/smooth_line_area.vala"
old_value = live_chart_smooth_line_area_get_area_alpha (self);
#line 6 "../src/smooth_line_area.vala"
if (old_value != value) {
#line 6 "../src/smooth_line_area.vala"
self->priv->_area_alpha = value;
#line 6 "../src/smooth_line_area.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_smooth_line_area_properties[LIVE_CHART_SMOOTH_LINE_AREA_AREA_ALPHA_PROPERTY]);
#line 431 "smooth_line_area.c"
}
}
static void
live_chart_smooth_line_area_class_init (LiveChartSmoothLineAreaClass * klass,
gpointer klass_data)
{
#line 4 "../src/smooth_line_area.vala"
live_chart_smooth_line_area_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/smooth_line_area.vala"
g_type_class_adjust_private_offset (klass, &LiveChartSmoothLineArea_private_offset);
#line 4 "../src/smooth_line_area.vala"
((LiveChartSerieRendererClass *) klass)->draw = (void (*) (LiveChartSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_smooth_line_area_real_draw;
#line 4 "../src/smooth_line_area.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_smooth_line_area_get_property;
#line 4 "../src/smooth_line_area.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_smooth_line_area_set_property;
#line 4 "../src/smooth_line_area.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_smooth_line_area_finalize;
#line 4 "../src/smooth_line_area.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_SMOOTH_LINE_AREA_AREA_ALPHA_PROPERTY, live_chart_smooth_line_area_properties[LIVE_CHART_SMOOTH_LINE_AREA_AREA_ALPHA_PROPERTY] = g_param_spec_double ("area-alpha", "area-alpha", "area-alpha", -G_MAXDOUBLE, G_MAXDOUBLE, 0.1, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 453 "smooth_line_area.c"
}
static void
live_chart_smooth_line_area_instance_init (LiveChartSmoothLineArea * self,
gpointer klass)
{
#line 4 "../src/smooth_line_area.vala"
self->priv = live_chart_smooth_line_area_get_instance_private (self);
#line 6 "../src/smooth_line_area.vala"
self->priv->_area_alpha = 0.1;
#line 464 "smooth_line_area.c"
}
static void
live_chart_smooth_line_area_finalize (GObject * obj)
{
LiveChartSmoothLineArea * self;
#line 4 "../src/smooth_line_area.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_SMOOTH_LINE_AREA, LiveChartSmoothLineArea);
#line 4 "../src/smooth_line_area.vala"
G_OBJECT_CLASS (live_chart_smooth_line_area_parent_class)->finalize (obj);
#line 475 "smooth_line_area.c"
}
static GType
live_chart_smooth_line_area_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartSmoothLineAreaClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_smooth_line_area_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartSmoothLineArea), 0, (GInstanceInitFunc) live_chart_smooth_line_area_instance_init, NULL };
GType live_chart_smooth_line_area_type_id;
live_chart_smooth_line_area_type_id = g_type_register_static (LIVE_CHART_TYPE_SMOOTH_LINE, "LiveChartSmoothLineArea", &g_define_type_info, 0);
LiveChartSmoothLineArea_private_offset = g_type_add_instance_private (live_chart_smooth_line_area_type_id, sizeof (LiveChartSmoothLineAreaPrivate));
return live_chart_smooth_line_area_type_id;
}
GType
live_chart_smooth_line_area_get_type (void)
{
static volatile gsize live_chart_smooth_line_area_type_id__once = 0;
if (g_once_init_enter (&live_chart_smooth_line_area_type_id__once)) {
GType live_chart_smooth_line_area_type_id;
live_chart_smooth_line_area_type_id = live_chart_smooth_line_area_get_type_once ();
g_once_init_leave (&live_chart_smooth_line_area_type_id__once, live_chart_smooth_line_area_type_id);
}
return live_chart_smooth_line_area_type_id__once;
}
static void
_vala_live_chart_smooth_line_area_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartSmoothLineArea * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_SMOOTH_LINE_AREA, LiveChartSmoothLineArea);
#line 4 "../src/smooth_line_area.vala"
switch (property_id) {
#line 4 "../src/smooth_line_area.vala"
case LIVE_CHART_SMOOTH_LINE_AREA_AREA_ALPHA_PROPERTY:
#line 4 "../src/smooth_line_area.vala"
g_value_set_double (value, live_chart_smooth_line_area_get_area_alpha (self));
#line 4 "../src/smooth_line_area.vala"
break;
#line 516 "smooth_line_area.c"
default:
#line 4 "../src/smooth_line_area.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/smooth_line_area.vala"
break;
#line 522 "smooth_line_area.c"
}
}
static void
_vala_live_chart_smooth_line_area_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartSmoothLineArea * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_SMOOTH_LINE_AREA, LiveChartSmoothLineArea);
#line 4 "../src/smooth_line_area.vala"
switch (property_id) {
#line 4 "../src/smooth_line_area.vala"
case LIVE_CHART_SMOOTH_LINE_AREA_AREA_ALPHA_PROPERTY:
#line 4 "../src/smooth_line_area.vala"
live_chart_smooth_line_area_set_area_alpha (self, g_value_get_double (value));
#line 4 "../src/smooth_line_area.vala"
break;
#line 542 "smooth_line_area.c"
default:
#line 4 "../src/smooth_line_area.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/smooth_line_area.vala"
break;
#line 548 "smooth_line_area.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,672 @@
/* static_chart.c generated by valac 0.56.0, the Vala compiler
* generated from static_chart.vala, do not modify */
#include "livechart.h"
#include <gee.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gtk/gtk.h>
#include <cairo-gobject.h>
#include <float.h>
#include <math.h>
enum {
LIVE_CHART_STATIC_STATIC_CHART_0_PROPERTY,
LIVE_CHART_STATIC_STATIC_CHART_GRID_PROPERTY,
LIVE_CHART_STATIC_STATIC_CHART_BACKGROUND_PROPERTY,
LIVE_CHART_STATIC_STATIC_CHART_LEGEND_PROPERTY,
LIVE_CHART_STATIC_STATIC_CHART_NUM_PROPERTIES
};
static GParamSpec* live_chart_static_static_chart_properties[LIVE_CHART_STATIC_STATIC_CHART_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _live_chart_config_unref0(var) ((var == NULL) ? NULL : (var = (live_chart_config_unref (var), NULL)))
struct _LiveChartStaticStaticChartPrivate {
LiveChartStaticStaticGrid* _grid;
LiveChartBackground* _background;
LiveChartLegend* _legend;
GeeArrayList* categories;
};
static gint LiveChartStaticStaticChart_private_offset;
static gpointer live_chart_static_static_chart_parent_class = NULL;
static void __lambda16_ (LiveChartStaticStaticChart* self,
GtkAllocation* allocation);
static void ___lambda16__gtk_widget_size_allocate (GtkWidget* _sender,
GtkAllocation* allocation,
gpointer self);
static gboolean live_chart_static_static_chart_render (LiveChartStaticStaticChart* self,
GtkWidget* _,
cairo_t* ctx);
static gboolean _live_chart_static_static_chart_render_gtk_widget_draw (GtkWidget* _sender,
cairo_t* cr,
gpointer self);
static void live_chart_static_static_chart_finalize (GObject * obj);
static GType live_chart_static_static_chart_get_type_once (void);
static void _vala_live_chart_static_static_chart_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_static_static_chart_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_static_static_chart_get_instance_private (LiveChartStaticStaticChart* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartStaticStaticChart_private_offset);
}
static gpointer
_live_chart_config_ref0 (gpointer self)
{
#line 17 "../src/static/static_chart.vala"
return self ? live_chart_config_ref (self) : NULL;
#line 72 "static_chart.c"
}
static void
__lambda16_ (LiveChartStaticStaticChart* self,
GtkAllocation* allocation)
{
LiveChartConfig* _tmp0_;
GtkAllocation _tmp1_;
LiveChartConfig* _tmp2_;
GtkAllocation _tmp3_;
#line 18 "../src/static/static_chart.vala"
g_return_if_fail (allocation != NULL);
#line 19 "../src/static/static_chart.vala"
_tmp0_ = self->config;
#line 19 "../src/static/static_chart.vala"
_tmp1_ = *allocation;
#line 19 "../src/static/static_chart.vala"
live_chart_config_set_height (_tmp0_, _tmp1_.height);
#line 20 "../src/static/static_chart.vala"
_tmp2_ = self->config;
#line 20 "../src/static/static_chart.vala"
_tmp3_ = *allocation;
#line 20 "../src/static/static_chart.vala"
live_chart_config_set_width (_tmp2_, _tmp3_.width);
#line 97 "static_chart.c"
}
static void
___lambda16__gtk_widget_size_allocate (GtkWidget* _sender,
GtkAllocation* allocation,
gpointer self)
{
#line 18 "../src/static/static_chart.vala"
__lambda16_ ((LiveChartStaticStaticChart*) self, allocation);
#line 107 "static_chart.c"
}
static gboolean
_live_chart_static_static_chart_render_gtk_widget_draw (GtkWidget* _sender,
cairo_t* cr,
gpointer self)
{
gboolean result;
result = live_chart_static_static_chart_render ((LiveChartStaticStaticChart*) self, _sender, cr);
#line 23 "../src/static/static_chart.vala"
return result;
#line 119 "static_chart.c"
}
LiveChartStaticStaticChart*
live_chart_static_static_chart_construct (GType object_type,
LiveChartConfig* config)
{
LiveChartStaticStaticChart * self = NULL;
LiveChartConfig* _tmp0_;
LiveChartStaticStaticSeries* _tmp1_;
#line 16 "../src/static/static_chart.vala"
g_return_val_if_fail (config != NULL, NULL);
#line 16 "../src/static/static_chart.vala"
self = (LiveChartStaticStaticChart*) g_object_new (object_type, NULL);
#line 17 "../src/static/static_chart.vala"
_tmp0_ = _live_chart_config_ref0 (config);
#line 17 "../src/static/static_chart.vala"
_live_chart_config_unref0 (self->config);
#line 17 "../src/static/static_chart.vala"
self->config = _tmp0_;
#line 18 "../src/static/static_chart.vala"
g_signal_connect_object ((GtkWidget*) self, "size-allocate", (GCallback) ___lambda16__gtk_widget_size_allocate, self, 0);
#line 23 "../src/static/static_chart.vala"
g_signal_connect_object ((GtkWidget*) self, "draw", (GCallback) _live_chart_static_static_chart_render_gtk_widget_draw, self, 0);
#line 25 "../src/static/static_chart.vala"
_tmp1_ = live_chart_static_static_series_new (self);
#line 25 "../src/static/static_chart.vala"
_g_object_unref0 (self->series);
#line 25 "../src/static/static_chart.vala"
self->series = _tmp1_;
#line 16 "../src/static/static_chart.vala"
return self;
#line 151 "static_chart.c"
}
LiveChartStaticStaticChart*
live_chart_static_static_chart_new (LiveChartConfig* config)
{
#line 16 "../src/static/static_chart.vala"
return live_chart_static_static_chart_construct (LIVE_CHART_STATIC_TYPE_STATIC_CHART, config);
#line 159 "static_chart.c"
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 29 "../src/static/static_chart.vala"
return self ? g_object_ref (self) : NULL;
#line 167 "static_chart.c"
}
void
live_chart_static_static_chart_set_categories (LiveChartStaticStaticChart* self,
GeeArrayList* categories)
{
GeeArrayList* _tmp0_;
LiveChartConfig* _tmp1_;
GeeArrayList* _tmp2_;
#line 28 "../src/static/static_chart.vala"
g_return_if_fail (self != NULL);
#line 28 "../src/static/static_chart.vala"
g_return_if_fail (categories != NULL);
#line 29 "../src/static/static_chart.vala"
_tmp0_ = _g_object_ref0 (categories);
#line 29 "../src/static/static_chart.vala"
_g_object_unref0 (self->priv->categories);
#line 29 "../src/static/static_chart.vala"
self->priv->categories = _tmp0_;
#line 30 "../src/static/static_chart.vala"
_tmp1_ = self->config;
#line 30 "../src/static/static_chart.vala"
_tmp2_ = _g_object_ref0 (categories);
#line 30 "../src/static/static_chart.vala"
_g_object_unref0 (_tmp1_->categories);
#line 30 "../src/static/static_chart.vala"
_tmp1_->categories = _tmp2_;
#line 195 "static_chart.c"
}
void
live_chart_static_static_chart_add_serie (LiveChartStaticStaticChart* self,
LiveChartStaticStaticSerie* serie)
{
LiveChartStaticStaticSeries* _tmp0_;
LiveChartStaticStaticSerie* _tmp1_;
LiveChartStaticStaticSerie* _tmp2_;
#line 33 "../src/static/static_chart.vala"
g_return_if_fail (self != NULL);
#line 33 "../src/static/static_chart.vala"
g_return_if_fail (serie != NULL);
#line 34 "../src/static/static_chart.vala"
_tmp0_ = self->series;
#line 34 "../src/static/static_chart.vala"
_tmp1_ = live_chart_static_static_series_register (_tmp0_, serie);
#line 34 "../src/static/static_chart.vala"
_tmp2_ = _tmp1_;
#line 34 "../src/static/static_chart.vala"
_g_object_unref0 (_tmp2_);
#line 217 "static_chart.c"
}
static gboolean
live_chart_static_static_chart_render (LiveChartStaticStaticChart* self,
GtkWidget* _,
cairo_t* ctx)
{
LiveChartConfig* _tmp0_;
LiveChartLegend* _tmp1_;
LiveChartBackground* _tmp2_;
LiveChartConfig* _tmp3_;
LiveChartStaticStaticGrid* _tmp4_;
LiveChartConfig* _tmp5_;
LiveChartLegend* _tmp6_;
LiveChartBoundaries boundaries = {0};
LiveChartConfig* _tmp9_;
LiveChartBoundaries _tmp10_ = {0};
gboolean result;
#line 38 "../src/static/static_chart.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 38 "../src/static/static_chart.vala"
g_return_val_if_fail (_ != NULL, FALSE);
#line 38 "../src/static/static_chart.vala"
g_return_val_if_fail (ctx != NULL, FALSE);
#line 40 "../src/static/static_chart.vala"
_tmp0_ = self->config;
#line 40 "../src/static/static_chart.vala"
_tmp1_ = self->priv->_legend;
#line 40 "../src/static/static_chart.vala"
live_chart_config_configure (_tmp0_, ctx, _tmp1_);
#line 42 "../src/static/static_chart.vala"
_tmp2_ = self->priv->_background;
#line 42 "../src/static/static_chart.vala"
_tmp3_ = self->config;
#line 42 "../src/static/static_chart.vala"
live_chart_drawable_draw ((LiveChartDrawable*) _tmp2_, ctx, _tmp3_);
#line 43 "../src/static/static_chart.vala"
_tmp4_ = self->priv->_grid;
#line 43 "../src/static/static_chart.vala"
_tmp5_ = self->config;
#line 43 "../src/static/static_chart.vala"
live_chart_drawable_draw ((LiveChartDrawable*) _tmp4_, ctx, _tmp5_);
#line 44 "../src/static/static_chart.vala"
_tmp6_ = self->priv->_legend;
#line 44 "../src/static/static_chart.vala"
if (_tmp6_ != NULL) {
#line 264 "static_chart.c"
LiveChartLegend* _tmp7_;
LiveChartConfig* _tmp8_;
#line 44 "../src/static/static_chart.vala"
_tmp7_ = self->priv->_legend;
#line 44 "../src/static/static_chart.vala"
_tmp8_ = self->config;
#line 44 "../src/static/static_chart.vala"
live_chart_legend_draw (_tmp7_, ctx, _tmp8_);
#line 273 "static_chart.c"
}
#line 46 "../src/static/static_chart.vala"
_tmp9_ = self->config;
#line 46 "../src/static/static_chart.vala"
live_chart_config_boundaries (_tmp9_, &_tmp10_);
#line 46 "../src/static/static_chart.vala"
boundaries = _tmp10_;
#line 281 "static_chart.c"
{
GeeIterator* _serie_it = NULL;
LiveChartStaticStaticSeries* _tmp11_;
GeeIterator* _tmp12_;
#line 47 "../src/static/static_chart.vala"
_tmp11_ = self->series;
#line 47 "../src/static/static_chart.vala"
_tmp12_ = live_chart_static_static_series_iterator (_tmp11_);
#line 47 "../src/static/static_chart.vala"
_serie_it = _tmp12_;
#line 47 "../src/static/static_chart.vala"
while (TRUE) {
#line 294 "static_chart.c"
GeeIterator* _tmp13_;
LiveChartDrawable* serie = NULL;
GeeIterator* _tmp14_;
gpointer _tmp15_;
LiveChartBoundaries _tmp16_;
LiveChartBoundary _tmp17_;
LiveChartBoundaries _tmp18_;
LiveChartBoundary _tmp19_;
LiveChartBoundaries _tmp20_;
LiveChartBoundary _tmp21_;
LiveChartBoundaries _tmp22_;
LiveChartBoundary _tmp23_;
LiveChartDrawable* _tmp24_;
LiveChartConfig* _tmp25_;
#line 47 "../src/static/static_chart.vala"
_tmp13_ = _serie_it;
#line 47 "../src/static/static_chart.vala"
if (!gee_iterator_next (_tmp13_)) {
#line 47 "../src/static/static_chart.vala"
break;
#line 315 "static_chart.c"
}
#line 47 "../src/static/static_chart.vala"
_tmp14_ = _serie_it;
#line 47 "../src/static/static_chart.vala"
_tmp15_ = gee_iterator_get (_tmp14_);
#line 47 "../src/static/static_chart.vala"
serie = (LiveChartDrawable*) ((LiveChartStaticStaticSerie*) _tmp15_);
#line 48 "../src/static/static_chart.vala"
_tmp16_ = boundaries;
#line 48 "../src/static/static_chart.vala"
_tmp17_ = _tmp16_.x;
#line 48 "../src/static/static_chart.vala"
_tmp18_ = boundaries;
#line 48 "../src/static/static_chart.vala"
_tmp19_ = _tmp18_.y;
#line 48 "../src/static/static_chart.vala"
_tmp20_ = boundaries;
#line 48 "../src/static/static_chart.vala"
_tmp21_ = _tmp20_.x;
#line 48 "../src/static/static_chart.vala"
_tmp22_ = boundaries;
#line 48 "../src/static/static_chart.vala"
_tmp23_ = _tmp22_.y;
#line 48 "../src/static/static_chart.vala"
cairo_rectangle (ctx, (gdouble) _tmp17_.min, (gdouble) _tmp19_.min, (gdouble) _tmp21_.max, (gdouble) _tmp23_.max);
#line 49 "../src/static/static_chart.vala"
cairo_clip (ctx);
#line 50 "../src/static/static_chart.vala"
_tmp24_ = serie;
#line 50 "../src/static/static_chart.vala"
_tmp25_ = self->config;
#line 50 "../src/static/static_chart.vala"
live_chart_drawable_draw (_tmp24_, ctx, _tmp25_);
#line 47 "../src/static/static_chart.vala"
_g_object_unref0 (serie);
#line 351 "static_chart.c"
}
#line 47 "../src/static/static_chart.vala"
_g_object_unref0 (_serie_it);
#line 355 "static_chart.c"
}
#line 53 "../src/static/static_chart.vala"
result = TRUE;
#line 53 "../src/static/static_chart.vala"
return result;
#line 361 "static_chart.c"
}
LiveChartStaticStaticGrid*
live_chart_static_static_chart_get_grid (LiveChartStaticStaticChart* self)
{
LiveChartStaticStaticGrid* result;
LiveChartStaticStaticGrid* _tmp0_;
#line 8 "../src/static/static_chart.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 8 "../src/static/static_chart.vala"
_tmp0_ = self->priv->_grid;
#line 8 "../src/static/static_chart.vala"
result = _tmp0_;
#line 8 "../src/static/static_chart.vala"
return result;
#line 377 "static_chart.c"
}
void
live_chart_static_static_chart_set_grid (LiveChartStaticStaticChart* self,
LiveChartStaticStaticGrid* value)
{
LiveChartStaticStaticGrid* old_value;
#line 8 "../src/static/static_chart.vala"
g_return_if_fail (self != NULL);
#line 8 "../src/static/static_chart.vala"
old_value = live_chart_static_static_chart_get_grid (self);
#line 8 "../src/static/static_chart.vala"
if (old_value != value) {
#line 391 "static_chart.c"
LiveChartStaticStaticGrid* _tmp0_;
#line 8 "../src/static/static_chart.vala"
_tmp0_ = _g_object_ref0 (value);
#line 8 "../src/static/static_chart.vala"
_g_object_unref0 (self->priv->_grid);
#line 8 "../src/static/static_chart.vala"
self->priv->_grid = _tmp0_;
#line 8 "../src/static/static_chart.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_chart_properties[LIVE_CHART_STATIC_STATIC_CHART_GRID_PROPERTY]);
#line 401 "static_chart.c"
}
}
LiveChartBackground*
live_chart_static_static_chart_get_background (LiveChartStaticStaticChart* self)
{
LiveChartBackground* result;
LiveChartBackground* _tmp0_;
#line 9 "../src/static/static_chart.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 9 "../src/static/static_chart.vala"
_tmp0_ = self->priv->_background;
#line 9 "../src/static/static_chart.vala"
result = _tmp0_;
#line 9 "../src/static/static_chart.vala"
return result;
#line 418 "static_chart.c"
}
void
live_chart_static_static_chart_set_background (LiveChartStaticStaticChart* self,
LiveChartBackground* value)
{
LiveChartBackground* old_value;
#line 9 "../src/static/static_chart.vala"
g_return_if_fail (self != NULL);
#line 9 "../src/static/static_chart.vala"
old_value = live_chart_static_static_chart_get_background (self);
#line 9 "../src/static/static_chart.vala"
if (old_value != value) {
#line 432 "static_chart.c"
LiveChartBackground* _tmp0_;
#line 9 "../src/static/static_chart.vala"
_tmp0_ = _g_object_ref0 (value);
#line 9 "../src/static/static_chart.vala"
_g_object_unref0 (self->priv->_background);
#line 9 "../src/static/static_chart.vala"
self->priv->_background = _tmp0_;
#line 9 "../src/static/static_chart.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_chart_properties[LIVE_CHART_STATIC_STATIC_CHART_BACKGROUND_PROPERTY]);
#line 442 "static_chart.c"
}
}
LiveChartLegend*
live_chart_static_static_chart_get_legend (LiveChartStaticStaticChart* self)
{
LiveChartLegend* result;
LiveChartLegend* _tmp0_;
#line 10 "../src/static/static_chart.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 10 "../src/static/static_chart.vala"
_tmp0_ = self->priv->_legend;
#line 10 "../src/static/static_chart.vala"
result = _tmp0_;
#line 10 "../src/static/static_chart.vala"
return result;
#line 459 "static_chart.c"
}
void
live_chart_static_static_chart_set_legend (LiveChartStaticStaticChart* self,
LiveChartLegend* value)
{
LiveChartLegend* old_value;
#line 10 "../src/static/static_chart.vala"
g_return_if_fail (self != NULL);
#line 10 "../src/static/static_chart.vala"
old_value = live_chart_static_static_chart_get_legend (self);
#line 10 "../src/static/static_chart.vala"
if (old_value != value) {
#line 473 "static_chart.c"
LiveChartLegend* _tmp0_;
#line 10 "../src/static/static_chart.vala"
_tmp0_ = _g_object_ref0 (value);
#line 10 "../src/static/static_chart.vala"
_g_object_unref0 (self->priv->_legend);
#line 10 "../src/static/static_chart.vala"
self->priv->_legend = _tmp0_;
#line 10 "../src/static/static_chart.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_chart_properties[LIVE_CHART_STATIC_STATIC_CHART_LEGEND_PROPERTY]);
#line 483 "static_chart.c"
}
}
static void
live_chart_static_static_chart_class_init (LiveChartStaticStaticChartClass * klass,
gpointer klass_data)
{
#line 6 "../src/static/static_chart.vala"
live_chart_static_static_chart_parent_class = g_type_class_peek_parent (klass);
#line 6 "../src/static/static_chart.vala"
g_type_class_adjust_private_offset (klass, &LiveChartStaticStaticChart_private_offset);
#line 6 "../src/static/static_chart.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_static_static_chart_get_property;
#line 6 "../src/static/static_chart.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_static_static_chart_set_property;
#line 6 "../src/static/static_chart.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_static_static_chart_finalize;
#line 6 "../src/static/static_chart.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_CHART_GRID_PROPERTY, live_chart_static_static_chart_properties[LIVE_CHART_STATIC_STATIC_CHART_GRID_PROPERTY] = g_param_spec_object ("grid", "grid", "grid", LIVE_CHART_STATIC_TYPE_STATIC_GRID, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "../src/static/static_chart.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_CHART_BACKGROUND_PROPERTY, live_chart_static_static_chart_properties[LIVE_CHART_STATIC_STATIC_CHART_BACKGROUND_PROPERTY] = g_param_spec_object ("background", "background", "background", LIVE_CHART_TYPE_BACKGROUND, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "../src/static/static_chart.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_CHART_LEGEND_PROPERTY, live_chart_static_static_chart_properties[LIVE_CHART_STATIC_STATIC_CHART_LEGEND_PROPERTY] = g_param_spec_object ("legend", "legend", "legend", LIVE_CHART_TYPE_LEGEND, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 507 "static_chart.c"
}
static void
live_chart_static_static_chart_instance_init (LiveChartStaticStaticChart * self,
gpointer klass)
{
LiveChartStaticStaticGrid* _tmp0_;
LiveChartBackground* _tmp1_;
LiveChartHorizontalLegend* _tmp2_;
GeeArrayList* _tmp3_;
#line 6 "../src/static/static_chart.vala"
self->priv = live_chart_static_static_chart_get_instance_private (self);
#line 8 "../src/static/static_chart.vala"
_tmp0_ = live_chart_static_static_grid_new ();
#line 8 "../src/static/static_chart.vala"
self->priv->_grid = _tmp0_;
#line 9 "../src/static/static_chart.vala"
_tmp1_ = live_chart_background_new ();
#line 9 "../src/static/static_chart.vala"
self->priv->_background = _tmp1_;
#line 10 "../src/static/static_chart.vala"
_tmp2_ = live_chart_horizontal_legend_new ();
#line 10 "../src/static/static_chart.vala"
self->priv->_legend = (LiveChartLegend*) _tmp2_;
#line 14 "../src/static/static_chart.vala"
_tmp3_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
#line 14 "../src/static/static_chart.vala"
self->priv->categories = _tmp3_;
#line 536 "static_chart.c"
}
static void
live_chart_static_static_chart_finalize (GObject * obj)
{
LiveChartStaticStaticChart * self;
#line 6 "../src/static/static_chart.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_STATIC_TYPE_STATIC_CHART, LiveChartStaticStaticChart);
#line 8 "../src/static/static_chart.vala"
_g_object_unref0 (self->priv->_grid);
#line 9 "../src/static/static_chart.vala"
_g_object_unref0 (self->priv->_background);
#line 10 "../src/static/static_chart.vala"
_g_object_unref0 (self->priv->_legend);
#line 11 "../src/static/static_chart.vala"
_live_chart_config_unref0 (self->config);
#line 12 "../src/static/static_chart.vala"
_g_object_unref0 (self->series);
#line 14 "../src/static/static_chart.vala"
_g_object_unref0 (self->priv->categories);
#line 6 "../src/static/static_chart.vala"
G_OBJECT_CLASS (live_chart_static_static_chart_parent_class)->finalize (obj);
#line 559 "static_chart.c"
}
static GType
live_chart_static_static_chart_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartStaticStaticChartClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_static_static_chart_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartStaticStaticChart), 0, (GInstanceInitFunc) live_chart_static_static_chart_instance_init, NULL };
GType live_chart_static_static_chart_type_id;
live_chart_static_static_chart_type_id = g_type_register_static (gtk_drawing_area_get_type (), "LiveChartStaticStaticChart", &g_define_type_info, 0);
LiveChartStaticStaticChart_private_offset = g_type_add_instance_private (live_chart_static_static_chart_type_id, sizeof (LiveChartStaticStaticChartPrivate));
return live_chart_static_static_chart_type_id;
}
GType
live_chart_static_static_chart_get_type (void)
{
static volatile gsize live_chart_static_static_chart_type_id__once = 0;
if (g_once_init_enter (&live_chart_static_static_chart_type_id__once)) {
GType live_chart_static_static_chart_type_id;
live_chart_static_static_chart_type_id = live_chart_static_static_chart_get_type_once ();
g_once_init_leave (&live_chart_static_static_chart_type_id__once, live_chart_static_static_chart_type_id);
}
return live_chart_static_static_chart_type_id__once;
}
static void
_vala_live_chart_static_static_chart_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartStaticStaticChart * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_STATIC_TYPE_STATIC_CHART, LiveChartStaticStaticChart);
#line 6 "../src/static/static_chart.vala"
switch (property_id) {
#line 6 "../src/static/static_chart.vala"
case LIVE_CHART_STATIC_STATIC_CHART_GRID_PROPERTY:
#line 6 "../src/static/static_chart.vala"
g_value_set_object (value, live_chart_static_static_chart_get_grid (self));
#line 6 "../src/static/static_chart.vala"
break;
#line 6 "../src/static/static_chart.vala"
case LIVE_CHART_STATIC_STATIC_CHART_BACKGROUND_PROPERTY:
#line 6 "../src/static/static_chart.vala"
g_value_set_object (value, live_chart_static_static_chart_get_background (self));
#line 6 "../src/static/static_chart.vala"
break;
#line 6 "../src/static/static_chart.vala"
case LIVE_CHART_STATIC_STATIC_CHART_LEGEND_PROPERTY:
#line 6 "../src/static/static_chart.vala"
g_value_set_object (value, live_chart_static_static_chart_get_legend (self));
#line 6 "../src/static/static_chart.vala"
break;
#line 612 "static_chart.c"
default:
#line 6 "../src/static/static_chart.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "../src/static/static_chart.vala"
break;
#line 618 "static_chart.c"
}
}
static void
_vala_live_chart_static_static_chart_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartStaticStaticChart * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_STATIC_TYPE_STATIC_CHART, LiveChartStaticStaticChart);
#line 6 "../src/static/static_chart.vala"
switch (property_id) {
#line 6 "../src/static/static_chart.vala"
case LIVE_CHART_STATIC_STATIC_CHART_GRID_PROPERTY:
#line 6 "../src/static/static_chart.vala"
live_chart_static_static_chart_set_grid (self, g_value_get_object (value));
#line 6 "../src/static/static_chart.vala"
break;
#line 6 "../src/static/static_chart.vala"
case LIVE_CHART_STATIC_STATIC_CHART_BACKGROUND_PROPERTY:
#line 6 "../src/static/static_chart.vala"
live_chart_static_static_chart_set_background (self, g_value_get_object (value));
#line 6 "../src/static/static_chart.vala"
break;
#line 6 "../src/static/static_chart.vala"
case LIVE_CHART_STATIC_STATIC_CHART_LEGEND_PROPERTY:
#line 6 "../src/static/static_chart.vala"
live_chart_static_static_chart_set_legend (self, g_value_get_object (value));
#line 6 "../src/static/static_chart.vala"
break;
#line 650 "static_chart.c"
default:
#line 6 "../src/static/static_chart.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "../src/static/static_chart.vala"
break;
#line 656 "static_chart.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,404 @@
/* static_line.c generated by valac 0.56.0, the Vala compiler
* generated from static_line.vala, do not modify */
#include "livechart.h"
#include <cairo-gobject.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include <math.h>
enum {
LIVE_CHART_STATIC_STATIC_LINE_0_PROPERTY,
LIVE_CHART_STATIC_STATIC_LINE_NUM_PROPERTIES
};
static GParamSpec* live_chart_static_static_line_properties[LIVE_CHART_STATIC_STATIC_LINE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
static gpointer live_chart_static_static_line_parent_class = NULL;
static void live_chart_static_static_line_real_draw (LiveChartStaticStaticSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_static_static_line_update_bounding_box (LiveChartStaticStaticLine* self,
LiveChartStaticStaticPoints* points,
LiveChartConfig* config);
static GType live_chart_static_static_line_get_type_once (void);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static gpointer
_g_object_ref0 (gpointer self)
{
#line 9 "../src/static/static_line.vala"
return self ? g_object_ref (self) : NULL;
#line 38 "static_line.c"
}
LiveChartStaticStaticLine*
live_chart_static_static_line_construct (GType object_type,
LiveChartStaticStaticValues* values)
{
LiveChartStaticStaticLine * self = NULL;
LiveChartStaticStaticValues* _tmp0_;
#line 7 "../src/static/static_line.vala"
g_return_val_if_fail (values != NULL, NULL);
#line 8 "../src/static/static_line.vala"
self = (LiveChartStaticStaticLine*) live_chart_static_static_serie_renderer_construct (object_type);
#line 9 "../src/static/static_line.vala"
_tmp0_ = _g_object_ref0 (values);
#line 9 "../src/static/static_line.vala"
_g_object_unref0 (((LiveChartStaticStaticSerieRenderer*) self)->values);
#line 9 "../src/static/static_line.vala"
((LiveChartStaticStaticSerieRenderer*) self)->values = _tmp0_;
#line 7 "../src/static/static_line.vala"
return self;
#line 59 "static_line.c"
}
LiveChartStaticStaticLine*
live_chart_static_static_line_new (LiveChartStaticStaticValues* values)
{
#line 7 "../src/static/static_line.vala"
return live_chart_static_static_line_construct (LIVE_CHART_STATIC_TYPE_STATIC_LINE, values);
#line 67 "static_line.c"
}
static void
live_chart_static_static_line_real_draw (LiveChartStaticStaticSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartStaticStaticLine * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 12 "../src/static/static_line.vala"
self = (LiveChartStaticStaticLine*) base;
#line 12 "../src/static/static_line.vala"
g_return_if_fail (ctx != NULL);
#line 12 "../src/static/static_line.vala"
g_return_if_fail (config != NULL);
#line 13 "../src/static/static_line.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 13 "../src/static/static_line.vala"
_tmp1_ = _tmp0_;
#line 13 "../src/static/static_line.vala"
if (_tmp1_) {
#line 90 "static_line.c"
LiveChartStaticStaticPoints* points = NULL;
LiveChartStaticStaticValues* _tmp2_;
LiveChartStaticStaticPoints* _tmp3_;
LiveChartStaticStaticPoints* _tmp4_;
gint _tmp5_;
gint _tmp6_;
#line 14 "../src/static/static_line.vala"
_tmp2_ = ((LiveChartStaticStaticSerieRenderer*) self)->values;
#line 14 "../src/static/static_line.vala"
_tmp3_ = live_chart_static_static_points_create (_tmp2_, config);
#line 14 "../src/static/static_line.vala"
points = _tmp3_;
#line 15 "../src/static/static_line.vala"
_tmp4_ = points;
#line 15 "../src/static/static_line.vala"
_tmp5_ = live_chart_static_static_points_get_size (_tmp4_);
#line 15 "../src/static/static_line.vala"
_tmp6_ = _tmp5_;
#line 15 "../src/static/static_line.vala"
if (_tmp6_ > 0) {
#line 111 "static_line.c"
LiveChartStaticStaticPoints* _tmp7_;
#line 16 "../src/static/static_line.vala"
_tmp7_ = points;
#line 16 "../src/static/static_line.vala"
live_chart_static_static_line_draw_line (self, _tmp7_, ctx, config);
#line 17 "../src/static/static_line.vala"
cairo_stroke (ctx);
#line 119 "static_line.c"
}
#line 13 "../src/static/static_line.vala"
_g_object_unref0 (points);
#line 123 "static_line.c"
}
}
void
live_chart_static_static_line_draw_line (LiveChartStaticStaticLine* self,
LiveChartStaticStaticPoints* points,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartPath* _tmp0_;
LiveChartPath* _tmp1_;
LiveChartPoint first_point = {0};
LiveChartPoint _tmp2_ = {0};
LiveChartPoint _tmp3_;
LiveChartPoint _tmp4_;
LiveChartPoint _tmp5_;
LiveChartPoint _tmp6_;
gchar* _tmp7_;
gchar* _tmp8_;
#line 22 "../src/static/static_line.vala"
g_return_if_fail (self != NULL);
#line 22 "../src/static/static_line.vala"
g_return_if_fail (points != NULL);
#line 22 "../src/static/static_line.vala"
g_return_if_fail (ctx != NULL);
#line 22 "../src/static/static_line.vala"
g_return_if_fail (config != NULL);
#line 23 "../src/static/static_line.vala"
_tmp0_ = live_chart_static_static_serie_renderer_get_line ((LiveChartStaticStaticSerieRenderer*) self);
#line 23 "../src/static/static_line.vala"
_tmp1_ = _tmp0_;
#line 23 "../src/static/static_line.vala"
live_chart_path_configure (_tmp1_, ctx);
#line 25 "../src/static/static_line.vala"
live_chart_static_static_points_first (points, &_tmp2_);
#line 25 "../src/static/static_line.vala"
first_point = _tmp2_;
#line 27 "../src/static/static_line.vala"
live_chart_static_static_line_update_bounding_box (self, points, config);
#line 28 "../src/static/static_line.vala"
live_chart_static_static_serie_renderer_debug ((LiveChartStaticStaticSerieRenderer*) self, ctx);
#line 30 "../src/static/static_line.vala"
_tmp3_ = first_point;
#line 30 "../src/static/static_line.vala"
_tmp4_ = first_point;
#line 30 "../src/static/static_line.vala"
cairo_move_to (ctx, _tmp3_.x, _tmp4_.y);
#line 31 "../src/static/static_line.vala"
_tmp5_ = first_point;
#line 31 "../src/static/static_line.vala"
_tmp6_ = first_point;
#line 31 "../src/static/static_line.vala"
_tmp7_ = g_strdup_printf ("Draw point %f, %f", _tmp5_.x, _tmp6_.y);
#line 31 "../src/static/static_line.vala"
_tmp8_ = _tmp7_;
#line 31 "../src/static/static_line.vala"
g_message ("static_line.vala:31: %s", _tmp8_);
#line 31 "../src/static/static_line.vala"
_g_free0 (_tmp8_);
#line 183 "static_line.c"
{
gint pos = 0;
#line 32 "../src/static/static_line.vala"
pos = 0;
#line 188 "static_line.c"
{
gboolean _tmp9_ = FALSE;
#line 32 "../src/static/static_line.vala"
_tmp9_ = TRUE;
#line 32 "../src/static/static_line.vala"
while (TRUE) {
#line 195 "static_line.c"
gint _tmp11_;
gint _tmp12_;
LiveChartPoint current_point = {0};
LiveChartPoint _tmp13_ = {0};
LiveChartPoint next_point = {0};
LiveChartPoint _tmp14_ = {0};
LiveChartPoint _tmp15_;
LiveChartPoint _tmp18_;
LiveChartPoint _tmp19_;
gchar* _tmp20_;
gchar* _tmp21_;
LiveChartPoint _tmp22_;
LiveChartPoint _tmp23_;
#line 32 "../src/static/static_line.vala"
if (!_tmp9_) {
#line 211 "static_line.c"
gint _tmp10_;
#line 32 "../src/static/static_line.vala"
_tmp10_ = pos;
#line 32 "../src/static/static_line.vala"
pos = _tmp10_ + 1;
#line 217 "static_line.c"
}
#line 32 "../src/static/static_line.vala"
_tmp9_ = FALSE;
#line 32 "../src/static/static_line.vala"
_tmp11_ = live_chart_static_static_points_get_size (points);
#line 32 "../src/static/static_line.vala"
_tmp12_ = _tmp11_;
#line 32 "../src/static/static_line.vala"
if (!(pos < (_tmp12_ - 1))) {
#line 32 "../src/static/static_line.vala"
break;
#line 229 "static_line.c"
}
#line 33 "../src/static/static_line.vala"
live_chart_static_static_points_get (points, pos, &_tmp13_);
#line 33 "../src/static/static_line.vala"
current_point = _tmp13_;
#line 34 "../src/static/static_line.vala"
live_chart_static_static_points_after (points, pos, &_tmp14_);
#line 34 "../src/static/static_line.vala"
next_point = _tmp14_;
#line 35 "../src/static/static_line.vala"
_tmp15_ = current_point;
#line 35 "../src/static/static_line.vala"
if (live_chart_static_static_serie_renderer_is_out_of_area ((LiveChartStaticStaticSerieRenderer*) self, &_tmp15_)) {
#line 243 "static_line.c"
LiveChartPoint _tmp16_;
LiveChartPoint _tmp17_;
#line 36 "../src/static/static_line.vala"
g_message ("static_line.vala:36: #########################Out of area");
#line 37 "../src/static/static_line.vala"
_tmp16_ = current_point;
#line 37 "../src/static/static_line.vala"
_tmp17_ = current_point;
#line 37 "../src/static/static_line.vala"
cairo_move_to (ctx, _tmp16_.x, _tmp17_.y);
#line 38 "../src/static/static_line.vala"
continue;
#line 256 "static_line.c"
}
#line 40 "../src/static/static_line.vala"
_tmp18_ = next_point;
#line 40 "../src/static/static_line.vala"
_tmp19_ = next_point;
#line 40 "../src/static/static_line.vala"
_tmp20_ = g_strdup_printf ("Draw point %f, %f as pos %d", _tmp18_.x, _tmp19_.y, pos);
#line 40 "../src/static/static_line.vala"
_tmp21_ = _tmp20_;
#line 40 "../src/static/static_line.vala"
g_message ("static_line.vala:40: %s", _tmp21_);
#line 40 "../src/static/static_line.vala"
_g_free0 (_tmp21_);
#line 41 "../src/static/static_line.vala"
_tmp22_ = next_point;
#line 41 "../src/static/static_line.vala"
_tmp23_ = next_point;
#line 41 "../src/static/static_line.vala"
cairo_line_to (ctx, _tmp22_.x, _tmp23_.y);
#line 276 "static_line.c"
}
}
}
}
static void
live_chart_static_static_line_update_bounding_box (LiveChartStaticStaticLine* self,
LiveChartStaticStaticPoints* points,
LiveChartConfig* config)
{
LiveChartPoint _tmp0_ = {0};
LiveChartBounds* _tmp1_;
LiveChartBounds* _tmp2_;
gdouble _tmp3_;
gdouble _tmp4_;
LiveChartPoint _tmp5_ = {0};
LiveChartPoint _tmp6_ = {0};
LiveChartBounds* _tmp7_;
LiveChartBounds* _tmp8_;
gdouble _tmp9_;
gdouble _tmp10_;
LiveChartBounds* _tmp11_;
LiveChartBounds* _tmp12_;
gdouble _tmp13_;
gdouble _tmp14_;
LiveChartBoundingBox _tmp15_ = {0};
#line 45 "../src/static/static_line.vala"
g_return_if_fail (self != NULL);
#line 45 "../src/static/static_line.vala"
g_return_if_fail (points != NULL);
#line 45 "../src/static/static_line.vala"
g_return_if_fail (config != NULL);
#line 46 "../src/static/static_line.vala"
live_chart_static_static_points_first (points, &_tmp0_);
#line 46 "../src/static/static_line.vala"
_tmp1_ = live_chart_static_static_points_get_bounds (points);
#line 46 "../src/static/static_line.vala"
_tmp2_ = _tmp1_;
#line 46 "../src/static/static_line.vala"
_tmp3_ = live_chart_bounds_get_lower (_tmp2_);
#line 46 "../src/static/static_line.vala"
_tmp4_ = _tmp3_;
#line 46 "../src/static/static_line.vala"
live_chart_static_static_points_last (points, &_tmp5_);
#line 46 "../src/static/static_line.vala"
live_chart_static_static_points_first (points, &_tmp6_);
#line 46 "../src/static/static_line.vala"
_tmp7_ = live_chart_static_static_points_get_bounds (points);
#line 46 "../src/static/static_line.vala"
_tmp8_ = _tmp7_;
#line 46 "../src/static/static_line.vala"
_tmp9_ = live_chart_bounds_get_upper (_tmp8_);
#line 46 "../src/static/static_line.vala"
_tmp10_ = _tmp9_;
#line 46 "../src/static/static_line.vala"
_tmp11_ = live_chart_static_static_points_get_bounds (points);
#line 46 "../src/static/static_line.vala"
_tmp12_ = _tmp11_;
#line 46 "../src/static/static_line.vala"
_tmp13_ = live_chart_bounds_get_lower (_tmp12_);
#line 46 "../src/static/static_line.vala"
_tmp14_ = _tmp13_;
#line 46 "../src/static/static_line.vala"
memset (&_tmp15_, 0, sizeof (LiveChartBoundingBox));
#line 46 "../src/static/static_line.vala"
_tmp15_.x = _tmp0_.x;
#line 46 "../src/static/static_line.vala"
_tmp15_.y = _tmp4_;
#line 46 "../src/static/static_line.vala"
_tmp15_.width = _tmp5_.x - _tmp6_.x;
#line 46 "../src/static/static_line.vala"
_tmp15_.height = _tmp10_ - _tmp14_;
#line 46 "../src/static/static_line.vala"
((LiveChartStaticStaticSerieRenderer*) self)->bounding_box = _tmp15_;
#line 351 "static_line.c"
}
static void
live_chart_static_static_line_class_init (LiveChartStaticStaticLineClass * klass,
gpointer klass_data)
{
#line 5 "../src/static/static_line.vala"
live_chart_static_static_line_parent_class = g_type_class_peek_parent (klass);
#line 5 "../src/static/static_line.vala"
((LiveChartStaticStaticSerieRendererClass *) klass)->draw = (void (*) (LiveChartStaticStaticSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_static_static_line_real_draw;
#line 362 "static_line.c"
}
static void
live_chart_static_static_line_instance_init (LiveChartStaticStaticLine * self,
gpointer klass)
{
}
static GType
live_chart_static_static_line_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartStaticStaticLineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_static_static_line_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartStaticStaticLine), 0, (GInstanceInitFunc) live_chart_static_static_line_instance_init, NULL };
GType live_chart_static_static_line_type_id;
live_chart_static_static_line_type_id = g_type_register_static (LIVE_CHART_STATIC_TYPE_STATIC_SERIE_RENDERER, "LiveChartStaticStaticLine", &g_define_type_info, 0);
return live_chart_static_static_line_type_id;
}
GType
live_chart_static_static_line_get_type (void)
{
static volatile gsize live_chart_static_static_line_type_id__once = 0;
if (g_once_init_enter (&live_chart_static_static_line_type_id__once)) {
GType live_chart_static_static_line_type_id;
live_chart_static_static_line_type_id = live_chart_static_static_line_get_type_once ();
g_once_init_leave (&live_chart_static_static_line_type_id__once, live_chart_static_static_line_type_id);
}
return live_chart_static_static_line_type_id__once;
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,821 @@
/* static_points.c generated by valac 0.56.0, the Vala compiler
* generated from static_points.vala, do not modify */
#include "livechart.h"
#include <gee.h>
#include <glib-object.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
enum {
LIVE_CHART_STATIC_STATIC_POINTS_0_PROPERTY,
LIVE_CHART_STATIC_STATIC_POINTS_BOUNDS_PROPERTY,
LIVE_CHART_STATIC_STATIC_POINTS_SIZE_PROPERTY,
LIVE_CHART_STATIC_STATIC_POINTS_REALTIME_DELTA_PROPERTY,
LIVE_CHART_STATIC_STATIC_POINTS_NUM_PROPERTIES
};
static GParamSpec* live_chart_static_static_points_properties[LIVE_CHART_STATIC_STATIC_POINTS_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _live_chart_point_free0(var) ((var == NULL) ? NULL : (var = (live_chart_point_free (var), NULL)))
#define _live_chart_static_named_value_free0(var) ((var == NULL) ? NULL : (var = (live_chart_static_named_value_free (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
struct _LiveChartStaticStaticPointsPrivate {
GeeArrayList* points;
LiveChartBounds* _bounds;
gdouble _realtime_delta;
};
static gint LiveChartStaticStaticPoints_private_offset;
static gpointer live_chart_static_static_points_parent_class = NULL;
static void live_chart_static_static_points_value_to_point (LiveChartStaticNamedValue* current_value,
LiveChartConfig* config,
LiveChartBoundaries* boundaries,
LiveChartPoint* result);
static void live_chart_static_static_points_finalize (GObject * obj);
static GType live_chart_static_static_points_get_type_once (void);
static void _vala_live_chart_static_static_points_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_static_static_points_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_static_static_points_get_instance_private (LiveChartStaticStaticPoints* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartStaticStaticPoints_private_offset);
}
LiveChartStaticStaticPoints*
live_chart_static_static_points_construct (GType object_type)
{
LiveChartStaticStaticPoints * self = NULL;
LiveChartBounds* _tmp0_;
LiveChartBounds* _tmp1_;
#line 13 "../src/static/static_points.vala"
self = (LiveChartStaticStaticPoints*) g_object_new (object_type, NULL);
#line 14 "../src/static/static_points.vala"
_tmp0_ = live_chart_bounds_new (((double) NAN), ((double) NAN));
#line 14 "../src/static/static_points.vala"
_tmp1_ = _tmp0_;
#line 14 "../src/static/static_points.vala"
live_chart_static_static_points_set_bounds (self, _tmp1_);
#line 14 "../src/static/static_points.vala"
_g_object_unref0 (_tmp1_);
#line 13 "../src/static/static_points.vala"
return self;
#line 77 "static_points.c"
}
LiveChartStaticStaticPoints*
live_chart_static_static_points_new (void)
{
#line 13 "../src/static/static_points.vala"
return live_chart_static_static_points_construct (LIVE_CHART_STATIC_TYPE_STATIC_POINTS);
#line 85 "static_points.c"
}
void
live_chart_static_static_points_add (LiveChartStaticStaticPoints* self,
LiveChartPoint* point)
{
LiveChartBounds* _tmp0_;
LiveChartPoint _tmp1_;
GeeArrayList* _tmp2_;
LiveChartPoint _tmp3_;
#line 17 "../src/static/static_points.vala"
g_return_if_fail (self != NULL);
#line 17 "../src/static/static_points.vala"
g_return_if_fail (point != NULL);
#line 18 "../src/static/static_points.vala"
_tmp0_ = self->priv->_bounds;
#line 18 "../src/static/static_points.vala"
_tmp1_ = *point;
#line 18 "../src/static/static_points.vala"
live_chart_bounds_update (_tmp0_, _tmp1_.y);
#line 19 "../src/static/static_points.vala"
_tmp2_ = self->priv->points;
#line 19 "../src/static/static_points.vala"
_tmp3_ = *point;
#line 19 "../src/static/static_points.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp2_, &_tmp3_);
#line 112 "static_points.c"
}
void
live_chart_static_static_points_get (LiveChartStaticStaticPoints* self,
gint at,
LiveChartPoint* result)
{
GeeArrayList* _tmp0_;
gpointer _tmp1_;
LiveChartPoint* _tmp2_;
LiveChartPoint _tmp3_;
#line 32 "../src/static/static_points.vala"
g_return_if_fail (self != NULL);
#line 33 "../src/static/static_points.vala"
_tmp0_ = self->priv->points;
#line 33 "../src/static/static_points.vala"
_tmp1_ = gee_abstract_list_get ((GeeAbstractList*) _tmp0_, at);
#line 33 "../src/static/static_points.vala"
_tmp2_ = (LiveChartPoint*) _tmp1_;
#line 33 "../src/static/static_points.vala"
_tmp3_ = *_tmp2_;
#line 33 "../src/static/static_points.vala"
_live_chart_point_free0 (_tmp2_);
#line 33 "../src/static/static_points.vala"
*result = _tmp3_;
#line 33 "../src/static/static_points.vala"
return;
#line 140 "static_points.c"
}
void
live_chart_static_static_points_after (LiveChartStaticStaticPoints* self,
gint at,
LiveChartPoint* result)
{
gint _tmp0_;
gint _tmp1_;
LiveChartPoint _tmp5_ = {0};
#line 36 "../src/static/static_points.vala"
g_return_if_fail (self != NULL);
#line 37 "../src/static/static_points.vala"
_tmp0_ = live_chart_static_static_points_get_size (self);
#line 37 "../src/static/static_points.vala"
_tmp1_ = _tmp0_;
#line 37 "../src/static/static_points.vala"
if ((at + 1) >= _tmp1_) {
#line 159 "static_points.c"
gint _tmp2_;
gint _tmp3_;
LiveChartPoint _tmp4_ = {0};
#line 37 "../src/static/static_points.vala"
_tmp2_ = live_chart_static_static_points_get_size (self);
#line 37 "../src/static/static_points.vala"
_tmp3_ = _tmp2_;
#line 37 "../src/static/static_points.vala"
live_chart_static_static_points_get (self, _tmp3_ - 1, &_tmp4_);
#line 37 "../src/static/static_points.vala"
*result = _tmp4_;
#line 37 "../src/static/static_points.vala"
return;
#line 173 "static_points.c"
}
#line 38 "../src/static/static_points.vala"
live_chart_static_static_points_get (self, at + 1, &_tmp5_);
#line 38 "../src/static/static_points.vala"
*result = _tmp5_;
#line 38 "../src/static/static_points.vala"
return;
#line 181 "static_points.c"
}
void
live_chart_static_static_points_first (LiveChartStaticStaticPoints* self,
LiveChartPoint* result)
{
LiveChartPoint _tmp0_ = {0};
#line 41 "../src/static/static_points.vala"
g_return_if_fail (self != NULL);
#line 42 "../src/static/static_points.vala"
live_chart_static_static_points_get (self, 0, &_tmp0_);
#line 42 "../src/static/static_points.vala"
*result = _tmp0_;
#line 42 "../src/static/static_points.vala"
return;
#line 197 "static_points.c"
}
void
live_chart_static_static_points_last (LiveChartStaticStaticPoints* self,
LiveChartPoint* result)
{
gint _tmp0_;
gint _tmp1_;
LiveChartPoint _tmp2_ = {0};
#line 45 "../src/static/static_points.vala"
g_return_if_fail (self != NULL);
#line 46 "../src/static/static_points.vala"
_tmp0_ = live_chart_static_static_points_get_size (self);
#line 46 "../src/static/static_points.vala"
_tmp1_ = _tmp0_;
#line 46 "../src/static/static_points.vala"
live_chart_static_static_points_get (self, _tmp1_ - 1, &_tmp2_);
#line 46 "../src/static/static_points.vala"
*result = _tmp2_;
#line 46 "../src/static/static_points.vala"
return;
#line 219 "static_points.c"
}
LiveChartStaticStaticPoints*
live_chart_static_static_points_create (LiveChartStaticStaticValues* values,
LiveChartConfig* config)
{
LiveChartBoundaries boundaries = {0};
LiveChartBoundaries _tmp0_ = {0};
LiveChartStaticStaticPoints* points = NULL;
LiveChartStaticStaticPoints* _tmp1_;
gint _tmp2_;
gint _tmp3_;
LiveChartStaticStaticPoints* result;
#line 49 "../src/static/static_points.vala"
g_return_val_if_fail (values != NULL, NULL);
#line 49 "../src/static/static_points.vala"
g_return_val_if_fail (config != NULL, NULL);
#line 50 "../src/static/static_points.vala"
live_chart_config_boundaries (config, &_tmp0_);
#line 50 "../src/static/static_points.vala"
boundaries = _tmp0_;
#line 52 "../src/static/static_points.vala"
_tmp1_ = live_chart_static_static_points_new ();
#line 52 "../src/static/static_points.vala"
points = _tmp1_;
#line 53 "../src/static/static_points.vala"
_tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) values);
#line 53 "../src/static/static_points.vala"
_tmp3_ = _tmp2_;
#line 53 "../src/static/static_points.vala"
if (_tmp3_ > 0) {
#line 251 "static_points.c"
{
LiveChartStaticStaticValues* _value_list = NULL;
gint _value_size = 0;
LiveChartStaticStaticValues* _tmp4_;
gint _tmp5_;
gint _tmp6_;
gint _value_index = 0;
#line 54 "../src/static/static_points.vala"
_value_list = values;
#line 54 "../src/static/static_points.vala"
_tmp4_ = _value_list;
#line 54 "../src/static/static_points.vala"
_tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
#line 54 "../src/static/static_points.vala"
_tmp6_ = _tmp5_;
#line 54 "../src/static/static_points.vala"
_value_size = _tmp6_;
#line 54 "../src/static/static_points.vala"
_value_index = -1;
#line 54 "../src/static/static_points.vala"
while (TRUE) {
#line 273 "static_points.c"
gint _tmp7_;
gint _tmp8_;
LiveChartStaticNamedValue value = {0};
LiveChartStaticStaticValues* _tmp9_;
gpointer _tmp10_;
LiveChartStaticNamedValue* _tmp11_;
LiveChartStaticNamedValue _tmp12_;
LiveChartStaticNamedValue _tmp13_ = {0};
LiveChartStaticNamedValue _tmp14_;
LiveChartPoint point = {0};
LiveChartStaticNamedValue _tmp15_;
LiveChartBoundaries _tmp16_;
LiveChartPoint _tmp17_ = {0};
LiveChartStaticStaticPoints* _tmp18_;
LiveChartPoint _tmp19_;
#line 54 "../src/static/static_points.vala"
_value_index = _value_index + 1;
#line 54 "../src/static/static_points.vala"
_tmp7_ = _value_index;
#line 54 "../src/static/static_points.vala"
_tmp8_ = _value_size;
#line 54 "../src/static/static_points.vala"
if (!(_tmp7_ < _tmp8_)) {
#line 54 "../src/static/static_points.vala"
break;
#line 299 "static_points.c"
}
#line 54 "../src/static/static_points.vala"
_tmp9_ = _value_list;
#line 54 "../src/static/static_points.vala"
_tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _value_index);
#line 54 "../src/static/static_points.vala"
_tmp11_ = (LiveChartStaticNamedValue*) _tmp10_;
#line 54 "../src/static/static_points.vala"
_tmp12_ = *_tmp11_;
#line 54 "../src/static/static_points.vala"
live_chart_static_named_value_copy (&_tmp12_, &_tmp13_);
#line 54 "../src/static/static_points.vala"
_tmp14_ = _tmp13_;
#line 54 "../src/static/static_points.vala"
_live_chart_static_named_value_free0 (_tmp11_);
#line 54 "../src/static/static_points.vala"
value = _tmp14_;
#line 55 "../src/static/static_points.vala"
_tmp15_ = value;
#line 55 "../src/static/static_points.vala"
_tmp16_ = boundaries;
#line 55 "../src/static/static_points.vala"
live_chart_static_static_points_value_to_point (&_tmp15_, config, &_tmp16_, &_tmp17_);
#line 55 "../src/static/static_points.vala"
point = _tmp17_;
#line 56 "../src/static/static_points.vala"
_tmp18_ = points;
#line 56 "../src/static/static_points.vala"
_tmp19_ = point;
#line 56 "../src/static/static_points.vala"
live_chart_static_static_points_add (_tmp18_, &_tmp19_);
#line 54 "../src/static/static_points.vala"
live_chart_static_named_value_destroy (&value);
#line 333 "static_points.c"
}
}
}
#line 60 "../src/static/static_points.vala"
result = points;
#line 60 "../src/static/static_points.vala"
return result;
#line 341 "static_points.c"
}
static void
live_chart_static_static_points_value_to_point (LiveChartStaticNamedValue* current_value,
LiveChartConfig* config,
LiveChartBoundaries* boundaries,
LiveChartPoint* result)
{
gint category_length = 0;
GeeArrayList* _tmp0_;
gint _tmp1_;
gint _tmp2_;
guint8 category_pos = 0U;
gint width_between_each_points = 0;
LiveChartBoundaries _tmp15_;
LiveChartBoundary _tmp16_;
LiveChartBoundaries _tmp17_;
LiveChartBoundary _tmp18_;
gint _tmp19_;
gint _tmp20_;
gchar* _tmp21_;
gchar* _tmp22_;
gint x = 0;
LiveChartBoundaries _tmp23_;
LiveChartBoundary _tmp24_;
gdouble y = 0.0;
LiveChartBoundaries _tmp25_;
LiveChartBoundary _tmp26_;
LiveChartStaticNamedValue _tmp27_;
LiveChartYAxis* _tmp28_;
LiveChartStaticNamedValue _tmp29_;
const gchar* _tmp30_;
LiveChartXAxis* _tmp31_;
gchar* _tmp32_;
gchar* _tmp33_;
LiveChartStaticNamedValue _tmp34_;
LiveChartYAxis* _tmp35_;
LiveChartPoint _tmp36_ = {0};
#line 63 "../src/static/static_points.vala"
g_return_if_fail (current_value != NULL);
#line 63 "../src/static/static_points.vala"
g_return_if_fail (config != NULL);
#line 63 "../src/static/static_points.vala"
g_return_if_fail (boundaries != NULL);
#line 64 "../src/static/static_points.vala"
_tmp0_ = config->categories;
#line 64 "../src/static/static_points.vala"
_tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
#line 64 "../src/static/static_points.vala"
_tmp2_ = _tmp1_;
#line 64 "../src/static/static_points.vala"
category_length = _tmp2_;
#line 65 "../src/static/static_points.vala"
category_pos = (guint8) 0;
#line 396 "static_points.c"
{
guint8 i = 0U;
#line 66 "../src/static/static_points.vala"
i = (guint8) 0;
#line 401 "static_points.c"
{
gboolean _tmp3_ = FALSE;
#line 66 "../src/static/static_points.vala"
_tmp3_ = TRUE;
#line 66 "../src/static/static_points.vala"
while (TRUE) {
#line 408 "static_points.c"
gchar* category = NULL;
GeeArrayList* _tmp5_;
gpointer _tmp6_;
gboolean _tmp7_ = FALSE;
const gchar* _tmp8_;
#line 66 "../src/static/static_points.vala"
if (!_tmp3_) {
#line 416 "static_points.c"
guint8 _tmp4_;
#line 66 "../src/static/static_points.vala"
_tmp4_ = i;
#line 66 "../src/static/static_points.vala"
i = _tmp4_ + 1;
#line 422 "static_points.c"
}
#line 66 "../src/static/static_points.vala"
_tmp3_ = FALSE;
#line 66 "../src/static/static_points.vala"
if (!(((gint) i) < category_length)) {
#line 66 "../src/static/static_points.vala"
break;
#line 430 "static_points.c"
}
#line 67 "../src/static/static_points.vala"
_tmp5_ = config->categories;
#line 67 "../src/static/static_points.vala"
_tmp6_ = gee_abstract_list_get ((GeeAbstractList*) _tmp5_, (gint) i);
#line 67 "../src/static/static_points.vala"
category = (gchar*) _tmp6_;
#line 68 "../src/static/static_points.vala"
_tmp8_ = category;
#line 68 "../src/static/static_points.vala"
if (_tmp8_ != NULL) {
#line 442 "static_points.c"
const gchar* _tmp9_;
LiveChartStaticNamedValue _tmp10_;
const gchar* _tmp11_;
#line 68 "../src/static/static_points.vala"
_tmp9_ = category;
#line 68 "../src/static/static_points.vala"
_tmp10_ = *current_value;
#line 68 "../src/static/static_points.vala"
_tmp11_ = _tmp10_.name;
#line 68 "../src/static/static_points.vala"
_tmp7_ = g_strcmp0 (_tmp9_, _tmp11_) == 0;
#line 454 "static_points.c"
} else {
#line 68 "../src/static/static_points.vala"
_tmp7_ = FALSE;
#line 458 "static_points.c"
}
#line 68 "../src/static/static_points.vala"
if (_tmp7_) {
#line 462 "static_points.c"
const gchar* _tmp12_;
gchar* _tmp13_;
gchar* _tmp14_;
#line 69 "../src/static/static_points.vala"
category_pos = i;
#line 70 "../src/static/static_points.vala"
_tmp12_ = category;
#line 70 "../src/static/static_points.vala"
_tmp13_ = g_strdup_printf ("Found category %s at pos %d", _tmp12_, (gint) i);
#line 70 "../src/static/static_points.vala"
_tmp14_ = _tmp13_;
#line 70 "../src/static/static_points.vala"
g_message ("static_points.vala:70: %s", _tmp14_);
#line 70 "../src/static/static_points.vala"
_g_free0 (_tmp14_);
#line 71 "../src/static/static_points.vala"
_g_free0 (category);
#line 71 "../src/static/static_points.vala"
break;
#line 482 "static_points.c"
}
#line 66 "../src/static/static_points.vala"
_g_free0 (category);
#line 486 "static_points.c"
}
}
}
#line 74 "../src/static/static_points.vala"
_tmp15_ = *boundaries;
#line 74 "../src/static/static_points.vala"
_tmp16_ = _tmp15_.x;
#line 74 "../src/static/static_points.vala"
_tmp17_ = *boundaries;
#line 74 "../src/static/static_points.vala"
_tmp18_ = _tmp17_.x;
#line 74 "../src/static/static_points.vala"
width_between_each_points = (_tmp16_.max - _tmp18_.min) / (category_length - 1);
#line 75 "../src/static/static_points.vala"
_tmp19_ = live_chart_config_get_width (config);
#line 75 "../src/static/static_points.vala"
_tmp20_ = _tmp19_;
#line 75 "../src/static/static_points.vala"
_tmp21_ = g_strdup_printf ("WIDTH %d", _tmp20_);
#line 75 "../src/static/static_points.vala"
_tmp22_ = _tmp21_;
#line 75 "../src/static/static_points.vala"
g_message ("static_points.vala:75: %s", _tmp22_);
#line 75 "../src/static/static_points.vala"
_g_free0 (_tmp22_);
#line 76 "../src/static/static_points.vala"
_tmp23_ = *boundaries;
#line 76 "../src/static/static_points.vala"
_tmp24_ = _tmp23_.x;
#line 76 "../src/static/static_points.vala"
x = _tmp24_.min + (category_pos * width_between_each_points);
#line 77 "../src/static/static_points.vala"
_tmp25_ = *boundaries;
#line 77 "../src/static/static_points.vala"
_tmp26_ = _tmp25_.y;
#line 77 "../src/static/static_points.vala"
_tmp27_ = *current_value;
#line 77 "../src/static/static_points.vala"
_tmp28_ = config->y_axis;
#line 77 "../src/static/static_points.vala"
y = _tmp26_.max - (_tmp27_.value * live_chart_yaxis_get_ratio (_tmp28_));
#line 78 "../src/static/static_points.vala"
_tmp29_ = *current_value;
#line 78 "../src/static/static_points.vala"
_tmp30_ = _tmp29_.name;
#line 78 "../src/static/static_points.vala"
_tmp31_ = config->x_axis;
#line 78 "../src/static/static_points.vala"
_tmp32_ = g_strdup_printf ("category %s at pos %d (%f,%f) (width_between_each_points = %d) ratio: " \
"%f", _tmp30_, (gint) category_pos, (gdouble) x, y, width_between_each_points, live_chart_xaxis_get_ratio (_tmp31_));
#line 78 "../src/static/static_points.vala"
_tmp33_ = _tmp32_;
#line 78 "../src/static/static_points.vala"
g_message ("static_points.vala:78: %s", _tmp33_);
#line 78 "../src/static/static_points.vala"
_g_free0 (_tmp33_);
#line 79 "../src/static/static_points.vala"
_tmp34_ = *current_value;
#line 79 "../src/static/static_points.vala"
_tmp35_ = config->y_axis;
#line 79 "../src/static/static_points.vala"
memset (&_tmp36_, 0, sizeof (LiveChartPoint));
#line 79 "../src/static/static_points.vala"
_tmp36_.x = (gdouble) x;
#line 79 "../src/static/static_points.vala"
_tmp36_.y = y;
#line 79 "../src/static/static_points.vala"
_tmp36_.height = _tmp34_.value * live_chart_yaxis_get_ratio (_tmp35_);
#line 79 "../src/static/static_points.vala"
*result = _tmp36_;
#line 79 "../src/static/static_points.vala"
return;
#line 558 "static_points.c"
}
LiveChartBounds*
live_chart_static_static_points_get_bounds (LiveChartStaticStaticPoints* self)
{
LiveChartBounds* result;
LiveChartBounds* _tmp0_;
#line 10 "../src/static/static_points.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 10 "../src/static/static_points.vala"
_tmp0_ = self->priv->_bounds;
#line 10 "../src/static/static_points.vala"
result = _tmp0_;
#line 10 "../src/static/static_points.vala"
return result;
#line 574 "static_points.c"
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 10 "../src/static/static_points.vala"
return self ? g_object_ref (self) : NULL;
#line 582 "static_points.c"
}
void
live_chart_static_static_points_set_bounds (LiveChartStaticStaticPoints* self,
LiveChartBounds* value)
{
LiveChartBounds* old_value;
#line 10 "../src/static/static_points.vala"
g_return_if_fail (self != NULL);
#line 10 "../src/static/static_points.vala"
old_value = live_chart_static_static_points_get_bounds (self);
#line 10 "../src/static/static_points.vala"
if (old_value != value) {
#line 596 "static_points.c"
LiveChartBounds* _tmp0_;
#line 10 "../src/static/static_points.vala"
_tmp0_ = _g_object_ref0 (value);
#line 10 "../src/static/static_points.vala"
_g_object_unref0 (self->priv->_bounds);
#line 10 "../src/static/static_points.vala"
self->priv->_bounds = _tmp0_;
#line 10 "../src/static/static_points.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_points_properties[LIVE_CHART_STATIC_STATIC_POINTS_BOUNDS_PROPERTY]);
#line 606 "static_points.c"
}
}
gint
live_chart_static_static_points_get_size (LiveChartStaticStaticPoints* self)
{
gint result;
GeeArrayList* _tmp0_;
gint _tmp1_;
gint _tmp2_;
#line 23 "../src/static/static_points.vala"
g_return_val_if_fail (self != NULL, 0);
#line 24 "../src/static/static_points.vala"
_tmp0_ = self->priv->points;
#line 24 "../src/static/static_points.vala"
_tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
#line 24 "../src/static/static_points.vala"
_tmp2_ = _tmp1_;
#line 24 "../src/static/static_points.vala"
result = _tmp2_;
#line 24 "../src/static/static_points.vala"
return result;
#line 629 "static_points.c"
}
gdouble
live_chart_static_static_points_get_realtime_delta (LiveChartStaticStaticPoints* self)
{
gdouble result;
#line 29 "../src/static/static_points.vala"
g_return_val_if_fail (self != NULL, 0.0);
#line 29 "../src/static/static_points.vala"
result = self->priv->_realtime_delta;
#line 29 "../src/static/static_points.vala"
return result;
#line 642 "static_points.c"
}
void
live_chart_static_static_points_set_realtime_delta (LiveChartStaticStaticPoints* self,
gdouble value)
{
gdouble old_value;
#line 29 "../src/static/static_points.vala"
g_return_if_fail (self != NULL);
#line 29 "../src/static/static_points.vala"
old_value = live_chart_static_static_points_get_realtime_delta (self);
#line 29 "../src/static/static_points.vala"
if (old_value != value) {
#line 29 "../src/static/static_points.vala"
self->priv->_realtime_delta = value;
#line 29 "../src/static/static_points.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_points_properties[LIVE_CHART_STATIC_STATIC_POINTS_REALTIME_DELTA_PROPERTY]);
#line 660 "static_points.c"
}
}
static void
live_chart_static_static_points_class_init (LiveChartStaticStaticPointsClass * klass,
gpointer klass_data)
{
#line 6 "../src/static/static_points.vala"
live_chart_static_static_points_parent_class = g_type_class_peek_parent (klass);
#line 6 "../src/static/static_points.vala"
g_type_class_adjust_private_offset (klass, &LiveChartStaticStaticPoints_private_offset);
#line 6 "../src/static/static_points.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_static_static_points_get_property;
#line 6 "../src/static/static_points.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_static_static_points_set_property;
#line 6 "../src/static/static_points.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_static_static_points_finalize;
#line 6 "../src/static/static_points.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_POINTS_BOUNDS_PROPERTY, live_chart_static_static_points_properties[LIVE_CHART_STATIC_STATIC_POINTS_BOUNDS_PROPERTY] = g_param_spec_object ("bounds", "bounds", "bounds", LIVE_CHART_TYPE_BOUNDS, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 6 "../src/static/static_points.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_POINTS_SIZE_PROPERTY, live_chart_static_static_points_properties[LIVE_CHART_STATIC_STATIC_POINTS_SIZE_PROPERTY] = g_param_spec_int ("size", "size", "size", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
#line 6 "../src/static/static_points.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_POINTS_REALTIME_DELTA_PROPERTY, live_chart_static_static_points_properties[LIVE_CHART_STATIC_STATIC_POINTS_REALTIME_DELTA_PROPERTY] = g_param_spec_double ("realtime-delta", "realtime-delta", "realtime-delta", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 684 "static_points.c"
}
static void
live_chart_static_static_points_instance_init (LiveChartStaticStaticPoints * self,
gpointer klass)
{
GeeArrayList* _tmp0_;
#line 6 "../src/static/static_points.vala"
self->priv = live_chart_static_static_points_get_instance_private (self);
#line 8 "../src/static/static_points.vala"
_tmp0_ = gee_array_list_new (LIVE_CHART_TYPE_POINT, (GBoxedCopyFunc) live_chart_point_dup, (GDestroyNotify) live_chart_point_free, NULL, NULL, NULL);
#line 8 "../src/static/static_points.vala"
self->priv->points = _tmp0_;
#line 698 "static_points.c"
}
static void
live_chart_static_static_points_finalize (GObject * obj)
{
LiveChartStaticStaticPoints * self;
#line 6 "../src/static/static_points.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_STATIC_TYPE_STATIC_POINTS, LiveChartStaticStaticPoints);
#line 8 "../src/static/static_points.vala"
_g_object_unref0 (self->priv->points);
#line 9 "../src/static/static_points.vala"
_g_object_unref0 (self->priv->_bounds);
#line 6 "../src/static/static_points.vala"
G_OBJECT_CLASS (live_chart_static_static_points_parent_class)->finalize (obj);
#line 713 "static_points.c"
}
static GType
live_chart_static_static_points_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartStaticStaticPointsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_static_static_points_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartStaticStaticPoints), 0, (GInstanceInitFunc) live_chart_static_static_points_instance_init, NULL };
GType live_chart_static_static_points_type_id;
live_chart_static_static_points_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartStaticStaticPoints", &g_define_type_info, 0);
LiveChartStaticStaticPoints_private_offset = g_type_add_instance_private (live_chart_static_static_points_type_id, sizeof (LiveChartStaticStaticPointsPrivate));
return live_chart_static_static_points_type_id;
}
GType
live_chart_static_static_points_get_type (void)
{
static volatile gsize live_chart_static_static_points_type_id__once = 0;
if (g_once_init_enter (&live_chart_static_static_points_type_id__once)) {
GType live_chart_static_static_points_type_id;
live_chart_static_static_points_type_id = live_chart_static_static_points_get_type_once ();
g_once_init_leave (&live_chart_static_static_points_type_id__once, live_chart_static_static_points_type_id);
}
return live_chart_static_static_points_type_id__once;
}
static void
_vala_live_chart_static_static_points_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartStaticStaticPoints * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_STATIC_TYPE_STATIC_POINTS, LiveChartStaticStaticPoints);
#line 6 "../src/static/static_points.vala"
switch (property_id) {
#line 6 "../src/static/static_points.vala"
case LIVE_CHART_STATIC_STATIC_POINTS_BOUNDS_PROPERTY:
#line 6 "../src/static/static_points.vala"
g_value_set_object (value, live_chart_static_static_points_get_bounds (self));
#line 6 "../src/static/static_points.vala"
break;
#line 6 "../src/static/static_points.vala"
case LIVE_CHART_STATIC_STATIC_POINTS_SIZE_PROPERTY:
#line 6 "../src/static/static_points.vala"
g_value_set_int (value, live_chart_static_static_points_get_size (self));
#line 6 "../src/static/static_points.vala"
break;
#line 6 "../src/static/static_points.vala"
case LIVE_CHART_STATIC_STATIC_POINTS_REALTIME_DELTA_PROPERTY:
#line 6 "../src/static/static_points.vala"
g_value_set_double (value, live_chart_static_static_points_get_realtime_delta (self));
#line 6 "../src/static/static_points.vala"
break;
#line 766 "static_points.c"
default:
#line 6 "../src/static/static_points.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "../src/static/static_points.vala"
break;
#line 772 "static_points.c"
}
}
static void
_vala_live_chart_static_static_points_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartStaticStaticPoints * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_STATIC_TYPE_STATIC_POINTS, LiveChartStaticStaticPoints);
#line 6 "../src/static/static_points.vala"
switch (property_id) {
#line 6 "../src/static/static_points.vala"
case LIVE_CHART_STATIC_STATIC_POINTS_BOUNDS_PROPERTY:
#line 6 "../src/static/static_points.vala"
live_chart_static_static_points_set_bounds (self, g_value_get_object (value));
#line 6 "../src/static/static_points.vala"
break;
#line 6 "../src/static/static_points.vala"
case LIVE_CHART_STATIC_STATIC_POINTS_REALTIME_DELTA_PROPERTY:
#line 6 "../src/static/static_points.vala"
live_chart_static_static_points_set_realtime_delta (self, g_value_get_double (value));
#line 6 "../src/static/static_points.vala"
break;
#line 798 "static_points.c"
default:
#line 6 "../src/static/static_points.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "../src/static/static_points.vala"
break;
#line 804 "static_points.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,619 @@
/* static_serie.c generated by valac 0.56.0, the Vala compiler
* generated from static_serie.vala, do not modify */
#include "livechart.h"
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <glib-object.h>
#include <cairo-gobject.h>
#include <float.h>
#include <math.h>
#include <gee.h>
#include <gdk/gdk.h>
enum {
LIVE_CHART_STATIC_STATIC_SERIE_0_PROPERTY,
LIVE_CHART_STATIC_STATIC_SERIE_NAME_PROPERTY,
LIVE_CHART_STATIC_STATIC_SERIE_MAIN_COLOR_PROPERTY,
LIVE_CHART_STATIC_STATIC_SERIE_LINE_PROPERTY,
LIVE_CHART_STATIC_STATIC_SERIE_VISIBLE_PROPERTY,
LIVE_CHART_STATIC_STATIC_SERIE_NUM_PROPERTIES
};
static GParamSpec* live_chart_static_static_serie_properties[LIVE_CHART_STATIC_STATIC_SERIE_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
enum {
LIVE_CHART_STATIC_STATIC_SERIE_VALUE_ADDED_SIGNAL,
LIVE_CHART_STATIC_STATIC_SERIE_NUM_SIGNALS
};
static guint live_chart_static_static_serie_signals[LIVE_CHART_STATIC_STATIC_SERIE_NUM_SIGNALS] = {0};
struct _LiveChartStaticStaticSeriePrivate {
gchar* _name;
gboolean _visible;
LiveChartStaticStaticSerieRenderer* renderer;
};
static gint LiveChartStaticStaticSerie_private_offset;
static gpointer live_chart_static_static_serie_parent_class = NULL;
static LiveChartColorableIface * live_chart_static_static_serie_live_chart_colorable_parent_iface = NULL;
static LiveChartDrawableIface * live_chart_static_static_serie_live_chart_drawable_parent_iface = NULL;
static void live_chart_static_static_serie_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_static_static_serie_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result);
static void live_chart_static_static_serie_finalize (GObject * obj);
static GType live_chart_static_static_serie_get_type_once (void);
static void _vala_live_chart_static_static_serie_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_static_static_serie_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_static_static_serie_get_instance_private (LiveChartStaticStaticSerie* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartStaticStaticSerie_private_offset);
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 39 "../src/static/static_serie.vala"
return self ? g_object_ref (self) : NULL;
#line 73 "static_serie.c"
}
LiveChartStaticStaticSerie*
live_chart_static_static_serie_construct (GType object_type,
const gchar* name,
LiveChartStaticStaticSerieRenderer* renderer)
{
LiveChartStaticStaticSerie * self = NULL;
LiveChartStaticStaticSerieRenderer* _tmp0_;
#line 37 "../src/static/static_serie.vala"
g_return_val_if_fail (name != NULL, NULL);
#line 37 "../src/static/static_serie.vala"
g_return_val_if_fail (renderer != NULL, NULL);
#line 37 "../src/static/static_serie.vala"
self = (LiveChartStaticStaticSerie*) g_object_new (object_type, NULL);
#line 38 "../src/static/static_serie.vala"
live_chart_static_static_serie_set_name (self, name);
#line 39 "../src/static/static_serie.vala"
_tmp0_ = _g_object_ref0 (renderer);
#line 39 "../src/static/static_serie.vala"
_g_object_unref0 (self->priv->renderer);
#line 39 "../src/static/static_serie.vala"
self->priv->renderer = _tmp0_;
#line 37 "../src/static/static_serie.vala"
return self;
#line 99 "static_serie.c"
}
LiveChartStaticStaticSerie*
live_chart_static_static_serie_new (const gchar* name,
LiveChartStaticStaticSerieRenderer* renderer)
{
#line 37 "../src/static/static_serie.vala"
return live_chart_static_static_serie_construct (LIVE_CHART_STATIC_TYPE_STATIC_SERIE, name, renderer);
#line 108 "static_serie.c"
}
static void
live_chart_static_static_serie_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartStaticStaticSerie * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 42 "../src/static/static_serie.vala"
self = (LiveChartStaticStaticSerie*) base;
#line 42 "../src/static/static_serie.vala"
g_return_if_fail (ctx != NULL);
#line 42 "../src/static/static_serie.vala"
g_return_if_fail (config != NULL);
#line 43 "../src/static/static_serie.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 43 "../src/static/static_serie.vala"
_tmp1_ = _tmp0_;
#line 43 "../src/static/static_serie.vala"
if (_tmp1_) {
#line 131 "static_serie.c"
LiveChartStaticStaticSerieRenderer* _tmp2_;
#line 44 "../src/static/static_serie.vala"
_tmp2_ = self->priv->renderer;
#line 44 "../src/static/static_serie.vala"
live_chart_static_static_serie_renderer_draw (_tmp2_, ctx, config);
#line 137 "static_serie.c"
}
}
void
live_chart_static_static_serie_add (LiveChartStaticStaticSerie* self,
const gchar* name,
gdouble value)
{
LiveChartStaticStaticSerieRenderer* _tmp0_;
LiveChartStaticStaticValues* _tmp1_;
LiveChartStaticStaticValues* _tmp2_;
LiveChartStaticNamedValue _tmp3_ = {0};
#line 48 "../src/static/static_serie.vala"
g_return_if_fail (self != NULL);
#line 48 "../src/static/static_serie.vala"
g_return_if_fail (name != NULL);
#line 49 "../src/static/static_serie.vala"
_tmp0_ = self->priv->renderer;
#line 49 "../src/static/static_serie.vala"
_tmp1_ = live_chart_static_static_serie_renderer_get_values (_tmp0_);
#line 49 "../src/static/static_serie.vala"
_tmp2_ = _tmp1_;
#line 49 "../src/static/static_serie.vala"
_g_free0 (_tmp3_.name);
#line 49 "../src/static/static_serie.vala"
_tmp3_.name = name;
#line 49 "../src/static/static_serie.vala"
_tmp3_.value = value;
#line 49 "../src/static/static_serie.vala"
live_chart_static_static_values_add (_tmp2_, &_tmp3_);
#line 49 "../src/static/static_serie.vala"
_g_object_unref0 (_tmp2_);
#line 50 "../src/static/static_serie.vala"
g_signal_emit (self, live_chart_static_static_serie_signals[LIVE_CHART_STATIC_STATIC_SERIE_VALUE_ADDED_SIGNAL], 0, value);
#line 172 "static_serie.c"
}
LiveChartStaticStaticValues*
live_chart_static_static_serie_get_values (LiveChartStaticStaticSerie* self)
{
LiveChartStaticStaticSerieRenderer* _tmp0_;
LiveChartStaticStaticValues* _tmp1_;
LiveChartStaticStaticValues* result;
#line 53 "../src/static/static_serie.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 54 "../src/static/static_serie.vala"
_tmp0_ = self->priv->renderer;
#line 54 "../src/static/static_serie.vala"
_tmp1_ = live_chart_static_static_serie_renderer_get_values (_tmp0_);
#line 54 "../src/static/static_serie.vala"
result = _tmp1_;
#line 54 "../src/static/static_serie.vala"
return result;
#line 191 "static_serie.c"
}
void
live_chart_static_static_serie_clear (LiveChartStaticStaticSerie* self)
{
LiveChartStaticStaticSerieRenderer* _tmp0_;
LiveChartStaticStaticValues* _tmp1_;
LiveChartStaticStaticValues* _tmp2_;
#line 57 "../src/static/static_serie.vala"
g_return_if_fail (self != NULL);
#line 58 "../src/static/static_serie.vala"
_tmp0_ = self->priv->renderer;
#line 58 "../src/static/static_serie.vala"
_tmp1_ = live_chart_static_static_serie_renderer_get_values (_tmp0_);
#line 58 "../src/static/static_serie.vala"
_tmp2_ = _tmp1_;
#line 58 "../src/static/static_serie.vala"
gee_abstract_collection_clear ((GeeAbstractCollection*) _tmp2_);
#line 58 "../src/static/static_serie.vala"
_g_object_unref0 (_tmp2_);
#line 212 "static_serie.c"
}
static void
live_chart_static_static_serie_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result)
{
LiveChartStaticStaticSerie * self;
LiveChartStaticStaticSerieRenderer* _tmp0_;
LiveChartBoundingBox _tmp1_ = {0};
#line 61 "../src/static/static_serie.vala"
self = (LiveChartStaticStaticSerie*) base;
#line 62 "../src/static/static_serie.vala"
_tmp0_ = self->priv->renderer;
#line 62 "../src/static/static_serie.vala"
live_chart_drawable_get_bounding_box ((LiveChartDrawable*) _tmp0_, &_tmp1_);
#line 62 "../src/static/static_serie.vala"
*result = _tmp1_;
#line 62 "../src/static/static_serie.vala"
return;
#line 232 "static_serie.c"
}
const gchar*
live_chart_static_static_serie_get_name (LiveChartStaticStaticSerie* self)
{
const gchar* result;
const gchar* _tmp0_;
#line 9 "../src/static/static_serie.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 9 "../src/static/static_serie.vala"
_tmp0_ = self->priv->_name;
#line 9 "../src/static/static_serie.vala"
result = _tmp0_;
#line 9 "../src/static/static_serie.vala"
return result;
#line 248 "static_serie.c"
}
void
live_chart_static_static_serie_set_name (LiveChartStaticStaticSerie* self,
const gchar* value)
{
gchar* old_value;
#line 9 "../src/static/static_serie.vala"
g_return_if_fail (self != NULL);
#line 9 "../src/static/static_serie.vala"
old_value = live_chart_static_static_serie_get_name (self);
#line 9 "../src/static/static_serie.vala"
if (g_strcmp0 (value, old_value) != 0) {
#line 262 "static_serie.c"
gchar* _tmp0_;
#line 9 "../src/static/static_serie.vala"
_tmp0_ = g_strdup (value);
#line 9 "../src/static/static_serie.vala"
_g_free0 (self->priv->_name);
#line 9 "../src/static/static_serie.vala"
self->priv->_name = _tmp0_;
#line 9 "../src/static/static_serie.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_serie_properties[LIVE_CHART_STATIC_STATIC_SERIE_NAME_PROPERTY]);
#line 272 "static_serie.c"
}
}
static void
live_chart_static_static_serie_real_get_main_color (LiveChartColorable* base,
GdkRGBA * result)
{
LiveChartStaticStaticSerie* self;
LiveChartStaticStaticSerieRenderer* _tmp0_;
LiveChartPath* _tmp1_;
LiveChartPath* _tmp2_;
GdkRGBA _tmp3_ = {0};
GdkRGBA _tmp4_;
#line 13 "../src/static/static_serie.vala"
self = (LiveChartStaticStaticSerie*) base;
#line 14 "../src/static/static_serie.vala"
_tmp0_ = self->priv->renderer;
#line 14 "../src/static/static_serie.vala"
_tmp1_ = live_chart_static_static_serie_renderer_get_line (_tmp0_);
#line 14 "../src/static/static_serie.vala"
_tmp2_ = _tmp1_;
#line 14 "../src/static/static_serie.vala"
live_chart_path_get_color (_tmp2_, &_tmp3_);
#line 14 "../src/static/static_serie.vala"
_tmp4_ = _tmp3_;
#line 14 "../src/static/static_serie.vala"
*result = _tmp4_;
#line 14 "../src/static/static_serie.vala"
return;
#line 302 "static_serie.c"
}
static void
live_chart_static_static_serie_real_set_main_color (LiveChartColorable* base,
GdkRGBA * value)
{
LiveChartStaticStaticSerie* self;
LiveChartStaticStaticSerieRenderer* _tmp0_;
LiveChartPath* _tmp1_;
LiveChartPath* _tmp2_;
GdkRGBA _tmp3_;
#line 17 "../src/static/static_serie.vala"
self = (LiveChartStaticStaticSerie*) base;
#line 18 "../src/static/static_serie.vala"
_tmp0_ = self->priv->renderer;
#line 18 "../src/static/static_serie.vala"
_tmp1_ = live_chart_static_static_serie_renderer_get_line (_tmp0_);
#line 18 "../src/static/static_serie.vala"
_tmp2_ = _tmp1_;
#line 18 "../src/static/static_serie.vala"
_tmp3_ = *value;
#line 18 "../src/static/static_serie.vala"
live_chart_path_set_color (_tmp2_, &_tmp3_);
#line 17 "../src/static/static_serie.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_serie_properties[LIVE_CHART_STATIC_STATIC_SERIE_MAIN_COLOR_PROPERTY]);
#line 328 "static_serie.c"
}
LiveChartPath*
live_chart_static_static_serie_get_line (LiveChartStaticStaticSerie* self)
{
LiveChartPath* result;
LiveChartStaticStaticSerieRenderer* _tmp0_;
LiveChartPath* _tmp1_;
LiveChartPath* _tmp2_;
#line 22 "../src/static/static_serie.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 23 "../src/static/static_serie.vala"
_tmp0_ = self->priv->renderer;
#line 23 "../src/static/static_serie.vala"
_tmp1_ = live_chart_static_static_serie_renderer_get_line (_tmp0_);
#line 23 "../src/static/static_serie.vala"
_tmp2_ = _tmp1_;
#line 23 "../src/static/static_serie.vala"
result = _tmp2_;
#line 23 "../src/static/static_serie.vala"
return result;
#line 350 "static_serie.c"
}
void
live_chart_static_static_serie_set_line (LiveChartStaticStaticSerie* self,
LiveChartPath* value)
{
LiveChartStaticStaticSerieRenderer* _tmp0_;
#line 26 "../src/static/static_serie.vala"
g_return_if_fail (self != NULL);
#line 27 "../src/static/static_serie.vala"
_tmp0_ = self->priv->renderer;
#line 27 "../src/static/static_serie.vala"
live_chart_static_static_serie_renderer_set_line (_tmp0_, value);
#line 26 "../src/static/static_serie.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_serie_properties[LIVE_CHART_STATIC_STATIC_SERIE_LINE_PROPERTY]);
#line 366 "static_serie.c"
}
static gboolean
live_chart_static_static_serie_real_get_visible (LiveChartDrawable* base)
{
gboolean result;
LiveChartStaticStaticSerie* self;
#line 31 "../src/static/static_serie.vala"
self = (LiveChartStaticStaticSerie*) base;
#line 31 "../src/static/static_serie.vala"
result = self->priv->_visible;
#line 31 "../src/static/static_serie.vala"
return result;
#line 380 "static_serie.c"
}
static void
live_chart_static_static_serie_real_set_visible (LiveChartDrawable* base,
gboolean value)
{
LiveChartStaticStaticSerie* self;
gboolean old_value;
#line 31 "../src/static/static_serie.vala"
self = (LiveChartStaticStaticSerie*) base;
#line 31 "../src/static/static_serie.vala"
old_value = live_chart_static_static_serie_real_get_visible (base);
#line 31 "../src/static/static_serie.vala"
if (old_value != value) {
#line 31 "../src/static/static_serie.vala"
self->priv->_visible = value;
#line 31 "../src/static/static_serie.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_serie_properties[LIVE_CHART_STATIC_STATIC_SERIE_VISIBLE_PROPERTY]);
#line 399 "static_serie.c"
}
}
static void
live_chart_static_static_serie_class_init (LiveChartStaticStaticSerieClass * klass,
gpointer klass_data)
{
#line 6 "../src/static/static_serie.vala"
live_chart_static_static_serie_parent_class = g_type_class_peek_parent (klass);
#line 6 "../src/static/static_serie.vala"
g_type_class_adjust_private_offset (klass, &LiveChartStaticStaticSerie_private_offset);
#line 6 "../src/static/static_serie.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_static_static_serie_get_property;
#line 6 "../src/static/static_serie.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_static_static_serie_set_property;
#line 6 "../src/static/static_serie.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_static_static_serie_finalize;
#line 6 "../src/static/static_serie.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_SERIE_NAME_PROPERTY, live_chart_static_static_serie_properties[LIVE_CHART_STATIC_STATIC_SERIE_NAME_PROPERTY] = g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "../src/static/static_serie.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_SERIE_MAIN_COLOR_PROPERTY, live_chart_static_static_serie_properties[LIVE_CHART_STATIC_STATIC_SERIE_MAIN_COLOR_PROPERTY] = g_param_spec_boxed ("main-color", "main-color", "main-color", gdk_rgba_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "../src/static/static_serie.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_SERIE_LINE_PROPERTY, live_chart_static_static_serie_properties[LIVE_CHART_STATIC_STATIC_SERIE_LINE_PROPERTY] = g_param_spec_object ("line", "line", "line", LIVE_CHART_TYPE_PATH, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "../src/static/static_serie.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_SERIE_VISIBLE_PROPERTY, live_chart_static_static_serie_properties[LIVE_CHART_STATIC_STATIC_SERIE_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "../src/static/static_serie.vala"
live_chart_static_static_serie_signals[LIVE_CHART_STATIC_STATIC_SERIE_VALUE_ADDED_SIGNAL] = g_signal_new ("value-added", LIVE_CHART_STATIC_TYPE_STATIC_SERIE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__DOUBLE, G_TYPE_NONE, 1, G_TYPE_DOUBLE);
#line 427 "static_serie.c"
}
static void
live_chart_static_static_serie_live_chart_colorable_interface_init (LiveChartColorableIface * iface,
gpointer iface_data)
{
#line 6 "../src/static/static_serie.vala"
live_chart_static_static_serie_live_chart_colorable_parent_iface = g_type_interface_peek_parent (iface);
#line 6 "../src/static/static_serie.vala"
iface->get_main_color = live_chart_static_static_serie_real_get_main_color;
#line 6 "../src/static/static_serie.vala"
iface->set_main_color = live_chart_static_static_serie_real_set_main_color;
#line 440 "static_serie.c"
}
static void
live_chart_static_static_serie_live_chart_drawable_interface_init (LiveChartDrawableIface * iface,
gpointer iface_data)
{
#line 6 "../src/static/static_serie.vala"
live_chart_static_static_serie_live_chart_drawable_parent_iface = g_type_interface_peek_parent (iface);
#line 6 "../src/static/static_serie.vala"
iface->draw = (void (*) (LiveChartDrawable*, cairo_t*, LiveChartConfig*)) live_chart_static_static_serie_real_draw;
#line 6 "../src/static/static_serie.vala"
iface->get_bounding_box = (void (*) (LiveChartDrawable*, LiveChartBoundingBox*)) live_chart_static_static_serie_real_get_bounding_box;
#line 6 "../src/static/static_serie.vala"
iface->get_visible = live_chart_static_static_serie_real_get_visible;
#line 6 "../src/static/static_serie.vala"
iface->set_visible = live_chart_static_static_serie_real_set_visible;
#line 457 "static_serie.c"
}
static void
live_chart_static_static_serie_instance_init (LiveChartStaticStaticSerie * self,
gpointer klass)
{
#line 6 "../src/static/static_serie.vala"
self->priv = live_chart_static_static_serie_get_instance_private (self);
#line 31 "../src/static/static_serie.vala"
self->priv->_visible = TRUE;
#line 468 "static_serie.c"
}
static void
live_chart_static_static_serie_finalize (GObject * obj)
{
LiveChartStaticStaticSerie * self;
#line 6 "../src/static/static_serie.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_STATIC_TYPE_STATIC_SERIE, LiveChartStaticStaticSerie);
#line 8 "../src/static/static_serie.vala"
_g_free0 (self->priv->_name);
#line 35 "../src/static/static_serie.vala"
_g_object_unref0 (self->priv->renderer);
#line 6 "../src/static/static_serie.vala"
G_OBJECT_CLASS (live_chart_static_static_serie_parent_class)->finalize (obj);
#line 483 "static_serie.c"
}
static GType
live_chart_static_static_serie_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartStaticStaticSerieClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_static_static_serie_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartStaticStaticSerie), 0, (GInstanceInitFunc) live_chart_static_static_serie_instance_init, NULL };
static const GInterfaceInfo live_chart_colorable_info = { (GInterfaceInitFunc) live_chart_static_static_serie_live_chart_colorable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
static const GInterfaceInfo live_chart_drawable_info = { (GInterfaceInitFunc) live_chart_static_static_serie_live_chart_drawable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
GType live_chart_static_static_serie_type_id;
live_chart_static_static_serie_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartStaticStaticSerie", &g_define_type_info, 0);
g_type_add_interface_static (live_chart_static_static_serie_type_id, LIVE_CHART_TYPE_COLORABLE, &live_chart_colorable_info);
g_type_add_interface_static (live_chart_static_static_serie_type_id, LIVE_CHART_TYPE_DRAWABLE, &live_chart_drawable_info);
LiveChartStaticStaticSerie_private_offset = g_type_add_instance_private (live_chart_static_static_serie_type_id, sizeof (LiveChartStaticStaticSeriePrivate));
return live_chart_static_static_serie_type_id;
}
GType
live_chart_static_static_serie_get_type (void)
{
static volatile gsize live_chart_static_static_serie_type_id__once = 0;
if (g_once_init_enter (&live_chart_static_static_serie_type_id__once)) {
GType live_chart_static_static_serie_type_id;
live_chart_static_static_serie_type_id = live_chart_static_static_serie_get_type_once ();
g_once_init_leave (&live_chart_static_static_serie_type_id__once, live_chart_static_static_serie_type_id);
}
return live_chart_static_static_serie_type_id__once;
}
static void
_vala_live_chart_static_static_serie_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartStaticStaticSerie * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_STATIC_TYPE_STATIC_SERIE, LiveChartStaticStaticSerie);
#line 6 "../src/static/static_serie.vala"
switch (property_id) {
#line 6 "../src/static/static_serie.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_NAME_PROPERTY:
#line 6 "../src/static/static_serie.vala"
g_value_set_string (value, live_chart_static_static_serie_get_name (self));
#line 6 "../src/static/static_serie.vala"
break;
#line 6 "../src/static/static_serie.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_MAIN_COLOR_PROPERTY:
#line 530 "static_serie.c"
{
GdkRGBA boxed;
#line 6 "../src/static/static_serie.vala"
live_chart_colorable_get_main_color ((LiveChartColorable*) self, &boxed);
#line 6 "../src/static/static_serie.vala"
g_value_set_boxed (value, &boxed);
#line 537 "static_serie.c"
}
#line 6 "../src/static/static_serie.vala"
break;
#line 6 "../src/static/static_serie.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_LINE_PROPERTY:
#line 6 "../src/static/static_serie.vala"
g_value_set_object (value, live_chart_static_static_serie_get_line (self));
#line 6 "../src/static/static_serie.vala"
break;
#line 6 "../src/static/static_serie.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_VISIBLE_PROPERTY:
#line 6 "../src/static/static_serie.vala"
g_value_set_boolean (value, live_chart_drawable_get_visible ((LiveChartDrawable*) self));
#line 6 "../src/static/static_serie.vala"
break;
#line 553 "static_serie.c"
default:
#line 6 "../src/static/static_serie.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "../src/static/static_serie.vala"
break;
#line 559 "static_serie.c"
}
}
static void
_vala_live_chart_static_static_serie_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartStaticStaticSerie * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_STATIC_TYPE_STATIC_SERIE, LiveChartStaticStaticSerie);
#line 6 "../src/static/static_serie.vala"
switch (property_id) {
#line 6 "../src/static/static_serie.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_NAME_PROPERTY:
#line 6 "../src/static/static_serie.vala"
live_chart_static_static_serie_set_name (self, g_value_get_string (value));
#line 6 "../src/static/static_serie.vala"
break;
#line 6 "../src/static/static_serie.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_MAIN_COLOR_PROPERTY:
#line 6 "../src/static/static_serie.vala"
live_chart_colorable_set_main_color ((LiveChartColorable*) self, g_value_get_boxed (value));
#line 6 "../src/static/static_serie.vala"
break;
#line 6 "../src/static/static_serie.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_LINE_PROPERTY:
#line 6 "../src/static/static_serie.vala"
live_chart_static_static_serie_set_line (self, g_value_get_object (value));
#line 6 "../src/static/static_serie.vala"
break;
#line 6 "../src/static/static_serie.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_VISIBLE_PROPERTY:
#line 6 "../src/static/static_serie.vala"
live_chart_drawable_set_visible ((LiveChartDrawable*) self, g_value_get_boolean (value));
#line 6 "../src/static/static_serie.vala"
break;
#line 597 "static_serie.c"
default:
#line 6 "../src/static/static_serie.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "../src/static/static_serie.vala"
break;
#line 603 "static_serie.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,483 @@
/* static_serie_renderer.c generated by valac 0.56.0, the Vala compiler
* generated from static_serie_renderer.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <cairo-gobject.h>
#include <float.h>
#include <math.h>
#include <string.h>
#include <glib-object.h>
#include <gdk/gdk.h>
#include <stdlib.h>
#define LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_VIRTUAL_LEFT_PADDING -200
enum {
LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_0_PROPERTY,
LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_VISIBLE_PROPERTY,
LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_LINE_PROPERTY,
LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_NUM_PROPERTIES
};
static GParamSpec* live_chart_static_static_serie_renderer_properties[LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
struct _LiveChartStaticStaticSerieRendererPrivate {
gboolean _visible;
LiveChartPath* _line;
};
static gint LiveChartStaticStaticSerieRenderer_private_offset;
static gpointer live_chart_static_static_serie_renderer_parent_class = NULL;
static LiveChartDrawableIface * live_chart_static_static_serie_renderer_live_chart_drawable_parent_iface = NULL;
static void live_chart_static_static_serie_renderer_real_draw (LiveChartStaticStaticSerieRenderer* self,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_static_static_serie_renderer_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result);
static void live_chart_static_static_serie_renderer_finalize (GObject * obj);
static GType live_chart_static_static_serie_renderer_get_type_once (void);
static void _vala_live_chart_static_static_serie_renderer_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_static_static_serie_renderer_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_static_static_serie_renderer_get_instance_private (LiveChartStaticStaticSerieRenderer* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartStaticStaticSerieRenderer_private_offset);
}
LiveChartStaticStaticSerieRenderer*
live_chart_static_static_serie_renderer_construct (GType object_type)
{
LiveChartStaticStaticSerieRenderer * self = NULL;
GdkRGBA _tmp0_ = {0};
LiveChartPath* _tmp1_;
LiveChartPath* _tmp2_;
#line 14 "../src/static/static_serie_renderer.vala"
self = (LiveChartStaticStaticSerieRenderer*) g_object_new (object_type, NULL);
#line 15 "../src/static/static_serie_renderer.vala"
_tmp0_.red = 1.0;
#line 15 "../src/static/static_serie_renderer.vala"
_tmp0_.green = 1.0;
#line 15 "../src/static/static_serie_renderer.vala"
_tmp0_.blue = 1.0;
#line 15 "../src/static/static_serie_renderer.vala"
_tmp0_.alpha = 1.0;
#line 15 "../src/static/static_serie_renderer.vala"
_tmp1_ = live_chart_path_new ((gdouble) 1, &_tmp0_, TRUE, NULL);
#line 15 "../src/static/static_serie_renderer.vala"
_tmp2_ = _tmp1_;
#line 15 "../src/static/static_serie_renderer.vala"
live_chart_static_static_serie_renderer_set_line (self, _tmp2_);
#line 15 "../src/static/static_serie_renderer.vala"
_g_object_unref0 (_tmp2_);
#line 14 "../src/static/static_serie_renderer.vala"
return self;
#line 87 "static_serie_renderer.c"
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 27 "../src/static/static_serie_renderer.vala"
return self ? g_object_ref (self) : NULL;
#line 95 "static_serie_renderer.c"
}
LiveChartStaticStaticValues*
live_chart_static_static_serie_renderer_get_values (LiveChartStaticStaticSerieRenderer* self)
{
LiveChartStaticStaticValues* _tmp0_;
LiveChartStaticStaticValues* _tmp1_;
LiveChartStaticStaticValues* result;
#line 26 "../src/static/static_serie_renderer.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 27 "../src/static/static_serie_renderer.vala"
_tmp0_ = self->values;
#line 27 "../src/static/static_serie_renderer.vala"
_tmp1_ = _g_object_ref0 (_tmp0_);
#line 27 "../src/static/static_serie_renderer.vala"
result = _tmp1_;
#line 27 "../src/static/static_serie_renderer.vala"
return result;
#line 114 "static_serie_renderer.c"
}
static void
live_chart_static_static_serie_renderer_real_draw (LiveChartStaticStaticSerieRenderer* self,
cairo_t* ctx,
LiveChartConfig* config)
{
#line 30 "../src/static/static_serie_renderer.vala"
g_critical ("Type `%s' does not implement abstract method `live_chart_static_static_serie_renderer_draw'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 30 "../src/static/static_serie_renderer.vala"
return;
#line 126 "static_serie_renderer.c"
}
void
live_chart_static_static_serie_renderer_draw (LiveChartStaticStaticSerieRenderer* self,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartStaticStaticSerieRendererClass* _klass_;
#line 30 "../src/static/static_serie_renderer.vala"
g_return_if_fail (self != NULL);
#line 30 "../src/static/static_serie_renderer.vala"
_klass_ = LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_GET_CLASS (self);
#line 30 "../src/static/static_serie_renderer.vala"
if (_klass_->draw) {
#line 30 "../src/static/static_serie_renderer.vala"
_klass_->draw (self, ctx, config);
#line 143 "static_serie_renderer.c"
}
}
static void
live_chart_static_static_serie_renderer_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result)
{
LiveChartStaticStaticSerieRenderer * self;
LiveChartBoundingBox _tmp0_;
#line 31 "../src/static/static_serie_renderer.vala"
self = (LiveChartStaticStaticSerieRenderer*) base;
#line 32 "../src/static/static_serie_renderer.vala"
_tmp0_ = self->bounding_box;
#line 32 "../src/static/static_serie_renderer.vala"
*result = _tmp0_;
#line 32 "../src/static/static_serie_renderer.vala"
return;
#line 161 "static_serie_renderer.c"
}
void
live_chart_static_static_serie_renderer_debug (LiveChartStaticStaticSerieRenderer* self,
cairo_t* ctx)
{
gchar* debug = NULL;
const gchar* _tmp0_;
gchar* _tmp1_;
const gchar* _tmp2_;
#line 35 "../src/static/static_serie_renderer.vala"
g_return_if_fail (self != NULL);
#line 35 "../src/static/static_serie_renderer.vala"
g_return_if_fail (ctx != NULL);
#line 36 "../src/static/static_serie_renderer.vala"
_tmp0_ = g_getenv ("LIVE_CHART_DEBUG");
#line 36 "../src/static/static_serie_renderer.vala"
_tmp1_ = g_strdup (_tmp0_);
#line 36 "../src/static/static_serie_renderer.vala"
debug = _tmp1_;
#line 37 "../src/static/static_serie_renderer.vala"
_tmp2_ = debug;
#line 37 "../src/static/static_serie_renderer.vala"
if (_tmp2_ != NULL) {
#line 186 "static_serie_renderer.c"
LiveChartBoundingBox _tmp3_;
LiveChartBoundingBox _tmp4_;
LiveChartBoundingBox _tmp5_;
LiveChartBoundingBox _tmp6_;
#line 38 "../src/static/static_serie_renderer.vala"
_tmp3_ = self->bounding_box;
#line 38 "../src/static/static_serie_renderer.vala"
_tmp4_ = self->bounding_box;
#line 38 "../src/static/static_serie_renderer.vala"
_tmp5_ = self->bounding_box;
#line 38 "../src/static/static_serie_renderer.vala"
_tmp6_ = self->bounding_box;
#line 38 "../src/static/static_serie_renderer.vala"
cairo_rectangle (ctx, _tmp3_.x, _tmp4_.y, _tmp5_.width, _tmp6_.height);
#line 39 "../src/static/static_serie_renderer.vala"
cairo_stroke (ctx);
#line 203 "static_serie_renderer.c"
}
#line 35 "../src/static/static_serie_renderer.vala"
_g_free0 (debug);
#line 207 "static_serie_renderer.c"
}
gboolean
live_chart_static_static_serie_renderer_is_out_of_area (LiveChartStaticStaticSerieRenderer* self,
LiveChartPoint* point)
{
LiveChartPoint _tmp0_;
gboolean result;
#line 43 "../src/static/static_serie_renderer.vala"
g_return_val_if_fail (self != NULL, FALSE);
#line 43 "../src/static/static_serie_renderer.vala"
g_return_val_if_fail (point != NULL, FALSE);
#line 44 "../src/static/static_serie_renderer.vala"
_tmp0_ = *point;
#line 44 "../src/static/static_serie_renderer.vala"
result = _tmp0_.x < ((gdouble) LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_VIRTUAL_LEFT_PADDING);
#line 44 "../src/static/static_serie_renderer.vala"
return result;
#line 226 "static_serie_renderer.c"
}
static gboolean
live_chart_static_static_serie_renderer_real_get_visible (LiveChartDrawable* base)
{
gboolean result;
LiveChartStaticStaticSerieRenderer* self;
#line 10 "../src/static/static_serie_renderer.vala"
self = (LiveChartStaticStaticSerieRenderer*) base;
#line 10 "../src/static/static_serie_renderer.vala"
result = self->priv->_visible;
#line 10 "../src/static/static_serie_renderer.vala"
return result;
#line 240 "static_serie_renderer.c"
}
static void
live_chart_static_static_serie_renderer_real_set_visible (LiveChartDrawable* base,
gboolean value)
{
LiveChartStaticStaticSerieRenderer* self;
gboolean old_value;
#line 10 "../src/static/static_serie_renderer.vala"
self = (LiveChartStaticStaticSerieRenderer*) base;
#line 10 "../src/static/static_serie_renderer.vala"
old_value = live_chart_static_static_serie_renderer_real_get_visible (base);
#line 10 "../src/static/static_serie_renderer.vala"
if (old_value != value) {
#line 10 "../src/static/static_serie_renderer.vala"
self->priv->_visible = value;
#line 10 "../src/static/static_serie_renderer.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_serie_renderer_properties[LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_VISIBLE_PROPERTY]);
#line 259 "static_serie_renderer.c"
}
}
LiveChartPath*
live_chart_static_static_serie_renderer_get_line (LiveChartStaticStaticSerieRenderer* self)
{
LiveChartPath* result;
LiveChartPath* _tmp0_;
#line 12 "../src/static/static_serie_renderer.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 12 "../src/static/static_serie_renderer.vala"
_tmp0_ = self->priv->_line;
#line 12 "../src/static/static_serie_renderer.vala"
result = _tmp0_;
#line 12 "../src/static/static_serie_renderer.vala"
return result;
#line 276 "static_serie_renderer.c"
}
void
live_chart_static_static_serie_renderer_set_line (LiveChartStaticStaticSerieRenderer* self,
LiveChartPath* value)
{
LiveChartPath* old_value;
#line 12 "../src/static/static_serie_renderer.vala"
g_return_if_fail (self != NULL);
#line 12 "../src/static/static_serie_renderer.vala"
old_value = live_chart_static_static_serie_renderer_get_line (self);
#line 12 "../src/static/static_serie_renderer.vala"
if (old_value != value) {
#line 290 "static_serie_renderer.c"
LiveChartPath* _tmp0_;
#line 12 "../src/static/static_serie_renderer.vala"
_tmp0_ = _g_object_ref0 (value);
#line 12 "../src/static/static_serie_renderer.vala"
_g_object_unref0 (self->priv->_line);
#line 12 "../src/static/static_serie_renderer.vala"
self->priv->_line = _tmp0_;
#line 12 "../src/static/static_serie_renderer.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_serie_renderer_properties[LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_LINE_PROPERTY]);
#line 300 "static_serie_renderer.c"
}
}
static void
live_chart_static_static_serie_renderer_class_init (LiveChartStaticStaticSerieRendererClass * klass,
gpointer klass_data)
{
#line 6 "../src/static/static_serie_renderer.vala"
live_chart_static_static_serie_renderer_parent_class = g_type_class_peek_parent (klass);
#line 6 "../src/static/static_serie_renderer.vala"
g_type_class_adjust_private_offset (klass, &LiveChartStaticStaticSerieRenderer_private_offset);
#line 6 "../src/static/static_serie_renderer.vala"
((LiveChartStaticStaticSerieRendererClass *) klass)->draw = (void (*) (LiveChartStaticStaticSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_static_static_serie_renderer_real_draw;
#line 6 "../src/static/static_serie_renderer.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_static_static_serie_renderer_get_property;
#line 6 "../src/static/static_serie_renderer.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_static_static_serie_renderer_set_property;
#line 6 "../src/static/static_serie_renderer.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_static_static_serie_renderer_finalize;
#line 6 "../src/static/static_serie_renderer.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_VISIBLE_PROPERTY, live_chart_static_static_serie_renderer_properties[LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "../src/static/static_serie_renderer.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_LINE_PROPERTY, live_chart_static_static_serie_renderer_properties[LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_LINE_PROPERTY] = g_param_spec_object ("line", "line", "line", LIVE_CHART_TYPE_PATH, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 324 "static_serie_renderer.c"
}
static void
live_chart_static_static_serie_renderer_live_chart_drawable_interface_init (LiveChartDrawableIface * iface,
gpointer iface_data)
{
#line 6 "../src/static/static_serie_renderer.vala"
live_chart_static_static_serie_renderer_live_chart_drawable_parent_iface = g_type_interface_peek_parent (iface);
#line 6 "../src/static/static_serie_renderer.vala"
iface->draw = (void (*) (LiveChartDrawable*, cairo_t*, LiveChartConfig*)) live_chart_static_static_serie_renderer_draw;
#line 6 "../src/static/static_serie_renderer.vala"
iface->get_bounding_box = (void (*) (LiveChartDrawable*, LiveChartBoundingBox*)) live_chart_static_static_serie_renderer_real_get_bounding_box;
#line 6 "../src/static/static_serie_renderer.vala"
iface->get_visible = live_chart_static_static_serie_renderer_real_get_visible;
#line 6 "../src/static/static_serie_renderer.vala"
iface->set_visible = live_chart_static_static_serie_renderer_real_set_visible;
#line 341 "static_serie_renderer.c"
}
static void
live_chart_static_static_serie_renderer_instance_init (LiveChartStaticStaticSerieRenderer * self,
gpointer klass)
{
LiveChartBoundingBox _tmp0_ = {0};
#line 6 "../src/static/static_serie_renderer.vala"
self->priv = live_chart_static_static_serie_renderer_get_instance_private (self);
#line 10 "../src/static/static_serie_renderer.vala"
self->priv->_visible = TRUE;
#line 18 "../src/static/static_serie_renderer.vala"
memset (&_tmp0_, 0, sizeof (LiveChartBoundingBox));
#line 18 "../src/static/static_serie_renderer.vala"
_tmp0_.x = (gdouble) 0;
#line 18 "../src/static/static_serie_renderer.vala"
_tmp0_.y = (gdouble) 0;
#line 18 "../src/static/static_serie_renderer.vala"
_tmp0_.width = (gdouble) 0;
#line 18 "../src/static/static_serie_renderer.vala"
_tmp0_.height = (gdouble) 0;
#line 18 "../src/static/static_serie_renderer.vala"
self->bounding_box = _tmp0_;
#line 365 "static_serie_renderer.c"
}
static void
live_chart_static_static_serie_renderer_finalize (GObject * obj)
{
LiveChartStaticStaticSerieRenderer * self;
#line 6 "../src/static/static_serie_renderer.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_STATIC_TYPE_STATIC_SERIE_RENDERER, LiveChartStaticStaticSerieRenderer);
#line 12 "../src/static/static_serie_renderer.vala"
_g_object_unref0 (self->priv->_line);
#line 25 "../src/static/static_serie_renderer.vala"
_g_object_unref0 (self->values);
#line 6 "../src/static/static_serie_renderer.vala"
G_OBJECT_CLASS (live_chart_static_static_serie_renderer_parent_class)->finalize (obj);
#line 380 "static_serie_renderer.c"
}
static GType
live_chart_static_static_serie_renderer_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartStaticStaticSerieRendererClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_static_static_serie_renderer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartStaticStaticSerieRenderer), 0, (GInstanceInitFunc) live_chart_static_static_serie_renderer_instance_init, NULL };
static const GInterfaceInfo live_chart_drawable_info = { (GInterfaceInitFunc) live_chart_static_static_serie_renderer_live_chart_drawable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
GType live_chart_static_static_serie_renderer_type_id;
live_chart_static_static_serie_renderer_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartStaticStaticSerieRenderer", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
g_type_add_interface_static (live_chart_static_static_serie_renderer_type_id, LIVE_CHART_TYPE_DRAWABLE, &live_chart_drawable_info);
LiveChartStaticStaticSerieRenderer_private_offset = g_type_add_instance_private (live_chart_static_static_serie_renderer_type_id, sizeof (LiveChartStaticStaticSerieRendererPrivate));
return live_chart_static_static_serie_renderer_type_id;
}
GType
live_chart_static_static_serie_renderer_get_type (void)
{
static volatile gsize live_chart_static_static_serie_renderer_type_id__once = 0;
if (g_once_init_enter (&live_chart_static_static_serie_renderer_type_id__once)) {
GType live_chart_static_static_serie_renderer_type_id;
live_chart_static_static_serie_renderer_type_id = live_chart_static_static_serie_renderer_get_type_once ();
g_once_init_leave (&live_chart_static_static_serie_renderer_type_id__once, live_chart_static_static_serie_renderer_type_id);
}
return live_chart_static_static_serie_renderer_type_id__once;
}
static void
_vala_live_chart_static_static_serie_renderer_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartStaticStaticSerieRenderer * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_STATIC_TYPE_STATIC_SERIE_RENDERER, LiveChartStaticStaticSerieRenderer);
#line 6 "../src/static/static_serie_renderer.vala"
switch (property_id) {
#line 6 "../src/static/static_serie_renderer.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_VISIBLE_PROPERTY:
#line 6 "../src/static/static_serie_renderer.vala"
g_value_set_boolean (value, live_chart_drawable_get_visible ((LiveChartDrawable*) self));
#line 6 "../src/static/static_serie_renderer.vala"
break;
#line 6 "../src/static/static_serie_renderer.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_LINE_PROPERTY:
#line 6 "../src/static/static_serie_renderer.vala"
g_value_set_object (value, live_chart_static_static_serie_renderer_get_line (self));
#line 6 "../src/static/static_serie_renderer.vala"
break;
#line 429 "static_serie_renderer.c"
default:
#line 6 "../src/static/static_serie_renderer.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "../src/static/static_serie_renderer.vala"
break;
#line 435 "static_serie_renderer.c"
}
}
static void
_vala_live_chart_static_static_serie_renderer_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartStaticStaticSerieRenderer * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_STATIC_TYPE_STATIC_SERIE_RENDERER, LiveChartStaticStaticSerieRenderer);
#line 6 "../src/static/static_serie_renderer.vala"
switch (property_id) {
#line 6 "../src/static/static_serie_renderer.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_VISIBLE_PROPERTY:
#line 6 "../src/static/static_serie_renderer.vala"
live_chart_drawable_set_visible ((LiveChartDrawable*) self, g_value_get_boolean (value));
#line 6 "../src/static/static_serie_renderer.vala"
break;
#line 6 "../src/static/static_serie_renderer.vala"
case LIVE_CHART_STATIC_STATIC_SERIE_RENDERER_LINE_PROPERTY:
#line 6 "../src/static/static_serie_renderer.vala"
live_chart_static_static_serie_renderer_set_line (self, g_value_get_object (value));
#line 6 "../src/static/static_serie_renderer.vala"
break;
#line 461 "static_serie_renderer.c"
default:
#line 6 "../src/static/static_serie_renderer.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "../src/static/static_serie_renderer.vala"
break;
#line 467 "static_serie_renderer.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,415 @@
/* static_series.c generated by valac 0.56.0, the Vala compiler
* generated from static_series.vala, do not modify */
#include "livechart.h"
#include <gee.h>
#include <glib-object.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
enum {
LIVE_CHART_STATIC_STATIC_SERIES_0_PROPERTY,
LIVE_CHART_STATIC_STATIC_SERIES_NUM_PROPERTIES
};
static GParamSpec* live_chart_static_static_series_properties[LIVE_CHART_STATIC_STATIC_SERIES_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
struct _LiveChartStaticStaticSeriesPrivate {
GeeArrayList* series;
LiveChartStaticStaticChart* chart;
};
static gint LiveChartStaticStaticSeries_private_offset;
static gpointer live_chart_static_static_series_parent_class = NULL;
static void __lambda15_ (LiveChartStaticStaticSeries* self,
gdouble value);
static void ___lambda15__live_chart_static_static_serie_value_added (LiveChartStaticStaticSerie* _sender,
gdouble value,
gpointer self);
static void live_chart_static_static_series_finalize (GObject * obj);
static GType live_chart_static_static_series_get_type_once (void);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_static_static_series_get_instance_private (LiveChartStaticStaticSeries* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartStaticStaticSeries_private_offset);
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 12 "../src/static/static_series.vala"
return self ? g_object_ref (self) : NULL;
#line 51 "static_series.c"
}
LiveChartStaticStaticSeries*
live_chart_static_static_series_construct (GType object_type,
LiveChartStaticStaticChart* chart)
{
LiveChartStaticStaticSeries * self = NULL;
LiveChartStaticStaticChart* _tmp0_;
#line 11 "../src/static/static_series.vala"
g_return_val_if_fail (chart != NULL, NULL);
#line 11 "../src/static/static_series.vala"
self = (LiveChartStaticStaticSeries*) g_object_new (object_type, NULL);
#line 12 "../src/static/static_series.vala"
_tmp0_ = _g_object_ref0 (chart);
#line 12 "../src/static/static_series.vala"
_g_object_unref0 (self->priv->chart);
#line 12 "../src/static/static_series.vala"
self->priv->chart = _tmp0_;
#line 11 "../src/static/static_series.vala"
return self;
#line 72 "static_series.c"
}
LiveChartStaticStaticSeries*
live_chart_static_static_series_new (LiveChartStaticStaticChart* chart)
{
#line 11 "../src/static/static_series.vala"
return live_chart_static_static_series_construct (LIVE_CHART_STATIC_TYPE_STATIC_SERIES, chart);
#line 80 "static_series.c"
}
static void
__lambda15_ (LiveChartStaticStaticSeries* self,
gdouble value)
{
LiveChartStaticStaticChart* _tmp0_;
LiveChartConfig* _tmp1_;
LiveChartYAxis* _tmp2_;
#line 20 "../src/static/static_series.vala"
_tmp0_ = self->priv->chart;
#line 20 "../src/static/static_series.vala"
_tmp1_ = _tmp0_->config;
#line 20 "../src/static/static_series.vala"
_tmp2_ = _tmp1_->y_axis;
#line 20 "../src/static/static_series.vala"
live_chart_yaxis_update_bounds (_tmp2_, value);
#line 98 "static_series.c"
}
static void
___lambda15__live_chart_static_static_serie_value_added (LiveChartStaticStaticSerie* _sender,
gdouble value,
gpointer self)
{
#line 18 "../src/static/static_series.vala"
__lambda15_ ((LiveChartStaticStaticSeries*) self, value);
#line 108 "static_series.c"
}
LiveChartStaticStaticSerie*
live_chart_static_static_series_register (LiveChartStaticStaticSeries* self,
LiveChartStaticStaticSerie* serie)
{
GeeArrayList* _tmp0_;
LiveChartStaticStaticSerie* _tmp1_;
LiveChartStaticStaticSerie* result;
#line 15 "../src/static/static_series.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 15 "../src/static/static_series.vala"
g_return_val_if_fail (serie != NULL, NULL);
#line 16 "../src/static/static_series.vala"
_tmp0_ = self->priv->series;
#line 16 "../src/static/static_series.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp0_, serie);
#line 18 "../src/static/static_series.vala"
g_signal_connect_object (serie, "value-added", (GCallback) ___lambda15__live_chart_static_static_serie_value_added, self, 0);
#line 22 "../src/static/static_series.vala"
_tmp1_ = _g_object_ref0 (serie);
#line 22 "../src/static/static_series.vala"
result = _tmp1_;
#line 22 "../src/static/static_series.vala"
return result;
#line 134 "static_series.c"
}
LiveChartStaticStaticSerie*
live_chart_static_static_series_get (LiveChartStaticStaticSeries* self,
gint index,
GError** error)
{
GeeArrayList* _tmp0_;
gint _tmp1_;
gint _tmp2_;
GeeArrayList* _tmp7_;
gpointer _tmp8_;
GError* _inner_error0_ = NULL;
LiveChartStaticStaticSerie* result;
#line 25 "../src/static/static_series.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 26 "../src/static/static_series.vala"
_tmp0_ = self->priv->series;
#line 26 "../src/static/static_series.vala"
_tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
#line 26 "../src/static/static_series.vala"
_tmp2_ = _tmp1_;
#line 26 "../src/static/static_series.vala"
if (index > (_tmp2_ - 1)) {
#line 159 "static_series.c"
gchar* _tmp3_;
gchar* _tmp4_;
GError* _tmp5_;
GError* _tmp6_;
#line 27 "../src/static/static_series.vala"
_tmp3_ = g_strdup_printf ("Serie at index %d not found", index);
#line 27 "../src/static/static_series.vala"
_tmp4_ = _tmp3_;
#line 27 "../src/static/static_series.vala"
_tmp5_ = g_error_new_literal (LIVE_CHART_CHART_ERROR, LIVE_CHART_CHART_ERROR_SERIE_NOT_FOUND, _tmp4_);
#line 27 "../src/static/static_series.vala"
_tmp6_ = _tmp5_;
#line 27 "../src/static/static_series.vala"
_g_free0 (_tmp4_);
#line 27 "../src/static/static_series.vala"
_inner_error0_ = _tmp6_;
#line 27 "../src/static/static_series.vala"
if (_inner_error0_->domain == LIVE_CHART_CHART_ERROR) {
#line 27 "../src/static/static_series.vala"
g_propagate_error (error, _inner_error0_);
#line 27 "../src/static/static_series.vala"
return NULL;
#line 182 "static_series.c"
} else {
#line 27 "../src/static/static_series.vala"
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
#line 27 "../src/static/static_series.vala"
g_clear_error (&_inner_error0_);
#line 27 "../src/static/static_series.vala"
return NULL;
#line 190 "static_series.c"
}
}
#line 29 "../src/static/static_series.vala"
_tmp7_ = self->priv->series;
#line 29 "../src/static/static_series.vala"
_tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, index);
#line 29 "../src/static/static_series.vala"
result = (LiveChartStaticStaticSerie*) _tmp8_;
#line 29 "../src/static/static_series.vala"
return result;
#line 201 "static_series.c"
}
LiveChartStaticStaticSerie*
live_chart_static_static_series_get_by_name (LiveChartStaticStaticSeries* self,
const gchar* name,
GError** error)
{
gchar* _tmp11_;
gchar* _tmp12_;
GError* _tmp13_;
GError* _tmp14_;
GError* _inner_error0_ = NULL;
LiveChartStaticStaticSerie* result;
#line 32 "../src/static/static_series.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 32 "../src/static/static_series.vala"
g_return_val_if_fail (name != NULL, NULL);
#line 219 "static_series.c"
{
GeeArrayList* _serie_list = NULL;
GeeArrayList* _tmp0_;
gint _serie_size = 0;
GeeArrayList* _tmp1_;
gint _tmp2_;
gint _tmp3_;
gint _serie_index = 0;
#line 33 "../src/static/static_series.vala"
_tmp0_ = self->priv->series;
#line 33 "../src/static/static_series.vala"
_serie_list = _tmp0_;
#line 33 "../src/static/static_series.vala"
_tmp1_ = _serie_list;
#line 33 "../src/static/static_series.vala"
_tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
#line 33 "../src/static/static_series.vala"
_tmp3_ = _tmp2_;
#line 33 "../src/static/static_series.vala"
_serie_size = _tmp3_;
#line 33 "../src/static/static_series.vala"
_serie_index = -1;
#line 33 "../src/static/static_series.vala"
while (TRUE) {
#line 244 "static_series.c"
gint _tmp4_;
gint _tmp5_;
LiveChartStaticStaticSerie* serie = NULL;
GeeArrayList* _tmp6_;
gpointer _tmp7_;
LiveChartStaticStaticSerie* _tmp8_;
const gchar* _tmp9_;
const gchar* _tmp10_;
#line 33 "../src/static/static_series.vala"
_serie_index = _serie_index + 1;
#line 33 "../src/static/static_series.vala"
_tmp4_ = _serie_index;
#line 33 "../src/static/static_series.vala"
_tmp5_ = _serie_size;
#line 33 "../src/static/static_series.vala"
if (!(_tmp4_ < _tmp5_)) {
#line 33 "../src/static/static_series.vala"
break;
#line 263 "static_series.c"
}
#line 33 "../src/static/static_series.vala"
_tmp6_ = _serie_list;
#line 33 "../src/static/static_series.vala"
_tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _tmp6_, _serie_index);
#line 33 "../src/static/static_series.vala"
serie = (LiveChartStaticStaticSerie*) _tmp7_;
#line 34 "../src/static/static_series.vala"
_tmp8_ = serie;
#line 34 "../src/static/static_series.vala"
_tmp9_ = live_chart_static_static_serie_get_name (_tmp8_);
#line 34 "../src/static/static_series.vala"
_tmp10_ = _tmp9_;
#line 34 "../src/static/static_series.vala"
if (g_strcmp0 (_tmp10_, name) == 0) {
#line 34 "../src/static/static_series.vala"
result = serie;
#line 34 "../src/static/static_series.vala"
return result;
#line 283 "static_series.c"
}
#line 33 "../src/static/static_series.vala"
_g_object_unref0 (serie);
#line 287 "static_series.c"
}
}
#line 36 "../src/static/static_series.vala"
_tmp11_ = g_strdup_printf ("Serie with name %s not found", name);
#line 36 "../src/static/static_series.vala"
_tmp12_ = _tmp11_;
#line 36 "../src/static/static_series.vala"
_tmp13_ = g_error_new_literal (LIVE_CHART_CHART_ERROR, LIVE_CHART_CHART_ERROR_SERIE_NOT_FOUND, _tmp12_);
#line 36 "../src/static/static_series.vala"
_tmp14_ = _tmp13_;
#line 36 "../src/static/static_series.vala"
_g_free0 (_tmp12_);
#line 36 "../src/static/static_series.vala"
_inner_error0_ = _tmp14_;
#line 36 "../src/static/static_series.vala"
if (_inner_error0_->domain == LIVE_CHART_CHART_ERROR) {
#line 36 "../src/static/static_series.vala"
g_propagate_error (error, _inner_error0_);
#line 36 "../src/static/static_series.vala"
return NULL;
#line 308 "static_series.c"
} else {
#line 36 "../src/static/static_series.vala"
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
#line 36 "../src/static/static_series.vala"
g_clear_error (&_inner_error0_);
#line 36 "../src/static/static_series.vala"
return NULL;
#line 316 "static_series.c"
}
}
GeeIterator*
live_chart_static_static_series_iterator (LiveChartStaticStaticSeries* self)
{
GeeArrayList* _tmp0_;
GeeListIterator* _tmp1_;
GeeIterator* result;
#line 39 "../src/static/static_series.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 40 "../src/static/static_series.vala"
_tmp0_ = self->priv->series;
#line 40 "../src/static/static_series.vala"
_tmp1_ = gee_abstract_list_list_iterator ((GeeAbstractList*) _tmp0_);
#line 40 "../src/static/static_series.vala"
result = (GeeIterator*) _tmp1_;
#line 40 "../src/static/static_series.vala"
return result;
#line 336 "static_series.c"
}
static void
live_chart_static_static_series_class_init (LiveChartStaticStaticSeriesClass * klass,
gpointer klass_data)
{
#line 6 "../src/static/static_series.vala"
live_chart_static_static_series_parent_class = g_type_class_peek_parent (klass);
#line 6 "../src/static/static_series.vala"
g_type_class_adjust_private_offset (klass, &LiveChartStaticStaticSeries_private_offset);
#line 6 "../src/static/static_series.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_static_static_series_finalize;
#line 349 "static_series.c"
}
static void
live_chart_static_static_series_instance_init (LiveChartStaticStaticSeries * self,
gpointer klass)
{
GeeArrayList* _tmp0_;
#line 6 "../src/static/static_series.vala"
self->priv = live_chart_static_static_series_get_instance_private (self);
#line 8 "../src/static/static_series.vala"
_tmp0_ = gee_array_list_new (LIVE_CHART_STATIC_TYPE_STATIC_SERIE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
#line 8 "../src/static/static_series.vala"
self->priv->series = _tmp0_;
#line 363 "static_series.c"
}
static void
live_chart_static_static_series_finalize (GObject * obj)
{
LiveChartStaticStaticSeries * self;
#line 6 "../src/static/static_series.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_STATIC_TYPE_STATIC_SERIES, LiveChartStaticStaticSeries);
#line 8 "../src/static/static_series.vala"
_g_object_unref0 (self->priv->series);
#line 9 "../src/static/static_series.vala"
_g_object_unref0 (self->priv->chart);
#line 6 "../src/static/static_series.vala"
G_OBJECT_CLASS (live_chart_static_static_series_parent_class)->finalize (obj);
#line 378 "static_series.c"
}
static GType
live_chart_static_static_series_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartStaticStaticSeriesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_static_static_series_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartStaticStaticSeries), 0, (GInstanceInitFunc) live_chart_static_static_series_instance_init, NULL };
GType live_chart_static_static_series_type_id;
live_chart_static_static_series_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartStaticStaticSeries", &g_define_type_info, 0);
LiveChartStaticStaticSeries_private_offset = g_type_add_instance_private (live_chart_static_static_series_type_id, sizeof (LiveChartStaticStaticSeriesPrivate));
return live_chart_static_static_series_type_id;
}
GType
live_chart_static_static_series_get_type (void)
{
static volatile gsize live_chart_static_static_series_type_id__once = 0;
if (g_once_init_enter (&live_chart_static_static_series_type_id__once)) {
GType live_chart_static_static_series_type_id;
live_chart_static_static_series_type_id = live_chart_static_static_series_get_type_once ();
g_once_init_leave (&live_chart_static_static_series_type_id__once, live_chart_static_static_series_type_id);
}
return live_chart_static_static_series_type_id__once;
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,348 @@
/* static_values.c generated by valac 0.56.0, the Vala compiler
* generated from static_values.vala, do not modify */
#include "livechart.h"
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gee.h>
#include <float.h>
#include <math.h>
#include <glib-object.h>
#define _g_free0(var) (var = (g_free (var), NULL))
enum {
LIVE_CHART_STATIC_STATIC_VALUES_0_PROPERTY,
LIVE_CHART_STATIC_STATIC_VALUES_BOUNDS_PROPERTY,
LIVE_CHART_STATIC_STATIC_VALUES_NUM_PROPERTIES
};
static GParamSpec* live_chart_static_static_values_properties[LIVE_CHART_STATIC_STATIC_VALUES_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
struct _LiveChartStaticStaticValuesPrivate {
LiveChartBounds* _bounds;
};
static gint LiveChartStaticStaticValues_private_offset;
static gpointer live_chart_static_static_values_parent_class = NULL;
static void live_chart_static_static_values_finalize (GObject * obj);
static GType live_chart_static_static_values_get_type_once (void);
static void _vala_live_chart_static_static_values_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_static_static_values_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
void
live_chart_static_named_value_copy (const LiveChartStaticNamedValue* self,
LiveChartStaticNamedValue* dest)
{
const gchar* _tmp0_;
gchar* _tmp1_;
#line 6 "../src/static/static_values.vala"
_tmp0_ = (*self).name;
#line 6 "../src/static/static_values.vala"
_tmp1_ = g_strdup (_tmp0_);
#line 6 "../src/static/static_values.vala"
_g_free0 ((*dest).name);
#line 6 "../src/static/static_values.vala"
(*dest).name = _tmp1_;
#line 6 "../src/static/static_values.vala"
(*dest).value = (*self).value;
#line 59 "static_values.c"
}
void
live_chart_static_named_value_destroy (LiveChartStaticNamedValue* self)
{
#line 7 "../src/static/static_values.vala"
_g_free0 ((*self).name);
#line 67 "static_values.c"
}
LiveChartStaticNamedValue*
live_chart_static_named_value_dup (const LiveChartStaticNamedValue* self)
{
LiveChartStaticNamedValue* dup;
#line 6 "../src/static/static_values.vala"
dup = g_new0 (LiveChartStaticNamedValue, 1);
#line 6 "../src/static/static_values.vala"
live_chart_static_named_value_copy (self, dup);
#line 6 "../src/static/static_values.vala"
return dup;
#line 80 "static_values.c"
}
void
live_chart_static_named_value_free (LiveChartStaticNamedValue* self)
{
#line 6 "../src/static/static_values.vala"
live_chart_static_named_value_destroy (self);
#line 6 "../src/static/static_values.vala"
g_free (self);
#line 90 "static_values.c"
}
static GType
live_chart_static_named_value_get_type_once (void)
{
GType live_chart_static_named_value_type_id;
live_chart_static_named_value_type_id = g_boxed_type_register_static ("LiveChartStaticNamedValue", (GBoxedCopyFunc) live_chart_static_named_value_dup, (GBoxedFreeFunc) live_chart_static_named_value_free);
return live_chart_static_named_value_type_id;
}
GType
live_chart_static_named_value_get_type (void)
{
static volatile gsize live_chart_static_named_value_type_id__once = 0;
if (g_once_init_enter (&live_chart_static_named_value_type_id__once)) {
GType live_chart_static_named_value_type_id;
live_chart_static_named_value_type_id = live_chart_static_named_value_get_type_once ();
g_once_init_leave (&live_chart_static_named_value_type_id__once, live_chart_static_named_value_type_id);
}
return live_chart_static_named_value_type_id__once;
}
static inline gpointer
live_chart_static_static_values_get_instance_private (LiveChartStaticStaticValues* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartStaticStaticValues_private_offset);
}
LiveChartStaticStaticValues*
live_chart_static_static_values_construct (GType object_type)
{
LiveChartStaticStaticValues * self = NULL;
LiveChartBounds* _tmp0_;
LiveChartBounds* _tmp1_;
#line 17 "../src/static/static_values.vala"
self = (LiveChartStaticStaticValues*) gee_linked_list_construct (object_type, LIVE_CHART_STATIC_TYPE_NAMED_VALUE, (GBoxedCopyFunc) live_chart_static_named_value_dup, (GDestroyNotify) live_chart_static_named_value_free, NULL, NULL, NULL);
#line 18 "../src/static/static_values.vala"
_tmp0_ = live_chart_bounds_new (((double) NAN), ((double) NAN));
#line 18 "../src/static/static_values.vala"
_tmp1_ = _tmp0_;
#line 18 "../src/static/static_values.vala"
live_chart_static_static_values_set_bounds (self, _tmp1_);
#line 18 "../src/static/static_values.vala"
_g_object_unref0 (_tmp1_);
#line 17 "../src/static/static_values.vala"
return self;
#line 137 "static_values.c"
}
LiveChartStaticStaticValues*
live_chart_static_static_values_new (void)
{
#line 17 "../src/static/static_values.vala"
return live_chart_static_static_values_construct (LIVE_CHART_STATIC_TYPE_STATIC_VALUES);
#line 145 "static_values.c"
}
void
live_chart_static_static_values_add (LiveChartStaticStaticValues* self,
LiveChartStaticNamedValue* value)
{
LiveChartBounds* _tmp0_;
LiveChartStaticNamedValue _tmp1_;
LiveChartStaticNamedValue _tmp2_;
#line 21 "../src/static/static_values.vala"
g_return_if_fail (self != NULL);
#line 21 "../src/static/static_values.vala"
g_return_if_fail (value != NULL);
#line 22 "../src/static/static_values.vala"
_tmp0_ = self->priv->_bounds;
#line 22 "../src/static/static_values.vala"
_tmp1_ = *value;
#line 22 "../src/static/static_values.vala"
live_chart_bounds_update (_tmp0_, _tmp1_.value);
#line 23 "../src/static/static_values.vala"
_tmp2_ = *value;
#line 23 "../src/static/static_values.vala"
GEE_ABSTRACT_COLLECTION_CLASS (live_chart_static_static_values_parent_class)->add ((GeeAbstractCollection*) G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_LINKED_LIST, GeeLinkedList), &_tmp2_);
#line 169 "static_values.c"
}
LiveChartBounds*
live_chart_static_static_values_get_bounds (LiveChartStaticStaticValues* self)
{
LiveChartBounds* result;
LiveChartBounds* _tmp0_;
#line 14 "../src/static/static_values.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 14 "../src/static/static_values.vala"
_tmp0_ = self->priv->_bounds;
#line 14 "../src/static/static_values.vala"
result = _tmp0_;
#line 14 "../src/static/static_values.vala"
return result;
#line 185 "static_values.c"
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 14 "../src/static/static_values.vala"
return self ? g_object_ref (self) : NULL;
#line 193 "static_values.c"
}
void
live_chart_static_static_values_set_bounds (LiveChartStaticStaticValues* self,
LiveChartBounds* value)
{
LiveChartBounds* old_value;
#line 14 "../src/static/static_values.vala"
g_return_if_fail (self != NULL);
#line 14 "../src/static/static_values.vala"
old_value = live_chart_static_static_values_get_bounds (self);
#line 14 "../src/static/static_values.vala"
if (old_value != value) {
#line 207 "static_values.c"
LiveChartBounds* _tmp0_;
#line 14 "../src/static/static_values.vala"
_tmp0_ = _g_object_ref0 (value);
#line 14 "../src/static/static_values.vala"
_g_object_unref0 (self->priv->_bounds);
#line 14 "../src/static/static_values.vala"
self->priv->_bounds = _tmp0_;
#line 14 "../src/static/static_values.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_static_static_values_properties[LIVE_CHART_STATIC_STATIC_VALUES_BOUNDS_PROPERTY]);
#line 217 "static_values.c"
}
}
static void
live_chart_static_static_values_class_init (LiveChartStaticStaticValuesClass * klass,
gpointer klass_data)
{
#line 11 "../src/static/static_values.vala"
live_chart_static_static_values_parent_class = g_type_class_peek_parent (klass);
#line 11 "../src/static/static_values.vala"
g_type_class_adjust_private_offset (klass, &LiveChartStaticStaticValues_private_offset);
#line 11 "../src/static/static_values.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_static_static_values_get_property;
#line 11 "../src/static/static_values.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_static_static_values_set_property;
#line 11 "../src/static/static_values.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_static_static_values_finalize;
#line 11 "../src/static/static_values.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_STATIC_STATIC_VALUES_BOUNDS_PROPERTY, live_chart_static_static_values_properties[LIVE_CHART_STATIC_STATIC_VALUES_BOUNDS_PROPERTY] = g_param_spec_object ("bounds", "bounds", "bounds", LIVE_CHART_TYPE_BOUNDS, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 237 "static_values.c"
}
static void
live_chart_static_static_values_instance_init (LiveChartStaticStaticValues * self,
gpointer klass)
{
#line 11 "../src/static/static_values.vala"
self->priv = live_chart_static_static_values_get_instance_private (self);
#line 246 "static_values.c"
}
static void
live_chart_static_static_values_finalize (GObject * obj)
{
LiveChartStaticStaticValues * self;
#line 11 "../src/static/static_values.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_STATIC_TYPE_STATIC_VALUES, LiveChartStaticStaticValues);
#line 13 "../src/static/static_values.vala"
_g_object_unref0 (self->priv->_bounds);
#line 11 "../src/static/static_values.vala"
G_OBJECT_CLASS (live_chart_static_static_values_parent_class)->finalize (obj);
#line 259 "static_values.c"
}
static GType
live_chart_static_static_values_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartStaticStaticValuesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_static_static_values_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartStaticStaticValues), 0, (GInstanceInitFunc) live_chart_static_static_values_instance_init, NULL };
GType live_chart_static_static_values_type_id;
live_chart_static_static_values_type_id = g_type_register_static (GEE_TYPE_LINKED_LIST, "LiveChartStaticStaticValues", &g_define_type_info, 0);
LiveChartStaticStaticValues_private_offset = g_type_add_instance_private (live_chart_static_static_values_type_id, sizeof (LiveChartStaticStaticValuesPrivate));
return live_chart_static_static_values_type_id;
}
GType
live_chart_static_static_values_get_type (void)
{
static volatile gsize live_chart_static_static_values_type_id__once = 0;
if (g_once_init_enter (&live_chart_static_static_values_type_id__once)) {
GType live_chart_static_static_values_type_id;
live_chart_static_static_values_type_id = live_chart_static_static_values_get_type_once ();
g_once_init_leave (&live_chart_static_static_values_type_id__once, live_chart_static_static_values_type_id);
}
return live_chart_static_static_values_type_id__once;
}
static void
_vala_live_chart_static_static_values_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartStaticStaticValues * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_STATIC_TYPE_STATIC_VALUES, LiveChartStaticStaticValues);
#line 11 "../src/static/static_values.vala"
switch (property_id) {
#line 11 "../src/static/static_values.vala"
case LIVE_CHART_STATIC_STATIC_VALUES_BOUNDS_PROPERTY:
#line 11 "../src/static/static_values.vala"
g_value_set_object (value, live_chart_static_static_values_get_bounds (self));
#line 11 "../src/static/static_values.vala"
break;
#line 300 "static_values.c"
default:
#line 11 "../src/static/static_values.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 11 "../src/static/static_values.vala"
break;
#line 306 "static_values.c"
}
}
static void
_vala_live_chart_static_static_values_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartStaticStaticValues * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_STATIC_TYPE_STATIC_VALUES, LiveChartStaticStaticValues);
#line 11 "../src/static/static_values.vala"
switch (property_id) {
#line 11 "../src/static/static_values.vala"
case LIVE_CHART_STATIC_STATIC_VALUES_BOUNDS_PROPERTY:
#line 11 "../src/static/static_values.vala"
live_chart_static_static_values_set_bounds (self, g_value_get_object (value));
#line 11 "../src/static/static_values.vala"
break;
#line 326 "static_values.c"
default:
#line 11 "../src/static/static_values.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 11 "../src/static/static_values.vala"
break;
#line 332 "static_values.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,303 @@
/* threshold_line.c generated by valac 0.56.0, the Vala compiler
* generated from threshold_line.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <float.h>
#include <math.h>
#include <cairo-gobject.h>
#include <string.h>
enum {
LIVE_CHART_THRESHOLD_LINE_0_PROPERTY,
LIVE_CHART_THRESHOLD_LINE_VALUE_PROPERTY,
LIVE_CHART_THRESHOLD_LINE_NUM_PROPERTIES
};
static GParamSpec* live_chart_threshold_line_properties[LIVE_CHART_THRESHOLD_LINE_NUM_PROPERTIES];
struct _LiveChartThresholdLinePrivate {
gdouble _value;
};
static gint LiveChartThresholdLine_private_offset;
static gpointer live_chart_threshold_line_parent_class = NULL;
static void live_chart_threshold_line_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_threshold_line_finalize (GObject * obj);
static GType live_chart_threshold_line_get_type_once (void);
static void _vala_live_chart_threshold_line_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_threshold_line_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
static inline gpointer
live_chart_threshold_line_get_instance_private (LiveChartThresholdLine* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartThresholdLine_private_offset);
}
LiveChartThresholdLine*
live_chart_threshold_line_construct (GType object_type,
gdouble value)
{
LiveChartThresholdLine * self = NULL;
#line 10 "../src/threshold_line.vala"
self = (LiveChartThresholdLine*) live_chart_serie_renderer_construct (object_type);
#line 11 "../src/threshold_line.vala"
live_chart_threshold_line_set_value (self, value);
#line 9 "../src/threshold_line.vala"
return self;
#line 59 "threshold_line.c"
}
LiveChartThresholdLine*
live_chart_threshold_line_new (gdouble value)
{
#line 9 "../src/threshold_line.vala"
return live_chart_threshold_line_construct (LIVE_CHART_TYPE_THRESHOLD_LINE, value);
#line 67 "threshold_line.c"
}
static void
live_chart_threshold_line_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartThresholdLine * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 14 "../src/threshold_line.vala"
self = (LiveChartThresholdLine*) base;
#line 14 "../src/threshold_line.vala"
g_return_if_fail (ctx != NULL);
#line 14 "../src/threshold_line.vala"
g_return_if_fail (config != NULL);
#line 15 "../src/threshold_line.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 15 "../src/threshold_line.vala"
_tmp1_ = _tmp0_;
#line 15 "../src/threshold_line.vala"
if (_tmp1_) {
#line 90 "threshold_line.c"
LiveChartBoundaries boundaries = {0};
LiveChartBoundaries _tmp2_ = {0};
LiveChartPath* _tmp3_;
LiveChartPath* _tmp4_;
gdouble y = 0.0;
LiveChartBoundaries _tmp5_;
LiveChartBoundary _tmp6_;
gdouble _tmp7_;
LiveChartYAxis* _tmp8_;
LiveChartBoundaries _tmp9_;
LiveChartBoundary _tmp10_;
LiveChartBoundaries _tmp11_;
LiveChartBoundary _tmp12_;
#line 16 "../src/threshold_line.vala"
live_chart_config_boundaries (config, &_tmp2_);
#line 16 "../src/threshold_line.vala"
boundaries = _tmp2_;
#line 17 "../src/threshold_line.vala"
_tmp3_ = live_chart_serie_renderer_get_line ((LiveChartSerieRenderer*) self);
#line 17 "../src/threshold_line.vala"
_tmp4_ = _tmp3_;
#line 17 "../src/threshold_line.vala"
live_chart_path_configure (_tmp4_, ctx);
#line 18 "../src/threshold_line.vala"
_tmp5_ = boundaries;
#line 18 "../src/threshold_line.vala"
_tmp6_ = _tmp5_.y;
#line 18 "../src/threshold_line.vala"
_tmp7_ = self->priv->_value;
#line 18 "../src/threshold_line.vala"
_tmp8_ = config->y_axis;
#line 18 "../src/threshold_line.vala"
y = _tmp6_.max - (_tmp7_ * live_chart_yaxis_get_ratio (_tmp8_));
#line 19 "../src/threshold_line.vala"
_tmp9_ = boundaries;
#line 19 "../src/threshold_line.vala"
_tmp10_ = _tmp9_.x;
#line 19 "../src/threshold_line.vala"
cairo_move_to (ctx, (gdouble) _tmp10_.min, y);
#line 20 "../src/threshold_line.vala"
_tmp11_ = boundaries;
#line 20 "../src/threshold_line.vala"
_tmp12_ = _tmp11_.x;
#line 20 "../src/threshold_line.vala"
cairo_line_to (ctx, (gdouble) _tmp12_.max, y);
#line 21 "../src/threshold_line.vala"
cairo_stroke (ctx);
#line 138 "threshold_line.c"
}
}
gdouble
live_chart_threshold_line_get_value (LiveChartThresholdLine* self)
{
gdouble result;
#line 7 "../src/threshold_line.vala"
g_return_val_if_fail (self != NULL, 0.0);
#line 7 "../src/threshold_line.vala"
result = self->priv->_value;
#line 7 "../src/threshold_line.vala"
return result;
#line 152 "threshold_line.c"
}
void
live_chart_threshold_line_set_value (LiveChartThresholdLine* self,
gdouble value)
{
gdouble old_value;
#line 7 "../src/threshold_line.vala"
g_return_if_fail (self != NULL);
#line 7 "../src/threshold_line.vala"
old_value = live_chart_threshold_line_get_value (self);
#line 7 "../src/threshold_line.vala"
if (old_value != value) {
#line 7 "../src/threshold_line.vala"
self->priv->_value = value;
#line 7 "../src/threshold_line.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_threshold_line_properties[LIVE_CHART_THRESHOLD_LINE_VALUE_PROPERTY]);
#line 170 "threshold_line.c"
}
}
static void
live_chart_threshold_line_class_init (LiveChartThresholdLineClass * klass,
gpointer klass_data)
{
#line 5 "../src/threshold_line.vala"
live_chart_threshold_line_parent_class = g_type_class_peek_parent (klass);
#line 5 "../src/threshold_line.vala"
g_type_class_adjust_private_offset (klass, &LiveChartThresholdLine_private_offset);
#line 5 "../src/threshold_line.vala"
((LiveChartSerieRendererClass *) klass)->draw = (void (*) (LiveChartSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_threshold_line_real_draw;
#line 5 "../src/threshold_line.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_threshold_line_get_property;
#line 5 "../src/threshold_line.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_threshold_line_set_property;
#line 5 "../src/threshold_line.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_threshold_line_finalize;
#line 5 "../src/threshold_line.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_THRESHOLD_LINE_VALUE_PROPERTY, live_chart_threshold_line_properties[LIVE_CHART_THRESHOLD_LINE_VALUE_PROPERTY] = g_param_spec_double ("value", "value", "value", -G_MAXDOUBLE, G_MAXDOUBLE, (gdouble) 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 192 "threshold_line.c"
}
static void
live_chart_threshold_line_instance_init (LiveChartThresholdLine * self,
gpointer klass)
{
#line 5 "../src/threshold_line.vala"
self->priv = live_chart_threshold_line_get_instance_private (self);
#line 7 "../src/threshold_line.vala"
self->priv->_value = (gdouble) 0;
#line 203 "threshold_line.c"
}
static void
live_chart_threshold_line_finalize (GObject * obj)
{
LiveChartThresholdLine * self;
#line 5 "../src/threshold_line.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_THRESHOLD_LINE, LiveChartThresholdLine);
#line 5 "../src/threshold_line.vala"
G_OBJECT_CLASS (live_chart_threshold_line_parent_class)->finalize (obj);
#line 214 "threshold_line.c"
}
static GType
live_chart_threshold_line_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartThresholdLineClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_threshold_line_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartThresholdLine), 0, (GInstanceInitFunc) live_chart_threshold_line_instance_init, NULL };
GType live_chart_threshold_line_type_id;
live_chart_threshold_line_type_id = g_type_register_static (LIVE_CHART_TYPE_SERIE_RENDERER, "LiveChartThresholdLine", &g_define_type_info, 0);
LiveChartThresholdLine_private_offset = g_type_add_instance_private (live_chart_threshold_line_type_id, sizeof (LiveChartThresholdLinePrivate));
return live_chart_threshold_line_type_id;
}
GType
live_chart_threshold_line_get_type (void)
{
static volatile gsize live_chart_threshold_line_type_id__once = 0;
if (g_once_init_enter (&live_chart_threshold_line_type_id__once)) {
GType live_chart_threshold_line_type_id;
live_chart_threshold_line_type_id = live_chart_threshold_line_get_type_once ();
g_once_init_leave (&live_chart_threshold_line_type_id__once, live_chart_threshold_line_type_id);
}
return live_chart_threshold_line_type_id__once;
}
static void
_vala_live_chart_threshold_line_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartThresholdLine * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_THRESHOLD_LINE, LiveChartThresholdLine);
#line 5 "../src/threshold_line.vala"
switch (property_id) {
#line 5 "../src/threshold_line.vala"
case LIVE_CHART_THRESHOLD_LINE_VALUE_PROPERTY:
#line 5 "../src/threshold_line.vala"
g_value_set_double (value, live_chart_threshold_line_get_value (self));
#line 5 "../src/threshold_line.vala"
break;
#line 255 "threshold_line.c"
default:
#line 5 "../src/threshold_line.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 5 "../src/threshold_line.vala"
break;
#line 261 "threshold_line.c"
}
}
static void
_vala_live_chart_threshold_line_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartThresholdLine * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_THRESHOLD_LINE, LiveChartThresholdLine);
#line 5 "../src/threshold_line.vala"
switch (property_id) {
#line 5 "../src/threshold_line.vala"
case LIVE_CHART_THRESHOLD_LINE_VALUE_PROPERTY:
#line 5 "../src/threshold_line.vala"
live_chart_threshold_line_set_value (self, g_value_get_double (value));
#line 5 "../src/threshold_line.vala"
break;
#line 281 "threshold_line.c"
default:
#line 5 "../src/threshold_line.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 5 "../src/threshold_line.vala"
break;
#line 287 "threshold_line.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,392 @@
/* utils.c generated by valac 0.56.0, the Vala compiler
* generated from utils.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include <glib-object.h>
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
VALA_EXTERN gint live_chart_num_of_digits (gint value);
static gfloat* _float_dup (gfloat* self);
static gint __lambda4_ (gint a,
gint b);
static gint ___lambda4__gcompare_data_func (gconstpointer a,
gconstpointer b,
gpointer self);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
gfloat
live_chart_cap (gfloat value)
{
gint num_digits = 0;
gdouble size = 0.0;
gdouble integer_part = 0.0;
gdouble fractional_part = 0.0;
gdouble _tmp0_ = 0.0;
gdouble _tmp1_;
gdouble delta = 0.0;
gfloat result;
#line 6 "../src/utils.vala"
num_digits = live_chart_num_of_digits ((gint) value);
#line 8 "../src/utils.vala"
size = pow ((gdouble) 10, ((gdouble) num_digits) - 1);
#line 10 "../src/utils.vala"
if (fmod (value, size) == ((gdouble) 0)) {
#line 11 "../src/utils.vala"
result = value;
#line 11 "../src/utils.vala"
return result;
#line 48 "utils.c"
}
#line 15 "../src/utils.vala"
_tmp1_ = modf (value / size, &_tmp0_);
#line 15 "../src/utils.vala"
integer_part = _tmp0_;
#line 15 "../src/utils.vala"
fractional_part = _tmp1_ * size;
#line 17 "../src/utils.vala"
delta = size - fractional_part;
#line 19 "../src/utils.vala"
result = (gfloat) (value + delta);
#line 19 "../src/utils.vala"
return result;
#line 62 "utils.c"
}
gboolean
live_chart_has_fractional_part (gfloat value)
{
gboolean result;
#line 23 "../src/utils.vala"
result = value != ((gfloat) ((gint) value));
#line 23 "../src/utils.vala"
return result;
#line 73 "utils.c"
}
gchar*
live_chart_format_for_y_axis (const gchar* unit,
gfloat value)
{
gchar* pattern = NULL;
gchar* _tmp0_;
const gchar* _tmp2_;
gchar* _tmp3_;
gchar* result;
#line 26 "../src/utils.vala"
g_return_val_if_fail (unit != NULL, NULL);
#line 27 "../src/utils.vala"
_tmp0_ = g_strdup ("%0.0f%s");
#line 27 "../src/utils.vala"
pattern = _tmp0_;
#line 28 "../src/utils.vala"
if (live_chart_has_fractional_part (value)) {
#line 93 "utils.c"
gchar* _tmp1_;
#line 29 "../src/utils.vala"
_tmp1_ = g_strdup ("%0.2f%s");
#line 29 "../src/utils.vala"
_g_free0 (pattern);
#line 29 "../src/utils.vala"
pattern = _tmp1_;
#line 101 "utils.c"
}
#line 31 "../src/utils.vala"
_tmp2_ = pattern;
#line 31 "../src/utils.vala"
_tmp3_ = g_strdup_printf (_tmp2_, value, unit);
#line 31 "../src/utils.vala"
result = _tmp3_;
#line 31 "../src/utils.vala"
_g_free0 (pattern);
#line 31 "../src/utils.vala"
return result;
#line 113 "utils.c"
}
static gfloat*
_float_dup (gfloat* self)
{
gfloat* dup;
#line 37 "../src/utils.vala"
dup = g_new0 (gfloat, 1);
#line 37 "../src/utils.vala"
memcpy (dup, self, sizeof (gfloat));
#line 37 "../src/utils.vala"
return dup;
#line 126 "utils.c"
}
static gint
__lambda4_ (gint a,
gint b)
{
gint result;
#line 57 "../src/utils.vala"
result = a - b;
#line 57 "../src/utils.vala"
return result;
#line 138 "utils.c"
}
static gint
___lambda4__gcompare_data_func (gconstpointer a,
gconstpointer b,
gpointer self)
{
gint result;
result = __lambda4_ ((gint) ((gintptr) a), (gint) ((gintptr) b));
#line 56 "../src/utils.vala"
return result;
#line 150 "utils.c"
}
GeeList*
live_chart_golden_divisors (gfloat value)
{
gfloat _tmp1_ = 0.0F;
gfloat factor = 0.0F;
gfloat working_value = 0.0F;
gfloat sqrt = 0.0F;
GeeArrayList* divs = NULL;
GeeArrayList* _tmp2_;
GeeArrayList* _tmp7_;
GeeArrayList* ndivs = NULL;
GeeArrayList* _tmp8_;
gint last_div = 0;
GeeArrayList* _tmp9_;
gpointer _tmp10_;
GeeList* result;
#line 36 "../src/utils.vala"
if (value == ((gfloat) 0)) {
#line 171 "utils.c"
GeeArrayList* _tmp0_;
#line 37 "../src/utils.vala"
_tmp0_ = gee_array_list_new (G_TYPE_FLOAT, (GBoxedCopyFunc) _float_dup, (GDestroyNotify) g_free, NULL, NULL, NULL);
#line 37 "../src/utils.vala"
result = (GeeList*) _tmp0_;
#line 37 "../src/utils.vala"
return result;
#line 179 "utils.c"
}
#line 41 "../src/utils.vala"
if (value < ((gfloat) 10)) {
#line 41 "../src/utils.vala"
_tmp1_ = live_chart_cap (100 / value);
#line 185 "utils.c"
} else {
#line 41 "../src/utils.vala"
_tmp1_ = 1.f;
#line 189 "utils.c"
}
#line 41 "../src/utils.vala"
factor = _tmp1_;
#line 42 "../src/utils.vala"
working_value = value * factor;
#line 44 "../src/utils.vala"
sqrt = sqrtf (working_value);
#line 45 "../src/utils.vala"
_tmp2_ = gee_array_list_new (G_TYPE_INT, NULL, NULL, NULL, NULL, NULL);
#line 45 "../src/utils.vala"
divs = _tmp2_;
#line 201 "utils.c"
{
gint i = 0;
#line 47 "../src/utils.vala"
i = 1;
#line 206 "utils.c"
{
gboolean _tmp3_ = FALSE;
#line 47 "../src/utils.vala"
_tmp3_ = TRUE;
#line 47 "../src/utils.vala"
while (TRUE) {
#line 47 "../src/utils.vala"
if (!_tmp3_) {
#line 215 "utils.c"
gint _tmp4_;
#line 47 "../src/utils.vala"
_tmp4_ = i;
#line 47 "../src/utils.vala"
i = _tmp4_ + 1;
#line 221 "utils.c"
}
#line 47 "../src/utils.vala"
_tmp3_ = FALSE;
#line 47 "../src/utils.vala"
if (!(((gfloat) i) <= sqrt)) {
#line 47 "../src/utils.vala"
break;
#line 229 "utils.c"
}
#line 48 "../src/utils.vala"
if (fmodf (working_value, i) == ((gfloat) 0)) {
#line 233 "utils.c"
GeeArrayList* _tmp5_;
gfloat tmp = 0.0F;
#line 49 "../src/utils.vala"
_tmp5_ = divs;
#line 49 "../src/utils.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp5_, (gpointer) ((gintptr) i));
#line 50 "../src/utils.vala"
tmp = working_value / i;
#line 51 "../src/utils.vala"
if (tmp != ((gfloat) i)) {
#line 244 "utils.c"
GeeArrayList* _tmp6_;
#line 52 "../src/utils.vala"
_tmp6_ = divs;
#line 52 "../src/utils.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp6_, (gpointer) ((gintptr) tmp));
#line 250 "utils.c"
}
}
}
}
}
#line 56 "../src/utils.vala"
_tmp7_ = divs;
#line 56 "../src/utils.vala"
gee_list_sort ((GeeList*) _tmp7_, ___lambda4__gcompare_data_func, NULL, NULL);
#line 60 "../src/utils.vala"
_tmp8_ = gee_array_list_new (G_TYPE_FLOAT, (GBoxedCopyFunc) _float_dup, (GDestroyNotify) g_free, NULL, NULL, NULL);
#line 60 "../src/utils.vala"
ndivs = _tmp8_;
#line 61 "../src/utils.vala"
_tmp9_ = divs;
#line 61 "../src/utils.vala"
_tmp10_ = gee_list_last ((GeeList*) _tmp9_);
#line 61 "../src/utils.vala"
last_div = (gint) ((gintptr) _tmp10_);
#line 270 "utils.c"
{
gint i = 0;
GeeArrayList* _tmp11_;
gint _tmp12_;
gint _tmp13_;
#line 62 "../src/utils.vala"
_tmp11_ = divs;
#line 62 "../src/utils.vala"
_tmp12_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp11_);
#line 62 "../src/utils.vala"
_tmp13_ = _tmp12_;
#line 62 "../src/utils.vala"
i = _tmp13_ - 1;
#line 284 "utils.c"
{
gboolean _tmp14_ = FALSE;
#line 62 "../src/utils.vala"
_tmp14_ = TRUE;
#line 62 "../src/utils.vala"
while (TRUE) {
#line 291 "utils.c"
gint current = 0;
GeeArrayList* _tmp16_;
gpointer _tmp17_;
GeeArrayList* _tmp18_;
gfloat _tmp19_;
#line 62 "../src/utils.vala"
if (!_tmp14_) {
#line 299 "utils.c"
gint _tmp15_;
#line 62 "../src/utils.vala"
_tmp15_ = i;
#line 62 "../src/utils.vala"
i = _tmp15_ - 1;
#line 305 "utils.c"
}
#line 62 "../src/utils.vala"
_tmp14_ = FALSE;
#line 62 "../src/utils.vala"
if (!(i >= 0)) {
#line 62 "../src/utils.vala"
break;
#line 313 "utils.c"
}
#line 63 "../src/utils.vala"
_tmp16_ = divs;
#line 63 "../src/utils.vala"
_tmp17_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, i);
#line 63 "../src/utils.vala"
current = (gint) ((gintptr) _tmp17_);
#line 64 "../src/utils.vala"
if ((last_div / current) != 2) {
#line 65 "../src/utils.vala"
continue;
#line 325 "utils.c"
}
#line 67 "../src/utils.vala"
_tmp18_ = ndivs;
#line 67 "../src/utils.vala"
_tmp19_ = (gfloat) current;
#line 67 "../src/utils.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp18_, &_tmp19_);
#line 68 "../src/utils.vala"
last_div = current;
#line 335 "utils.c"
}
}
}
#line 71 "../src/utils.vala"
result = (GeeList*) ndivs;
#line 71 "../src/utils.vala"
_g_object_unref0 (divs);
#line 71 "../src/utils.vala"
return result;
#line 345 "utils.c"
}
gint
live_chart_num_of_digits (gint value)
{
gint num_digits = 0;
gint result;
#line 75 "../src/utils.vala"
num_digits = 0;
#line 76 "../src/utils.vala"
while (TRUE) {
#line 357 "utils.c"
gint _tmp0_;
#line 76 "../src/utils.vala"
if (!(value != 0)) {
#line 76 "../src/utils.vala"
break;
#line 363 "utils.c"
}
#line 77 "../src/utils.vala"
value = value / 10;
#line 78 "../src/utils.vala"
num_digits = num_digits + 1;
#line 78 "../src/utils.vala"
_tmp0_ = num_digits;
#line 371 "utils.c"
}
#line 81 "../src/utils.vala"
result = num_digits;
#line 81 "../src/utils.vala"
return result;
#line 377 "utils.c"
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

View File

@ -0,0 +1,341 @@
/* values.c generated by valac 0.56.0, the Vala compiler
* generated from values.vala, do not modify */
#include "livechart.h"
#include <glib.h>
#include <string.h>
#include <gee.h>
#include <float.h>
#include <math.h>
#include <glib-object.h>
enum {
LIVE_CHART_VALUES_0_PROPERTY,
LIVE_CHART_VALUES_BOUNDS_PROPERTY,
LIVE_CHART_VALUES_NUM_PROPERTIES
};
static GParamSpec* live_chart_values_properties[LIVE_CHART_VALUES_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _live_chart_timestamped_value_free0(var) ((var == NULL) ? NULL : (var = (live_chart_timestamped_value_free (var), NULL)))
struct _LiveChartValuesPrivate {
LiveChartBounds* _bounds;
gint buffer_size;
};
static gint LiveChartValues_private_offset;
static gpointer live_chart_values_parent_class = NULL;
static void live_chart_values_finalize (GObject * obj);
static GType live_chart_values_get_type_once (void);
static void _vala_live_chart_values_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_values_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
gsize byte_size);
LiveChartTimestampedValue*
live_chart_timestamped_value_dup (const LiveChartTimestampedValue* self)
{
LiveChartTimestampedValue* dup;
#line 5 "../src/values.vala"
dup = g_new0 (LiveChartTimestampedValue, 1);
#line 5 "../src/values.vala"
memcpy (dup, self, sizeof (LiveChartTimestampedValue));
#line 5 "../src/values.vala"
return dup;
#line 53 "values.c"
}
void
live_chart_timestamped_value_free (LiveChartTimestampedValue* self)
{
#line 5 "../src/values.vala"
g_free (self);
#line 61 "values.c"
}
static GType
live_chart_timestamped_value_get_type_once (void)
{
GType live_chart_timestamped_value_type_id;
live_chart_timestamped_value_type_id = g_boxed_type_register_static ("LiveChartTimestampedValue", (GBoxedCopyFunc) live_chart_timestamped_value_dup, (GBoxedFreeFunc) live_chart_timestamped_value_free);
return live_chart_timestamped_value_type_id;
}
GType
live_chart_timestamped_value_get_type (void)
{
static volatile gsize live_chart_timestamped_value_type_id__once = 0;
if (g_once_init_enter (&live_chart_timestamped_value_type_id__once)) {
GType live_chart_timestamped_value_type_id;
live_chart_timestamped_value_type_id = live_chart_timestamped_value_get_type_once ();
g_once_init_leave (&live_chart_timestamped_value_type_id__once, live_chart_timestamped_value_type_id);
}
return live_chart_timestamped_value_type_id__once;
}
static inline gpointer
live_chart_values_get_instance_private (LiveChartValues* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartValues_private_offset);
}
LiveChartValues*
live_chart_values_construct (GType object_type,
gint buffer_size)
{
LiveChartValues * self = NULL;
LiveChartBounds* _tmp0_;
LiveChartBounds* _tmp1_;
#line 17 "../src/values.vala"
self = (LiveChartValues*) gee_linked_list_construct (object_type, LIVE_CHART_TYPE_TIMESTAMPED_VALUE, (GBoxedCopyFunc) live_chart_timestamped_value_dup, (GDestroyNotify) live_chart_timestamped_value_free, NULL, NULL, NULL);
#line 18 "../src/values.vala"
_tmp0_ = live_chart_bounds_new (((double) NAN), ((double) NAN));
#line 18 "../src/values.vala"
_tmp1_ = _tmp0_;
#line 18 "../src/values.vala"
live_chart_values_set_bounds (self, _tmp1_);
#line 18 "../src/values.vala"
_g_object_unref0 (_tmp1_);
#line 19 "../src/values.vala"
self->priv->buffer_size = buffer_size;
#line 17 "../src/values.vala"
return self;
#line 111 "values.c"
}
LiveChartValues*
live_chart_values_new (gint buffer_size)
{
#line 17 "../src/values.vala"
return live_chart_values_construct (LIVE_CHART_TYPE_VALUES, buffer_size);
#line 119 "values.c"
}
void
live_chart_values_add (LiveChartValues* self,
LiveChartTimestampedValue* value)
{
gint _tmp0_;
gint _tmp1_;
LiveChartBounds* _tmp4_;
LiveChartTimestampedValue _tmp5_;
LiveChartTimestampedValue _tmp6_;
#line 22 "../src/values.vala"
g_return_if_fail (self != NULL);
#line 22 "../src/values.vala"
g_return_if_fail (value != NULL);
#line 23 "../src/values.vala"
_tmp0_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) self);
#line 23 "../src/values.vala"
_tmp1_ = _tmp0_;
#line 23 "../src/values.vala"
if (_tmp1_ == self->priv->buffer_size) {
#line 141 "values.c"
gpointer _tmp2_;
LiveChartTimestampedValue* _tmp3_;
#line 24 "../src/values.vala"
_tmp2_ = gee_abstract_list_remove_at ((GeeAbstractList*) self, 0);
#line 24 "../src/values.vala"
_tmp3_ = (LiveChartTimestampedValue*) _tmp2_;
#line 24 "../src/values.vala"
_live_chart_timestamped_value_free0 (_tmp3_);
#line 150 "values.c"
}
#line 26 "../src/values.vala"
_tmp4_ = self->priv->_bounds;
#line 26 "../src/values.vala"
_tmp5_ = *value;
#line 26 "../src/values.vala"
live_chart_bounds_update (_tmp4_, _tmp5_.value);
#line 27 "../src/values.vala"
_tmp6_ = *value;
#line 27 "../src/values.vala"
GEE_ABSTRACT_COLLECTION_CLASS (live_chart_values_parent_class)->add ((GeeAbstractCollection*) G_TYPE_CHECK_INSTANCE_CAST (self, GEE_TYPE_LINKED_LIST, GeeLinkedList), &_tmp6_);
#line 162 "values.c"
}
LiveChartBounds*
live_chart_values_get_bounds (LiveChartValues* self)
{
LiveChartBounds* result;
LiveChartBounds* _tmp0_;
#line 12 "../src/values.vala"
g_return_val_if_fail (self != NULL, NULL);
#line 12 "../src/values.vala"
_tmp0_ = self->priv->_bounds;
#line 12 "../src/values.vala"
result = _tmp0_;
#line 12 "../src/values.vala"
return result;
#line 178 "values.c"
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 12 "../src/values.vala"
return self ? g_object_ref (self) : NULL;
#line 186 "values.c"
}
void
live_chart_values_set_bounds (LiveChartValues* self,
LiveChartBounds* value)
{
LiveChartBounds* old_value;
#line 12 "../src/values.vala"
g_return_if_fail (self != NULL);
#line 12 "../src/values.vala"
old_value = live_chart_values_get_bounds (self);
#line 12 "../src/values.vala"
if (old_value != value) {
#line 200 "values.c"
LiveChartBounds* _tmp0_;
#line 12 "../src/values.vala"
_tmp0_ = _g_object_ref0 (value);
#line 12 "../src/values.vala"
_g_object_unref0 (self->priv->_bounds);
#line 12 "../src/values.vala"
self->priv->_bounds = _tmp0_;
#line 12 "../src/values.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_values_properties[LIVE_CHART_VALUES_BOUNDS_PROPERTY]);
#line 210 "values.c"
}
}
static void
live_chart_values_class_init (LiveChartValuesClass * klass,
gpointer klass_data)
{
#line 9 "../src/values.vala"
live_chart_values_parent_class = g_type_class_peek_parent (klass);
#line 9 "../src/values.vala"
g_type_class_adjust_private_offset (klass, &LiveChartValues_private_offset);
#line 9 "../src/values.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_values_get_property;
#line 9 "../src/values.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_values_set_property;
#line 9 "../src/values.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_values_finalize;
#line 9 "../src/values.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_VALUES_BOUNDS_PROPERTY, live_chart_values_properties[LIVE_CHART_VALUES_BOUNDS_PROPERTY] = g_param_spec_object ("bounds", "bounds", "bounds", LIVE_CHART_TYPE_BOUNDS, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
#line 230 "values.c"
}
static void
live_chart_values_instance_init (LiveChartValues * self,
gpointer klass)
{
#line 9 "../src/values.vala"
self->priv = live_chart_values_get_instance_private (self);
#line 239 "values.c"
}
static void
live_chart_values_finalize (GObject * obj)
{
LiveChartValues * self;
#line 9 "../src/values.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_VALUES, LiveChartValues);
#line 11 "../src/values.vala"
_g_object_unref0 (self->priv->_bounds);
#line 9 "../src/values.vala"
G_OBJECT_CLASS (live_chart_values_parent_class)->finalize (obj);
#line 252 "values.c"
}
static GType
live_chart_values_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartValuesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_values_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartValues), 0, (GInstanceInitFunc) live_chart_values_instance_init, NULL };
GType live_chart_values_type_id;
live_chart_values_type_id = g_type_register_static (GEE_TYPE_LINKED_LIST, "LiveChartValues", &g_define_type_info, 0);
LiveChartValues_private_offset = g_type_add_instance_private (live_chart_values_type_id, sizeof (LiveChartValuesPrivate));
return live_chart_values_type_id;
}
GType
live_chart_values_get_type (void)
{
static volatile gsize live_chart_values_type_id__once = 0;
if (g_once_init_enter (&live_chart_values_type_id__once)) {
GType live_chart_values_type_id;
live_chart_values_type_id = live_chart_values_get_type_once ();
g_once_init_leave (&live_chart_values_type_id__once, live_chart_values_type_id);
}
return live_chart_values_type_id__once;
}
static void
_vala_live_chart_values_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartValues * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_VALUES, LiveChartValues);
#line 9 "../src/values.vala"
switch (property_id) {
#line 9 "../src/values.vala"
case LIVE_CHART_VALUES_BOUNDS_PROPERTY:
#line 9 "../src/values.vala"
g_value_set_object (value, live_chart_values_get_bounds (self));
#line 9 "../src/values.vala"
break;
#line 293 "values.c"
default:
#line 9 "../src/values.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 9 "../src/values.vala"
break;
#line 299 "values.c"
}
}
static void
_vala_live_chart_values_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartValues * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_VALUES, LiveChartValues);
#line 9 "../src/values.vala"
switch (property_id) {
#line 9 "../src/values.vala"
case LIVE_CHART_VALUES_BOUNDS_PROPERTY:
#line 9 "../src/values.vala"
live_chart_values_set_bounds (self, g_value_get_object (value));
#line 9 "../src/values.vala"
break;
#line 319 "values.c"
default:
#line 9 "../src/values.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 9 "../src/values.vala"
break;
#line 325 "values.c"
}
}
static inline gpointer
_vala_memdup2 (gconstpointer mem,
gsize byte_size)
{
gpointer new_mem;
if (mem && byte_size != 0) {
new_mem = g_malloc (byte_size);
memcpy (new_mem, mem, byte_size);
} else {
new_mem = NULL;
}
return new_mem;
}

Binary file not shown.

View File

@ -0,0 +1,409 @@
/* area.c generated by valac 0.56.0, the Vala compiler
* generated from area.vala, do not modify */
#include "livechart_static.h"
#include <gdk/gdk.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <string.h>
#include <glib-object.h>
#include <cairo-gobject.h>
enum {
LIVE_CHART_AREA_0_PROPERTY,
LIVE_CHART_AREA_VISIBLE_PROPERTY,
LIVE_CHART_AREA_NUM_PROPERTIES
};
static GParamSpec* live_chart_area_properties[LIVE_CHART_AREA_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
struct _LiveChartAreaPrivate {
LiveChartPoints* points;
GdkRGBA color;
LiveChartBoundingBox bounding_box;
gdouble alpha;
gboolean _visible;
};
static gint LiveChartArea_private_offset;
static gpointer live_chart_area_parent_class = NULL;
static LiveChartDrawableIface * live_chart_area_live_chart_drawable_parent_iface = NULL;
static void live_chart_area_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_area_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result);
static void live_chart_area_finalize (GObject * obj);
static GType live_chart_area_get_type_once (void);
static void _vala_live_chart_area_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_area_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer
live_chart_area_get_instance_private (LiveChartArea* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartArea_private_offset);
}
static gpointer
_g_object_ref0 (gpointer self)
{
#line 17 "../src/area.vala"
return self ? g_object_ref (self) : NULL;
#line 61 "area.c"
}
LiveChartArea*
live_chart_area_construct (GType object_type,
LiveChartPoints* points,
GdkRGBA* color,
gdouble alpha)
{
LiveChartArea * self = NULL;
LiveChartPoints* _tmp0_;
GdkRGBA _tmp1_;
#line 16 "../src/area.vala"
g_return_val_if_fail (points != NULL, NULL);
#line 16 "../src/area.vala"
g_return_val_if_fail (color != NULL, NULL);
#line 16 "../src/area.vala"
self = (LiveChartArea*) g_object_new (object_type, NULL);
#line 17 "../src/area.vala"
_tmp0_ = _g_object_ref0 (points);
#line 17 "../src/area.vala"
_g_object_unref0 (self->priv->points);
#line 17 "../src/area.vala"
self->priv->points = _tmp0_;
#line 18 "../src/area.vala"
_tmp1_ = *color;
#line 18 "../src/area.vala"
self->priv->color = _tmp1_;
#line 19 "../src/area.vala"
self->priv->alpha = alpha;
#line 16 "../src/area.vala"
return self;
#line 93 "area.c"
}
LiveChartArea*
live_chart_area_new (LiveChartPoints* points,
GdkRGBA* color,
gdouble alpha)
{
#line 16 "../src/area.vala"
return live_chart_area_construct (LIVE_CHART_TYPE_AREA, points, color, alpha);
#line 103 "area.c"
}
static void
live_chart_area_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartArea * self;
LiveChartPoints* _tmp0_;
gint _tmp1_;
gint _tmp2_;
#line 22 "../src/area.vala"
self = (LiveChartArea*) base;
#line 22 "../src/area.vala"
g_return_if_fail (ctx != NULL);
#line 22 "../src/area.vala"
g_return_if_fail (config != NULL);
#line 23 "../src/area.vala"
_tmp0_ = self->priv->points;
#line 23 "../src/area.vala"
_tmp1_ = live_chart_points_get_size (_tmp0_);
#line 23 "../src/area.vala"
_tmp2_ = _tmp1_;
#line 23 "../src/area.vala"
if (_tmp2_ > 0) {
#line 129 "area.c"
LiveChartBoundaries boundaries = {0};
LiveChartBoundaries _tmp3_ = {0};
LiveChartPoint first_point = {0};
LiveChartPoints* _tmp4_;
LiveChartPoint _tmp5_ = {0};
LiveChartPoint last_point = {0};
LiveChartPoints* _tmp6_;
LiveChartPoint _tmp7_ = {0};
GdkRGBA _tmp8_;
GdkRGBA _tmp9_;
GdkRGBA _tmp10_;
LiveChartPoint _tmp11_;
LiveChartPoint _tmp12_;
LiveChartPoint _tmp13_;
LiveChartBoundaries _tmp14_;
LiveChartBoundary _tmp15_;
LiveChartPoint _tmp16_;
LiveChartBoundaries _tmp17_;
LiveChartBoundary _tmp18_;
LiveChartPoint _tmp19_;
LiveChartPoint _tmp20_;
#line 24 "../src/area.vala"
live_chart_config_boundaries (config, &_tmp3_);
#line 24 "../src/area.vala"
boundaries = _tmp3_;
#line 25 "../src/area.vala"
_tmp4_ = self->priv->points;
#line 25 "../src/area.vala"
live_chart_points_first (_tmp4_, &_tmp5_);
#line 25 "../src/area.vala"
first_point = _tmp5_;
#line 26 "../src/area.vala"
_tmp6_ = self->priv->points;
#line 26 "../src/area.vala"
live_chart_points_last (_tmp6_, &_tmp7_);
#line 26 "../src/area.vala"
last_point = _tmp7_;
#line 28 "../src/area.vala"
_tmp8_ = self->priv->color;
#line 28 "../src/area.vala"
_tmp9_ = self->priv->color;
#line 28 "../src/area.vala"
_tmp10_ = self->priv->color;
#line 28 "../src/area.vala"
cairo_set_source_rgba (ctx, _tmp8_.red, _tmp9_.green, _tmp10_.blue, self->priv->alpha);
#line 29 "../src/area.vala"
_tmp11_ = last_point;
#line 29 "../src/area.vala"
_tmp12_ = last_point;
#line 29 "../src/area.vala"
cairo_line_to (ctx, _tmp11_.x, _tmp12_.y);
#line 30 "../src/area.vala"
_tmp13_ = last_point;
#line 30 "../src/area.vala"
_tmp14_ = boundaries;
#line 30 "../src/area.vala"
_tmp15_ = _tmp14_.y;
#line 30 "../src/area.vala"
cairo_line_to (ctx, _tmp13_.x, (gdouble) _tmp15_.max);
#line 31 "../src/area.vala"
_tmp16_ = first_point;
#line 31 "../src/area.vala"
_tmp17_ = boundaries;
#line 31 "../src/area.vala"
_tmp18_ = _tmp17_.y;
#line 31 "../src/area.vala"
cairo_line_to (ctx, _tmp16_.x, (gdouble) _tmp18_.max);
#line 32 "../src/area.vala"
_tmp19_ = first_point;
#line 32 "../src/area.vala"
_tmp20_ = first_point;
#line 32 "../src/area.vala"
cairo_line_to (ctx, _tmp19_.x, _tmp20_.y);
#line 33 "../src/area.vala"
cairo_close_path (ctx);
#line 205 "area.c"
}
}
static void
live_chart_area_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result)
{
LiveChartArea * self;
LiveChartBoundingBox _tmp0_;
#line 37 "../src/area.vala"
self = (LiveChartArea*) base;
#line 38 "../src/area.vala"
_tmp0_ = self->priv->bounding_box;
#line 38 "../src/area.vala"
*result = _tmp0_;
#line 38 "../src/area.vala"
return;
#line 223 "area.c"
}
static gboolean
live_chart_area_real_get_visible (LiveChartDrawable* base)
{
gboolean result;
LiveChartArea* self;
#line 14 "../src/area.vala"
self = (LiveChartArea*) base;
#line 14 "../src/area.vala"
result = self->priv->_visible;
#line 14 "../src/area.vala"
return result;
#line 237 "area.c"
}
static void
live_chart_area_real_set_visible (LiveChartDrawable* base,
gboolean value)
{
LiveChartArea* self;
gboolean old_value;
#line 14 "../src/area.vala"
self = (LiveChartArea*) base;
#line 14 "../src/area.vala"
old_value = live_chart_area_real_get_visible (base);
#line 14 "../src/area.vala"
if (old_value != value) {
#line 14 "../src/area.vala"
self->priv->_visible = value;
#line 14 "../src/area.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_area_properties[LIVE_CHART_AREA_VISIBLE_PROPERTY]);
#line 256 "area.c"
}
}
static void
live_chart_area_class_init (LiveChartAreaClass * klass,
gpointer klass_data)
{
#line 4 "../src/area.vala"
live_chart_area_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/area.vala"
g_type_class_adjust_private_offset (klass, &LiveChartArea_private_offset);
#line 4 "../src/area.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_area_get_property;
#line 4 "../src/area.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_area_set_property;
#line 4 "../src/area.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_area_finalize;
#line 4 "../src/area.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_AREA_VISIBLE_PROPERTY, live_chart_area_properties[LIVE_CHART_AREA_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 276 "area.c"
}
static void
live_chart_area_live_chart_drawable_interface_init (LiveChartDrawableIface * iface,
gpointer iface_data)
{
#line 4 "../src/area.vala"
live_chart_area_live_chart_drawable_parent_iface = g_type_interface_peek_parent (iface);
#line 4 "../src/area.vala"
iface->draw = (void (*) (LiveChartDrawable*, cairo_t*, LiveChartConfig*)) live_chart_area_real_draw;
#line 4 "../src/area.vala"
iface->get_bounding_box = (void (*) (LiveChartDrawable*, LiveChartBoundingBox*)) live_chart_area_real_get_bounding_box;
#line 4 "../src/area.vala"
iface->get_visible = live_chart_area_real_get_visible;
#line 4 "../src/area.vala"
iface->set_visible = live_chart_area_real_set_visible;
#line 293 "area.c"
}
static void
live_chart_area_instance_init (LiveChartArea * self,
gpointer klass)
{
LiveChartBoundingBox _tmp0_ = {0};
#line 4 "../src/area.vala"
self->priv = live_chart_area_get_instance_private (self);
#line 7 "../src/area.vala"
memset (&_tmp0_, 0, sizeof (LiveChartBoundingBox));
#line 7 "../src/area.vala"
_tmp0_.x = (gdouble) 0;
#line 7 "../src/area.vala"
_tmp0_.y = (gdouble) 0;
#line 7 "../src/area.vala"
_tmp0_.width = (gdouble) 0;
#line 7 "../src/area.vala"
_tmp0_.height = (gdouble) 0;
#line 7 "../src/area.vala"
self->priv->bounding_box = _tmp0_;
#line 13 "../src/area.vala"
self->priv->alpha = 0.3;
#line 14 "../src/area.vala"
self->priv->_visible = TRUE;
#line 319 "area.c"
}
static void
live_chart_area_finalize (GObject * obj)
{
LiveChartArea * self;
#line 4 "../src/area.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_AREA, LiveChartArea);
#line 5 "../src/area.vala"
_g_object_unref0 (self->priv->points);
#line 4 "../src/area.vala"
G_OBJECT_CLASS (live_chart_area_parent_class)->finalize (obj);
#line 332 "area.c"
}
static GType
live_chart_area_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartAreaClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_area_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartArea), 0, (GInstanceInitFunc) live_chart_area_instance_init, NULL };
static const GInterfaceInfo live_chart_drawable_info = { (GInterfaceInitFunc) live_chart_area_live_chart_drawable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
GType live_chart_area_type_id;
live_chart_area_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartArea", &g_define_type_info, 0);
g_type_add_interface_static (live_chart_area_type_id, LIVE_CHART_TYPE_DRAWABLE, &live_chart_drawable_info);
LiveChartArea_private_offset = g_type_add_instance_private (live_chart_area_type_id, sizeof (LiveChartAreaPrivate));
return live_chart_area_type_id;
}
GType
live_chart_area_get_type (void)
{
static volatile gsize live_chart_area_type_id__once = 0;
if (g_once_init_enter (&live_chart_area_type_id__once)) {
GType live_chart_area_type_id;
live_chart_area_type_id = live_chart_area_get_type_once ();
g_once_init_leave (&live_chart_area_type_id__once, live_chart_area_type_id);
}
return live_chart_area_type_id__once;
}
static void
_vala_live_chart_area_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartArea * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_AREA, LiveChartArea);
#line 4 "../src/area.vala"
switch (property_id) {
#line 4 "../src/area.vala"
case LIVE_CHART_AREA_VISIBLE_PROPERTY:
#line 4 "../src/area.vala"
g_value_set_boolean (value, live_chart_drawable_get_visible ((LiveChartDrawable*) self));
#line 4 "../src/area.vala"
break;
#line 375 "area.c"
default:
#line 4 "../src/area.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/area.vala"
break;
#line 381 "area.c"
}
}
static void
_vala_live_chart_area_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartArea * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_AREA, LiveChartArea);
#line 4 "../src/area.vala"
switch (property_id) {
#line 4 "../src/area.vala"
case LIVE_CHART_AREA_VISIBLE_PROPERTY:
#line 4 "../src/area.vala"
live_chart_drawable_set_visible ((LiveChartDrawable*) self, g_value_get_boolean (value));
#line 4 "../src/area.vala"
break;
#line 401 "area.c"
default:
#line 4 "../src/area.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/area.vala"
break;
#line 407 "area.c"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,559 @@
/* background.c generated by valac 0.56.0, the Vala compiler
* generated from background.vala, do not modify */
#include "livechart_static.h"
#include <glib.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <string.h>
#include <cairo-gobject.h>
#include <glib-object.h>
enum {
LIVE_CHART_BACKGROUND_0_PROPERTY,
LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY,
LIVE_CHART_BACKGROUND_COLOR_PROPERTY,
LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY,
LIVE_CHART_BACKGROUND_NUM_PROPERTIES
};
static GParamSpec* live_chart_background_properties[LIVE_CHART_BACKGROUND_NUM_PROPERTIES];
struct _LiveChartBackgroundPrivate {
LiveChartBoundingBox bounding_box;
gboolean _visible;
GdkRGBA _main_color;
};
static gint LiveChartBackground_private_offset;
static gpointer live_chart_background_parent_class = NULL;
static LiveChartDrawableIface * live_chart_background_live_chart_drawable_parent_iface = NULL;
static void live_chart_background_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_background_update_bounding_box (LiveChartBackground* self,
LiveChartConfig* config);
static void live_chart_background_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result);
static gboolean _gdk_rgba_equal (const GdkRGBA * s1,
const GdkRGBA * s2);
static void live_chart_background_finalize (GObject * obj);
static GType live_chart_background_get_type_once (void);
static void _vala_live_chart_background_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec);
static void _vala_live_chart_background_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec);
static inline gpointer
live_chart_background_get_instance_private (LiveChartBackground* self)
{
return G_STRUCT_MEMBER_P (self, LiveChartBackground_private_offset);
}
static void
live_chart_background_real_draw (LiveChartDrawable* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartBackground * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 33 "../src/background.vala"
self = (LiveChartBackground*) base;
#line 33 "../src/background.vala"
g_return_if_fail (ctx != NULL);
#line 33 "../src/background.vala"
g_return_if_fail (config != NULL);
#line 34 "../src/background.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 34 "../src/background.vala"
_tmp1_ = _tmp0_;
#line 34 "../src/background.vala"
if (_tmp1_) {
#line 79 "background.c"
gint _tmp2_;
gint _tmp3_;
gint _tmp4_;
gint _tmp5_;
GdkRGBA _tmp6_ = {0};
GdkRGBA _tmp7_;
GdkRGBA _tmp8_ = {0};
GdkRGBA _tmp9_;
GdkRGBA _tmp10_ = {0};
GdkRGBA _tmp11_;
GdkRGBA _tmp12_ = {0};
GdkRGBA _tmp13_;
#line 35 "../src/background.vala"
live_chart_background_update_bounding_box (self, config);
#line 36 "../src/background.vala"
_tmp2_ = live_chart_config_get_width (config);
#line 36 "../src/background.vala"
_tmp3_ = _tmp2_;
#line 36 "../src/background.vala"
_tmp4_ = live_chart_config_get_height (config);
#line 36 "../src/background.vala"
_tmp5_ = _tmp4_;
#line 36 "../src/background.vala"
cairo_rectangle (ctx, (gdouble) 0, (gdouble) 0, (gdouble) _tmp3_, (gdouble) _tmp5_);
#line 37 "../src/background.vala"
live_chart_background_get_color (self, &_tmp6_);
#line 37 "../src/background.vala"
_tmp7_ = _tmp6_;
#line 37 "../src/background.vala"
live_chart_background_get_color (self, &_tmp8_);
#line 37 "../src/background.vala"
_tmp9_ = _tmp8_;
#line 37 "../src/background.vala"
live_chart_background_get_color (self, &_tmp10_);
#line 37 "../src/background.vala"
_tmp11_ = _tmp10_;
#line 37 "../src/background.vala"
live_chart_background_get_color (self, &_tmp12_);
#line 37 "../src/background.vala"
_tmp13_ = _tmp12_;
#line 37 "../src/background.vala"
cairo_set_source_rgba (ctx, _tmp7_.red, _tmp9_.green, _tmp11_.blue, _tmp13_.alpha);
#line 38 "../src/background.vala"
cairo_fill (ctx);
#line 124 "background.c"
}
}
static void
live_chart_background_real_get_bounding_box (LiveChartDrawable* base,
LiveChartBoundingBox* result)
{
LiveChartBackground * self;
LiveChartBoundingBox _tmp0_;
#line 42 "../src/background.vala"
self = (LiveChartBackground*) base;
#line 43 "../src/background.vala"
_tmp0_ = self->priv->bounding_box;
#line 43 "../src/background.vala"
*result = _tmp0_;
#line 43 "../src/background.vala"
return;
#line 142 "background.c"
}
static void
live_chart_background_update_bounding_box (LiveChartBackground* self,
LiveChartConfig* config)
{
gint _tmp0_;
gint _tmp1_;
gint _tmp2_;
gint _tmp3_;
LiveChartBoundingBox _tmp4_ = {0};
#line 46 "../src/background.vala"
g_return_if_fail (self != NULL);
#line 46 "../src/background.vala"
g_return_if_fail (config != NULL);
#line 47 "../src/background.vala"
_tmp0_ = live_chart_config_get_width (config);
#line 47 "../src/background.vala"
_tmp1_ = _tmp0_;
#line 47 "../src/background.vala"
_tmp2_ = live_chart_config_get_height (config);
#line 47 "../src/background.vala"
_tmp3_ = _tmp2_;
#line 47 "../src/background.vala"
memset (&_tmp4_, 0, sizeof (LiveChartBoundingBox));
#line 47 "../src/background.vala"
_tmp4_.x = (gdouble) 0;
#line 47 "../src/background.vala"
_tmp4_.y = (gdouble) 0;
#line 47 "../src/background.vala"
_tmp4_.width = (gdouble) _tmp1_;
#line 47 "../src/background.vala"
_tmp4_.height = (gdouble) _tmp3_;
#line 47 "../src/background.vala"
self->priv->bounding_box = _tmp4_;
#line 178 "background.c"
}
LiveChartBackground*
live_chart_background_construct (GType object_type)
{
LiveChartBackground * self = NULL;
#line 4 "../src/background.vala"
self = (LiveChartBackground*) g_object_new (object_type, NULL);
#line 4 "../src/background.vala"
return self;
#line 189 "background.c"
}
LiveChartBackground*
live_chart_background_new (void)
{
#line 4 "../src/background.vala"
return live_chart_background_construct (LIVE_CHART_TYPE_BACKGROUND);
#line 197 "background.c"
}
static gboolean
live_chart_background_real_get_visible (LiveChartDrawable* base)
{
gboolean result;
LiveChartBackground* self;
#line 12 "../src/background.vala"
self = (LiveChartBackground*) base;
#line 12 "../src/background.vala"
result = self->priv->_visible;
#line 12 "../src/background.vala"
return result;
#line 211 "background.c"
}
static void
live_chart_background_real_set_visible (LiveChartDrawable* base,
gboolean value)
{
LiveChartBackground* self;
gboolean old_value;
#line 12 "../src/background.vala"
self = (LiveChartBackground*) base;
#line 12 "../src/background.vala"
old_value = live_chart_background_real_get_visible (base);
#line 12 "../src/background.vala"
if (old_value != value) {
#line 12 "../src/background.vala"
self->priv->_visible = value;
#line 12 "../src/background.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_background_properties[LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY]);
#line 230 "background.c"
}
}
void
live_chart_background_get_color (LiveChartBackground* self,
GdkRGBA * result)
{
GdkRGBA _tmp0_;
#line 15 "../src/background.vala"
g_return_if_fail (self != NULL);
#line 16 "../src/background.vala"
_tmp0_ = self->priv->_main_color;
#line 16 "../src/background.vala"
*result = _tmp0_;
#line 16 "../src/background.vala"
return;
#line 247 "background.c"
}
void
live_chart_background_set_color (LiveChartBackground* self,
GdkRGBA * value)
{
GdkRGBA _tmp0_;
#line 18 "../src/background.vala"
g_return_if_fail (self != NULL);
#line 19 "../src/background.vala"
_tmp0_ = *value;
#line 19 "../src/background.vala"
live_chart_background_set_main_color (self, &_tmp0_);
#line 18 "../src/background.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_background_properties[LIVE_CHART_BACKGROUND_COLOR_PROPERTY]);
#line 263 "background.c"
}
void
live_chart_background_get_main_color (LiveChartBackground* self,
GdkRGBA * result)
{
GdkRGBA _tmp0_;
#line 25 "../src/background.vala"
g_return_if_fail (self != NULL);
#line 25 "../src/background.vala"
_tmp0_ = self->priv->_main_color;
#line 25 "../src/background.vala"
*result = _tmp0_;
#line 25 "../src/background.vala"
return;
#line 279 "background.c"
}
static gboolean
_gdk_rgba_equal (const GdkRGBA * s1,
const GdkRGBA * s2)
{
#line 25 "../src/background.vala"
if (s1 == s2) {
#line 25 "../src/background.vala"
return TRUE;
#line 290 "background.c"
}
#line 25 "../src/background.vala"
if (s1 == NULL) {
#line 25 "../src/background.vala"
return FALSE;
#line 296 "background.c"
}
#line 25 "../src/background.vala"
if (s2 == NULL) {
#line 25 "../src/background.vala"
return FALSE;
#line 302 "background.c"
}
#line 25 "../src/background.vala"
if (s1->red != s2->red) {
#line 25 "../src/background.vala"
return FALSE;
#line 308 "background.c"
}
#line 25 "../src/background.vala"
if (s1->green != s2->green) {
#line 25 "../src/background.vala"
return FALSE;
#line 314 "background.c"
}
#line 25 "../src/background.vala"
if (s1->blue != s2->blue) {
#line 25 "../src/background.vala"
return FALSE;
#line 320 "background.c"
}
#line 25 "../src/background.vala"
if (s1->alpha != s2->alpha) {
#line 25 "../src/background.vala"
return FALSE;
#line 326 "background.c"
}
#line 25 "../src/background.vala"
return TRUE;
#line 330 "background.c"
}
void
live_chart_background_set_main_color (LiveChartBackground* self,
GdkRGBA * value)
{
GdkRGBA old_value;
#line 25 "../src/background.vala"
g_return_if_fail (self != NULL);
#line 25 "../src/background.vala"
live_chart_background_get_main_color (self, &old_value);
#line 25 "../src/background.vala"
if (_gdk_rgba_equal (value, &old_value) != TRUE) {
#line 344 "background.c"
GdkRGBA _tmp0_;
#line 25 "../src/background.vala"
_tmp0_ = *value;
#line 25 "../src/background.vala"
self->priv->_main_color = _tmp0_;
#line 25 "../src/background.vala"
g_object_notify_by_pspec ((GObject *) self, live_chart_background_properties[LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY]);
#line 352 "background.c"
}
}
static void
live_chart_background_class_init (LiveChartBackgroundClass * klass,
gpointer klass_data)
{
#line 4 "../src/background.vala"
live_chart_background_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/background.vala"
g_type_class_adjust_private_offset (klass, &LiveChartBackground_private_offset);
#line 4 "../src/background.vala"
G_OBJECT_CLASS (klass)->get_property = _vala_live_chart_background_get_property;
#line 4 "../src/background.vala"
G_OBJECT_CLASS (klass)->set_property = _vala_live_chart_background_set_property;
#line 4 "../src/background.vala"
G_OBJECT_CLASS (klass)->finalize = live_chart_background_finalize;
#line 4 "../src/background.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY, live_chart_background_properties[LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY] = g_param_spec_boolean ("visible", "visible", "visible", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4 "../src/background.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_BACKGROUND_COLOR_PROPERTY, live_chart_background_properties[LIVE_CHART_BACKGROUND_COLOR_PROPERTY] = g_param_spec_boxed ("color", "color", "color", gdk_rgba_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4 "../src/background.vala"
g_object_class_install_property (G_OBJECT_CLASS (klass), LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY, live_chart_background_properties[LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY] = g_param_spec_boxed ("main-color", "main-color", "main-color", gdk_rgba_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_DEPRECATED));
#line 376 "background.c"
}
static void
live_chart_background_live_chart_drawable_interface_init (LiveChartDrawableIface * iface,
gpointer iface_data)
{
#line 4 "../src/background.vala"
live_chart_background_live_chart_drawable_parent_iface = g_type_interface_peek_parent (iface);
#line 4 "../src/background.vala"
iface->draw = (void (*) (LiveChartDrawable*, cairo_t*, LiveChartConfig*)) live_chart_background_real_draw;
#line 4 "../src/background.vala"
iface->get_bounding_box = (void (*) (LiveChartDrawable*, LiveChartBoundingBox*)) live_chart_background_real_get_bounding_box;
#line 4 "../src/background.vala"
iface->get_visible = live_chart_background_real_get_visible;
#line 4 "../src/background.vala"
iface->set_visible = live_chart_background_real_set_visible;
#line 393 "background.c"
}
static void
live_chart_background_instance_init (LiveChartBackground * self,
gpointer klass)
{
LiveChartBoundingBox _tmp0_ = {0};
GdkRGBA _tmp1_ = {0};
#line 4 "../src/background.vala"
self->priv = live_chart_background_get_instance_private (self);
#line 5 "../src/background.vala"
memset (&_tmp0_, 0, sizeof (LiveChartBoundingBox));
#line 5 "../src/background.vala"
_tmp0_.x = (gdouble) 0;
#line 5 "../src/background.vala"
_tmp0_.y = (gdouble) 0;
#line 5 "../src/background.vala"
_tmp0_.width = (gdouble) 0;
#line 5 "../src/background.vala"
_tmp0_.height = (gdouble) 0;
#line 5 "../src/background.vala"
self->priv->bounding_box = _tmp0_;
#line 12 "../src/background.vala"
self->priv->_visible = TRUE;
#line 24 "../src/background.vala"
memset (&_tmp1_, 0, sizeof (GdkRGBA));
#line 24 "../src/background.vala"
_tmp1_.red = 0.1;
#line 24 "../src/background.vala"
_tmp1_.green = 0.1;
#line 24 "../src/background.vala"
_tmp1_.blue = 0.1;
#line 24 "../src/background.vala"
_tmp1_.alpha = 1.0;
#line 24 "../src/background.vala"
self->priv->_main_color = _tmp1_;
#line 430 "background.c"
}
static void
live_chart_background_finalize (GObject * obj)
{
LiveChartBackground * self;
#line 4 "../src/background.vala"
self = G_TYPE_CHECK_INSTANCE_CAST (obj, LIVE_CHART_TYPE_BACKGROUND, LiveChartBackground);
#line 4 "../src/background.vala"
G_OBJECT_CLASS (live_chart_background_parent_class)->finalize (obj);
#line 441 "background.c"
}
static GType
live_chart_background_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartBackgroundClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_background_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartBackground), 0, (GInstanceInitFunc) live_chart_background_instance_init, NULL };
static const GInterfaceInfo live_chart_drawable_info = { (GInterfaceInitFunc) live_chart_background_live_chart_drawable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
GType live_chart_background_type_id;
live_chart_background_type_id = g_type_register_static (G_TYPE_OBJECT, "LiveChartBackground", &g_define_type_info, 0);
g_type_add_interface_static (live_chart_background_type_id, LIVE_CHART_TYPE_DRAWABLE, &live_chart_drawable_info);
LiveChartBackground_private_offset = g_type_add_instance_private (live_chart_background_type_id, sizeof (LiveChartBackgroundPrivate));
return live_chart_background_type_id;
}
GType
live_chart_background_get_type (void)
{
static volatile gsize live_chart_background_type_id__once = 0;
if (g_once_init_enter (&live_chart_background_type_id__once)) {
GType live_chart_background_type_id;
live_chart_background_type_id = live_chart_background_get_type_once ();
g_once_init_leave (&live_chart_background_type_id__once, live_chart_background_type_id);
}
return live_chart_background_type_id__once;
}
static void
_vala_live_chart_background_get_property (GObject * object,
guint property_id,
GValue * value,
GParamSpec * pspec)
{
LiveChartBackground * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_BACKGROUND, LiveChartBackground);
#line 4 "../src/background.vala"
switch (property_id) {
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY:
#line 4 "../src/background.vala"
g_value_set_boolean (value, live_chart_drawable_get_visible ((LiveChartDrawable*) self));
#line 4 "../src/background.vala"
break;
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_COLOR_PROPERTY:
#line 486 "background.c"
{
GdkRGBA boxed;
#line 4 "../src/background.vala"
live_chart_background_get_color (self, &boxed);
#line 4 "../src/background.vala"
g_value_set_boxed (value, &boxed);
#line 493 "background.c"
}
#line 4 "../src/background.vala"
break;
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY:
#line 499 "background.c"
{
GdkRGBA boxed;
#line 4 "../src/background.vala"
live_chart_background_get_main_color (self, &boxed);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
#line 505 "background.c"
g_value_set_boxed (value, &boxed);
G_GNUC_END_IGNORE_DEPRECATIONS
}
#line 4 "../src/background.vala"
break;
#line 511 "background.c"
default:
#line 4 "../src/background.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/background.vala"
break;
#line 517 "background.c"
}
}
static void
_vala_live_chart_background_set_property (GObject * object,
guint property_id,
const GValue * value,
GParamSpec * pspec)
{
LiveChartBackground * self;
self = G_TYPE_CHECK_INSTANCE_CAST (object, LIVE_CHART_TYPE_BACKGROUND, LiveChartBackground);
#line 4 "../src/background.vala"
switch (property_id) {
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_VISIBLE_PROPERTY:
#line 4 "../src/background.vala"
live_chart_drawable_set_visible ((LiveChartDrawable*) self, g_value_get_boolean (value));
#line 4 "../src/background.vala"
break;
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_COLOR_PROPERTY:
#line 4 "../src/background.vala"
live_chart_background_set_color (self, g_value_get_boxed (value));
#line 4 "../src/background.vala"
break;
#line 4 "../src/background.vala"
case LIVE_CHART_BACKGROUND_MAIN_COLOR_PROPERTY:
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
#line 546 "background.c"
live_chart_background_set_main_color (self, g_value_get_boxed (value));
G_GNUC_END_IGNORE_DEPRECATIONS
#line 4 "../src/background.vala"
break;
#line 551 "background.c"
default:
#line 4 "../src/background.vala"
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "../src/background.vala"
break;
#line 557 "background.c"
}
}

View File

@ -0,0 +1,329 @@
/* bar.c generated by valac 0.56.0, the Vala compiler
* generated from bar.vala, do not modify */
#include "livechart_static.h"
#include <cairo-gobject.h>
#include <glib.h>
#include <float.h>
#include <math.h>
#include <string.h>
enum {
LIVE_CHART_BAR_0_PROPERTY,
LIVE_CHART_BAR_NUM_PROPERTIES
};
static GParamSpec* live_chart_bar_properties[LIVE_CHART_BAR_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
static gpointer live_chart_bar_parent_class = NULL;
static void live_chart_bar_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config);
static void live_chart_bar_update_bounding_box (LiveChartBar* self,
LiveChartPoints* points,
LiveChartConfig* config);
static GType live_chart_bar_get_type_once (void);
static gpointer
_g_object_ref0 (gpointer self)
{
#line 7 "../src/bar.vala"
return self ? g_object_ref (self) : NULL;
#line 34 "bar.c"
}
LiveChartBar*
live_chart_bar_construct (GType object_type,
LiveChartValues* values)
{
LiveChartBar * self = NULL;
LiveChartValues* _tmp0_;
#line 5 "../src/bar.vala"
g_return_val_if_fail (values != NULL, NULL);
#line 6 "../src/bar.vala"
self = (LiveChartBar*) live_chart_serie_renderer_construct (object_type);
#line 7 "../src/bar.vala"
_tmp0_ = _g_object_ref0 (values);
#line 7 "../src/bar.vala"
_g_object_unref0 (((LiveChartSerieRenderer*) self)->values);
#line 7 "../src/bar.vala"
((LiveChartSerieRenderer*) self)->values = _tmp0_;
#line 5 "../src/bar.vala"
return self;
#line 55 "bar.c"
}
LiveChartBar*
live_chart_bar_new (LiveChartValues* values)
{
#line 5 "../src/bar.vala"
return live_chart_bar_construct (LIVE_CHART_TYPE_BAR, values);
#line 63 "bar.c"
}
static void
live_chart_bar_real_draw (LiveChartSerieRenderer* base,
cairo_t* ctx,
LiveChartConfig* config)
{
LiveChartBar * self;
gboolean _tmp0_;
gboolean _tmp1_;
#line 10 "../src/bar.vala"
self = (LiveChartBar*) base;
#line 10 "../src/bar.vala"
g_return_if_fail (ctx != NULL);
#line 10 "../src/bar.vala"
g_return_if_fail (config != NULL);
#line 11 "../src/bar.vala"
_tmp0_ = live_chart_drawable_get_visible ((LiveChartDrawable*) self);
#line 11 "../src/bar.vala"
_tmp1_ = _tmp0_;
#line 11 "../src/bar.vala"
if (_tmp1_) {
#line 86 "bar.c"
LiveChartPoints* points = NULL;
LiveChartValues* _tmp2_;
LiveChartPoints* _tmp3_;
LiveChartPoints* _tmp4_;
gint _tmp5_;
gint _tmp6_;
#line 12 "../src/bar.vala"
_tmp2_ = ((LiveChartSerieRenderer*) self)->values;
#line 12 "../src/bar.vala"
_tmp3_ = live_chart_points_create (_tmp2_, config);
#line 12 "../src/bar.vala"
points = _tmp3_;
#line 13 "../src/bar.vala"
_tmp4_ = points;
#line 13 "../src/bar.vala"
_tmp5_ = live_chart_points_get_size (_tmp4_);
#line 13 "../src/bar.vala"
_tmp6_ = _tmp5_;
#line 13 "../src/bar.vala"
if (_tmp6_ > 0) {
#line 107 "bar.c"
LiveChartPath* _tmp7_;
LiveChartPath* _tmp8_;
LiveChartPoints* _tmp9_;
#line 14 "../src/bar.vala"
_tmp7_ = live_chart_serie_renderer_get_line ((LiveChartSerieRenderer*) self);
#line 14 "../src/bar.vala"
_tmp8_ = _tmp7_;
#line 14 "../src/bar.vala"
live_chart_path_configure (_tmp8_, ctx);
#line 16 "../src/bar.vala"
_tmp9_ = points;
#line 16 "../src/bar.vala"
live_chart_bar_update_bounding_box (self, _tmp9_, config);
#line 17 "../src/bar.vala"
live_chart_serie_renderer_debug ((LiveChartSerieRenderer*) self, ctx);
#line 123 "bar.c"
{
gint pos = 0;
#line 19 "../src/bar.vala"
pos = 0;
#line 128 "bar.c"
{
gboolean _tmp10_ = FALSE;
#line 19 "../src/bar.vala"
_tmp10_ = TRUE;
#line 19 "../src/bar.vala"
while (TRUE) {
#line 135 "bar.c"
LiveChartPoints* _tmp12_;
gint _tmp13_;
gint _tmp14_;
LiveChartPoint current_point = {0};
LiveChartPoints* _tmp15_;
LiveChartPoint _tmp16_ = {0};
LiveChartPoint next_point = {0};
LiveChartPoints* _tmp17_;
LiveChartPoint _tmp18_ = {0};
LiveChartPoint _tmp19_;
LiveChartPadding _tmp20_;
gdouble bar_width = 0.0;
LiveChartPoint _tmp21_;
LiveChartPoint _tmp22_;
LiveChartPoint _tmp23_;
LiveChartPoint _tmp24_;
LiveChartPoint _tmp25_;
#line 19 "../src/bar.vala"
if (!_tmp10_) {
#line 155 "bar.c"
gint _tmp11_;
#line 19 "../src/bar.vala"
_tmp11_ = pos;
#line 19 "../src/bar.vala"
pos = _tmp11_ + 1;
#line 161 "bar.c"
}
#line 19 "../src/bar.vala"
_tmp10_ = FALSE;
#line 19 "../src/bar.vala"
_tmp12_ = points;
#line 19 "../src/bar.vala"
_tmp13_ = live_chart_points_get_size (_tmp12_);
#line 19 "../src/bar.vala"
_tmp14_ = _tmp13_;
#line 19 "../src/bar.vala"
if (!(pos <= (_tmp14_ - 1))) {
#line 19 "../src/bar.vala"
break;
#line 175 "bar.c"
}
#line 20 "../src/bar.vala"
_tmp15_ = points;
#line 20 "../src/bar.vala"
live_chart_points_get (_tmp15_, pos, &_tmp16_);
#line 20 "../src/bar.vala"
current_point = _tmp16_;
#line 21 "../src/bar.vala"
_tmp17_ = points;
#line 21 "../src/bar.vala"
live_chart_points_after (_tmp17_, pos, &_tmp18_);
#line 21 "../src/bar.vala"
next_point = _tmp18_;
#line 23 "../src/bar.vala"
_tmp19_ = current_point;
#line 23 "../src/bar.vala"
_tmp20_ = config->padding;
#line 23 "../src/bar.vala"
if (_tmp19_.x < ((gdouble) _tmp20_.left)) {
#line 24 "../src/bar.vala"
continue;
#line 197 "bar.c"
}
#line 26 "../src/bar.vala"
_tmp21_ = current_point;
#line 26 "../src/bar.vala"
_tmp22_ = next_point;
#line 26 "../src/bar.vala"
bar_width = (_tmp21_.x - _tmp22_.x) / 1.2;
#line 27 "../src/bar.vala"
_tmp23_ = next_point;
#line 27 "../src/bar.vala"
_tmp24_ = next_point;
#line 27 "../src/bar.vala"
_tmp25_ = next_point;
#line 27 "../src/bar.vala"
cairo_rectangle (ctx, _tmp23_.x, _tmp24_.y, bar_width, _tmp25_.height);
#line 213 "bar.c"
}
}
}
#line 30 "../src/bar.vala"
cairo_fill (ctx);
#line 219 "bar.c"
}
#line 11 "../src/bar.vala"
_g_object_unref0 (points);
#line 223 "bar.c"
}
}
static void
live_chart_bar_update_bounding_box (LiveChartBar* self,
LiveChartPoints* points,
LiveChartConfig* config)
{
LiveChartPoint _tmp0_ = {0};
LiveChartBounds* _tmp1_;
LiveChartBounds* _tmp2_;
gdouble _tmp3_;
gdouble _tmp4_;
LiveChartPoint _tmp5_ = {0};
LiveChartPoint _tmp6_ = {0};
LiveChartBoundaries _tmp7_ = {0};
LiveChartBoundary _tmp8_;
LiveChartBounds* _tmp9_;
LiveChartBounds* _tmp10_;
gdouble _tmp11_;
gdouble _tmp12_;
LiveChartBoundingBox _tmp13_ = {0};
#line 35 "../src/bar.vala"
g_return_if_fail (self != NULL);
#line 35 "../src/bar.vala"
g_return_if_fail (points != NULL);
#line 35 "../src/bar.vala"
g_return_if_fail (config != NULL);
#line 36 "../src/bar.vala"
live_chart_points_first (points, &_tmp0_);
#line 36 "../src/bar.vala"
_tmp1_ = live_chart_points_get_bounds (points);
#line 36 "../src/bar.vala"
_tmp2_ = _tmp1_;
#line 36 "../src/bar.vala"
_tmp3_ = live_chart_bounds_get_lower (_tmp2_);
#line 36 "../src/bar.vala"
_tmp4_ = _tmp3_;
#line 36 "../src/bar.vala"
live_chart_points_last (points, &_tmp5_);
#line 36 "../src/bar.vala"
live_chart_points_first (points, &_tmp6_);
#line 36 "../src/bar.vala"
live_chart_config_boundaries (config, &_tmp7_);
#line 36 "../src/bar.vala"
_tmp8_ = _tmp7_.y;
#line 36 "../src/bar.vala"
_tmp9_ = live_chart_points_get_bounds (points);
#line 36 "../src/bar.vala"
_tmp10_ = _tmp9_;
#line 36 "../src/bar.vala"
_tmp11_ = live_chart_bounds_get_lower (_tmp10_);
#line 36 "../src/bar.vala"
_tmp12_ = _tmp11_;
#line 36 "../src/bar.vala"
memset (&_tmp13_, 0, sizeof (LiveChartBoundingBox));
#line 36 "../src/bar.vala"
_tmp13_.x = _tmp0_.x;
#line 36 "../src/bar.vala"
_tmp13_.y = _tmp4_;
#line 36 "../src/bar.vala"
_tmp13_.width = _tmp5_.x - _tmp6_.x;
#line 36 "../src/bar.vala"
_tmp13_.height = _tmp8_.max - _tmp12_;
#line 36 "../src/bar.vala"
((LiveChartSerieRenderer*) self)->bounding_box = _tmp13_;
#line 290 "bar.c"
}
static void
live_chart_bar_class_init (LiveChartBarClass * klass,
gpointer klass_data)
{
#line 4 "../src/bar.vala"
live_chart_bar_parent_class = g_type_class_peek_parent (klass);
#line 4 "../src/bar.vala"
((LiveChartSerieRendererClass *) klass)->draw = (void (*) (LiveChartSerieRenderer*, cairo_t*, LiveChartConfig*)) live_chart_bar_real_draw;
#line 301 "bar.c"
}
static void
live_chart_bar_instance_init (LiveChartBar * self,
gpointer klass)
{
}
static GType
live_chart_bar_get_type_once (void)
{
static const GTypeInfo g_define_type_info = { sizeof (LiveChartBarClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) live_chart_bar_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LiveChartBar), 0, (GInstanceInitFunc) live_chart_bar_instance_init, NULL };
GType live_chart_bar_type_id;
live_chart_bar_type_id = g_type_register_static (LIVE_CHART_TYPE_SERIE_RENDERER, "LiveChartBar", &g_define_type_info, 0);
return live_chart_bar_type_id;
}
GType
live_chart_bar_get_type (void)
{
static volatile gsize live_chart_bar_type_id__once = 0;
if (g_once_init_enter (&live_chart_bar_type_id__once)) {
GType live_chart_bar_type_id;
live_chart_bar_type_id = live_chart_bar_get_type_once ();
g_once_init_leave (&live_chart_bar_type_id__once, live_chart_bar_type_id);
}
return live_chart_bar_type_id__once;
}

View File

@ -0,0 +1,534 @@
/* bezier.c generated by valac 0.56.0, the Vala compiler
* generated from bezier.vala, do not modify */
#include <glib.h>
#include <float.h>
#include <math.h>
#include "livechart_static.h"
#include <gee.h>
#include <glib-object.h>
#include <string.h>
#define LIVE_CHART_POLYNOMIAL_TOLERANCE 1e-6
#define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
VALA_EXTERN GeeList* live_chart_get_cubic_roots (gdouble C3,
gdouble C2,
gdouble C1,
gdouble C0);
static gdouble* _double_dup (gdouble* self);
GeeList*
live_chart_find_intersections_between (LiveChartSegment* segment,
LiveChartBezierCurve* bezier)
{
gdouble ax = 0.0;
LiveChartBezierCurve _tmp0_;
LiveChartCoord _tmp1_;
LiveChartBezierCurve _tmp2_;
LiveChartCoord _tmp3_;
LiveChartBezierCurve _tmp4_;
LiveChartCoord _tmp5_;
LiveChartBezierCurve _tmp6_;
LiveChartCoord _tmp7_;
gdouble ay = 0.0;
LiveChartBezierCurve _tmp8_;
LiveChartCoord _tmp9_;
LiveChartBezierCurve _tmp10_;
LiveChartCoord _tmp11_;
LiveChartBezierCurve _tmp12_;
LiveChartCoord _tmp13_;
LiveChartBezierCurve _tmp14_;
LiveChartCoord _tmp15_;
gdouble bx = 0.0;
LiveChartBezierCurve _tmp16_;
LiveChartCoord _tmp17_;
LiveChartBezierCurve _tmp18_;
LiveChartCoord _tmp19_;
LiveChartBezierCurve _tmp20_;
LiveChartCoord _tmp21_;
gdouble by = 0.0;
LiveChartBezierCurve _tmp22_;
LiveChartCoord _tmp23_;
LiveChartBezierCurve _tmp24_;
LiveChartCoord _tmp25_;
LiveChartBezierCurve _tmp26_;
LiveChartCoord _tmp27_;
gdouble cx = 0.0;
LiveChartBezierCurve _tmp28_;
LiveChartCoord _tmp29_;
LiveChartBezierCurve _tmp30_;
LiveChartCoord _tmp31_;
gdouble cy = 0.0;
LiveChartBezierCurve _tmp32_;
LiveChartCoord _tmp33_;
LiveChartBezierCurve _tmp34_;
LiveChartCoord _tmp35_;
gdouble dx = 0.0;
LiveChartBezierCurve _tmp36_;
LiveChartCoord _tmp37_;
gdouble dy = 0.0;
LiveChartBezierCurve _tmp38_;
LiveChartCoord _tmp39_;
gdouble vx = 0.0;
LiveChartSegment _tmp40_;
LiveChartCoord _tmp41_;
LiveChartSegment _tmp42_;
LiveChartCoord _tmp43_;
gdouble vy = 0.0;
LiveChartSegment _tmp44_;
LiveChartCoord _tmp45_;
LiveChartSegment _tmp46_;
LiveChartCoord _tmp47_;
gdouble d = 0.0;
LiveChartSegment _tmp48_;
LiveChartCoord _tmp49_;
LiveChartSegment _tmp50_;
LiveChartCoord _tmp51_;
GeeList* roots = NULL;
GeeList* _tmp52_;
GeeArrayList* results = NULL;
GeeArrayList* _tmp53_;
GeeList* result;
#line 6 "../src/bezier.vala"
g_return_val_if_fail (segment != NULL, NULL);
#line 6 "../src/bezier.vala"
g_return_val_if_fail (bezier != NULL, NULL);
#line 8 "../src/bezier.vala"
_tmp0_ = *bezier;
#line 8 "../src/bezier.vala"
_tmp1_ = _tmp0_.c1;
#line 8 "../src/bezier.vala"
_tmp2_ = *bezier;
#line 8 "../src/bezier.vala"
_tmp3_ = _tmp2_.c2;
#line 8 "../src/bezier.vala"
_tmp4_ = *bezier;
#line 8 "../src/bezier.vala"
_tmp5_ = _tmp4_.c3;
#line 8 "../src/bezier.vala"
_tmp6_ = *bezier;
#line 8 "../src/bezier.vala"
_tmp7_ = _tmp6_.c0;
#line 8 "../src/bezier.vala"
ax = ((3 * (_tmp1_.x - _tmp3_.x)) + _tmp5_.x) - _tmp7_.x;
#line 9 "../src/bezier.vala"
_tmp8_ = *bezier;
#line 9 "../src/bezier.vala"
_tmp9_ = _tmp8_.c1;
#line 9 "../src/bezier.vala"
_tmp10_ = *bezier;
#line 9 "../src/bezier.vala"
_tmp11_ = _tmp10_.c2;
#line 9 "../src/bezier.vala"
_tmp12_ = *bezier;
#line 9 "../src/bezier.vala"
_tmp13_ = _tmp12_.c3;
#line 9 "../src/bezier.vala"
_tmp14_ = *bezier;
#line 9 "../src/bezier.vala"
_tmp15_ = _tmp14_.c0;
#line 9 "../src/bezier.vala"
ay = ((3 * (_tmp9_.y - _tmp11_.y)) + _tmp13_.y) - _tmp15_.y;
#line 11 "../src/bezier.vala"
_tmp16_ = *bezier;
#line 11 "../src/bezier.vala"
_tmp17_ = _tmp16_.c0;
#line 11 "../src/bezier.vala"
_tmp18_ = *bezier;
#line 11 "../src/bezier.vala"
_tmp19_ = _tmp18_.c1;
#line 11 "../src/bezier.vala"
_tmp20_ = *bezier;
#line 11 "../src/bezier.vala"
_tmp21_ = _tmp20_.c2;
#line 11 "../src/bezier.vala"
bx = 3 * ((_tmp17_.x - (2 * _tmp19_.x)) + _tmp21_.x);
#line 12 "../src/bezier.vala"
_tmp22_ = *bezier;
#line 12 "../src/bezier.vala"
_tmp23_ = _tmp22_.c0;
#line 12 "../src/bezier.vala"
_tmp24_ = *bezier;
#line 12 "../src/bezier.vala"
_tmp25_ = _tmp24_.c1;
#line 12 "../src/bezier.vala"
_tmp26_ = *bezier;
#line 12 "../src/bezier.vala"
_tmp27_ = _tmp26_.c2;
#line 12 "../src/bezier.vala"
by = 3 * ((_tmp23_.y - (2 * _tmp25_.y)) + _tmp27_.y);
#line 14 "../src/bezier.vala"
_tmp28_ = *bezier;
#line 14 "../src/bezier.vala"
_tmp29_ = _tmp28_.c1;
#line 14 "../src/bezier.vala"
_tmp30_ = *bezier;
#line 14 "../src/bezier.vala"
_tmp31_ = _tmp30_.c0;
#line 14 "../src/bezier.vala"
cx = 3 * (_tmp29_.x - _tmp31_.x);
#line 15 "../src/bezier.vala"
_tmp32_ = *bezier;
#line 15 "../src/bezier.vala"
_tmp33_ = _tmp32_.c1;
#line 15 "../src/bezier.vala"
_tmp34_ = *bezier;
#line 15 "../src/bezier.vala"
_tmp35_ = _tmp34_.c0;
#line 15 "../src/bezier.vala"
cy = 3 * (_tmp33_.y - _tmp35_.y);
#line 17 "../src/bezier.vala"
_tmp36_ = *bezier;
#line 17 "../src/bezier.vala"
_tmp37_ = _tmp36_.c0;
#line 17 "../src/bezier.vala"
dx = _tmp37_.x;
#line 18 "../src/bezier.vala"
_tmp38_ = *bezier;
#line 18 "../src/bezier.vala"
_tmp39_ = _tmp38_.c0;
#line 18 "../src/bezier.vala"
dy = _tmp39_.y;
#line 20 "../src/bezier.vala"
_tmp40_ = *segment;
#line 20 "../src/bezier.vala"
_tmp41_ = _tmp40_.to;
#line 20 "../src/bezier.vala"
_tmp42_ = *segment;
#line 20 "../src/bezier.vala"
_tmp43_ = _tmp42_.from;
#line 20 "../src/bezier.vala"
vx = _tmp41_.y - _tmp43_.y;
#line 21 "../src/bezier.vala"
_tmp44_ = *segment;
#line 21 "../src/bezier.vala"
_tmp45_ = _tmp44_.from;
#line 21 "../src/bezier.vala"
_tmp46_ = *segment;
#line 21 "../src/bezier.vala"
_tmp47_ = _tmp46_.to;
#line 21 "../src/bezier.vala"
vy = _tmp45_.x - _tmp47_.x;
#line 23 "../src/bezier.vala"
_tmp48_ = *segment;
#line 23 "../src/bezier.vala"
_tmp49_ = _tmp48_.from;
#line 23 "../src/bezier.vala"
_tmp50_ = *segment;
#line 23 "../src/bezier.vala"
_tmp51_ = _tmp50_.from;
#line 23 "../src/bezier.vala"
d = (_tmp49_.x * vx) + (_tmp51_.y * vy);
#line 25 "../src/bezier.vala"
_tmp52_ = live_chart_get_cubic_roots ((vx * ax) + (vy * ay), (vx * bx) + (vy * by), (vx * cx) + (vy * cy), ((vx * dx) + (vy * dy)) - d);
#line 25 "../src/bezier.vala"
roots = _tmp52_;
#line 32 "../src/bezier.vala"
_tmp53_ = gee_array_list_new (LIVE_CHART_TYPE_COORD, (GBoxedCopyFunc) live_chart_coord_dup, (GDestroyNotify) live_chart_coord_free, NULL, NULL, NULL);
#line 32 "../src/bezier.vala"
results = _tmp53_;
#line 234 "bezier.c"
{
gint i = 0;
#line 33 "../src/bezier.vala"
i = 0;
#line 239 "bezier.c"
{
gboolean _tmp54_ = FALSE;
#line 33 "../src/bezier.vala"
_tmp54_ = TRUE;
#line 33 "../src/bezier.vala"
while (TRUE) {
#line 246 "bezier.c"
GeeList* _tmp56_;
gint _tmp57_;
gint _tmp58_;
gdouble* root = NULL;
GeeList* _tmp59_;
gpointer _tmp60_;
gboolean _tmp61_ = FALSE;
gdouble* _tmp62_;
GeeArrayList* _tmp64_;
gdouble* _tmp65_;
gdouble* _tmp66_;
gdouble* _tmp67_;
gdouble* _tmp68_;
gdouble* _tmp69_;
gdouble* _tmp70_;
LiveChartCoord _tmp71_ = {0};
#line 33 "../src/bezier.vala"
if (!_tmp54_) {
#line 265 "bezier.c"
gint _tmp55_;
#line 33 "../src/bezier.vala"
_tmp55_ = i;
#line 33 "../src/bezier.vala"
i = _tmp55_ + 1;
#line 271 "bezier.c"
}
#line 33 "../src/bezier.vala"
_tmp54_ = FALSE;
#line 33 "../src/bezier.vala"
_tmp56_ = roots;
#line 33 "../src/bezier.vala"
_tmp57_ = gee_collection_get_size ((GeeCollection*) _tmp56_);
#line 33 "../src/bezier.vala"
_tmp58_ = _tmp57_;
#line 33 "../src/bezier.vala"
if (!(i < _tmp58_)) {
#line 33 "../src/bezier.vala"
break;
#line 285 "bezier.c"
}
#line 34 "../src/bezier.vala"
_tmp59_ = roots;
#line 34 "../src/bezier.vala"
_tmp60_ = gee_list_get (_tmp59_, i);
#line 34 "../src/bezier.vala"
root = (gdouble*) _tmp60_;
#line 35 "../src/bezier.vala"
_tmp62_ = root;
#line 35 "../src/bezier.vala"
if (((gdouble) 0) > (*_tmp62_)) {
#line 35 "../src/bezier.vala"
_tmp61_ = TRUE;
#line 299 "bezier.c"
} else {
gdouble* _tmp63_;
#line 35 "../src/bezier.vala"
_tmp63_ = root;
#line 35 "../src/bezier.vala"
_tmp61_ = (*_tmp63_) > ((gdouble) 1);
#line 306 "bezier.c"
}
#line 35 "../src/bezier.vala"
if (_tmp61_) {
#line 35 "../src/bezier.vala"
_g_free0 (root);
#line 35 "../src/bezier.vala"
continue;
#line 314 "bezier.c"
}
#line 36 "../src/bezier.vala"
_tmp64_ = results;
#line 36 "../src/bezier.vala"
_tmp65_ = root;
#line 36 "../src/bezier.vala"
_tmp66_ = root;
#line 36 "../src/bezier.vala"
_tmp67_ = root;
#line 36 "../src/bezier.vala"
_tmp68_ = root;
#line 36 "../src/bezier.vala"
_tmp69_ = root;
#line 36 "../src/bezier.vala"
_tmp70_ = root;
#line 36 "../src/bezier.vala"
_tmp71_.x = (((((ax * (*_tmp65_)) + bx) * (*_tmp66_)) + cx) * (*_tmp67_)) + dx;
#line 36 "../src/bezier.vala"
_tmp71_.y = (((((ay * (*_tmp68_)) + by) * (*_tmp69_)) + cy) * (*_tmp70_)) + dy;
#line 36 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp64_, &_tmp71_);
#line 33 "../src/bezier.vala"
_g_free0 (root);
#line 338 "bezier.c"
}
}
}
#line 42 "../src/bezier.vala"
result = (GeeList*) results;
#line 42 "../src/bezier.vala"
_g_object_unref0 (roots);
#line 42 "../src/bezier.vala"
return result;
#line 348 "bezier.c"
}
static gdouble*
_double_dup (gdouble* self)
{
gdouble* dup;
#line 47 "../src/bezier.vala"
dup = g_new0 (gdouble, 1);
#line 47 "../src/bezier.vala"
memcpy (dup, self, sizeof (gdouble));
#line 47 "../src/bezier.vala"
return dup;
#line 361 "bezier.c"
}
GeeList*
live_chart_get_cubic_roots (gdouble C3,
gdouble C2,
gdouble C1,
gdouble C0)
{
GeeArrayList* roots = NULL;
GeeArrayList* _tmp0_;
gdouble c3 = 0.0;
gdouble c2 = 0.0;
gdouble c1 = 0.0;
gdouble c0 = 0.0;
gdouble a = 0.0;
gdouble b = 0.0;
gdouble offset = 0.0;
gdouble discrim = 0.0;
gdouble halfB = 0.0;
gdouble tmp = 0.0;
gdouble root = 0.0;
GeeList* result;
#line 47 "../src/bezier.vala"
_tmp0_ = gee_array_list_new (G_TYPE_DOUBLE, (GBoxedCopyFunc) _double_dup, (GDestroyNotify) g_free, NULL, NULL, NULL);
#line 47 "../src/bezier.vala"
roots = _tmp0_;
#line 50 "../src/bezier.vala"
c3 = C3;
#line 51 "../src/bezier.vala"
c2 = C2 / c3;
#line 52 "../src/bezier.vala"
c1 = C1 / c3;
#line 53 "../src/bezier.vala"
c0 = C0 / c3;
#line 55 "../src/bezier.vala"
a = ((3 * c1) - (c2 * c2)) / 3;
#line 56 "../src/bezier.vala"
b = (((((2 * c2) * c2) * c2) - ((9 * c1) * c2)) + (27 * c0)) / 27;
#line 57 "../src/bezier.vala"
offset = c2 / 3;
#line 58 "../src/bezier.vala"
discrim = ((b * b) / 4) + (((a * a) * a) / 27);
#line 59 "../src/bezier.vala"
halfB = b / 2;
#line 61 "../src/bezier.vala"
tmp = (gdouble) 0;
#line 62 "../src/bezier.vala"
root = (gdouble) 0;
#line 64 "../src/bezier.vala"
if (fabs (discrim) <= LIVE_CHART_POLYNOMIAL_TOLERANCE) {
#line 64 "../src/bezier.vala"
discrim = (gdouble) 0;
#line 414 "bezier.c"
}
#line 66 "../src/bezier.vala"
if (discrim > ((gdouble) 0)) {
#line 418 "bezier.c"
gdouble e = 0.0;
GeeArrayList* _tmp1_;
gdouble _tmp2_;
#line 67 "../src/bezier.vala"
e = sqrt (discrim);
#line 69 "../src/bezier.vala"
tmp = (-halfB) + e;
#line 70 "../src/bezier.vala"
if (tmp >= ((gdouble) 0)) {
#line 70 "../src/bezier.vala"
root = pow (tmp, (gdouble) (1 / 3));
#line 430 "bezier.c"
} else {
#line 71 "../src/bezier.vala"
root = -pow (-tmp, (gdouble) (1 / 3));
#line 434 "bezier.c"
}
#line 73 "../src/bezier.vala"
tmp = (-halfB) - e;
#line 74 "../src/bezier.vala"
if (tmp >= ((gdouble) 0)) {
#line 74 "../src/bezier.vala"
root += pow (tmp, (gdouble) (1 / 3));
#line 442 "bezier.c"
} else {
#line 75 "../src/bezier.vala"
root -= pow (-tmp, (gdouble) (1 / 3));
#line 446 "bezier.c"
}
#line 77 "../src/bezier.vala"
_tmp1_ = roots;
#line 77 "../src/bezier.vala"
_tmp2_ = root - offset;
#line 77 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp1_, &_tmp2_);
#line 454 "bezier.c"
} else {
#line 78 "../src/bezier.vala"
if (discrim < ((gdouble) 0)) {
#line 458 "bezier.c"
gdouble distance = 0.0;
gdouble angle = 0.0;
gdouble _cos = 0.0;
gdouble _sin = 0.0;
gdouble sqrt3 = 0.0;
GeeArrayList* _tmp3_;
gdouble _tmp4_;
GeeArrayList* _tmp5_;
gdouble _tmp6_;
GeeArrayList* _tmp7_;
gdouble _tmp8_;
#line 79 "../src/bezier.vala"
distance = sqrt ((-a) / 3);
#line 80 "../src/bezier.vala"
angle = atan2 (sqrt (-discrim), -halfB) / 3;
#line 81 "../src/bezier.vala"
_cos = cos (angle);
#line 82 "../src/bezier.vala"
_sin = sin (angle);
#line 83 "../src/bezier.vala"
sqrt3 = sqrt ((gdouble) 3);
#line 85 "../src/bezier.vala"
_tmp3_ = roots;
#line 85 "../src/bezier.vala"
_tmp4_ = ((2 * distance) * _cos) - offset;
#line 85 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp3_, &_tmp4_);
#line 86 "../src/bezier.vala"
_tmp5_ = roots;
#line 86 "../src/bezier.vala"
_tmp6_ = ((-distance) * (_cos + (sqrt3 * _sin))) - offset;
#line 86 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp5_, &_tmp6_);
#line 87 "../src/bezier.vala"
_tmp7_ = roots;
#line 87 "../src/bezier.vala"
_tmp8_ = ((-distance) * (_cos - (sqrt3 * _sin))) - offset;
#line 87 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp7_, &_tmp8_);
#line 498 "bezier.c"
} else {
GeeArrayList* _tmp9_;
gdouble _tmp10_;
GeeArrayList* _tmp11_;
gdouble _tmp12_;
#line 89 "../src/bezier.vala"
if (halfB >= ((gdouble) 0)) {
#line 89 "../src/bezier.vala"
tmp = -pow (halfB, (gdouble) (1 / 3));
#line 508 "bezier.c"
} else {
#line 90 "../src/bezier.vala"
tmp = pow (-halfB, (gdouble) (1 / 3));
#line 512 "bezier.c"
}
#line 92 "../src/bezier.vala"
_tmp9_ = roots;
#line 92 "../src/bezier.vala"
_tmp10_ = (2 * tmp) - offset;
#line 92 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp9_, &_tmp10_);
#line 94 "../src/bezier.vala"
_tmp11_ = roots;
#line 94 "../src/bezier.vala"
_tmp12_ = (-tmp) - offset;
#line 94 "../src/bezier.vala"
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp11_, &_tmp12_);
#line 526 "bezier.c"
}
}
#line 97 "../src/bezier.vala"
result = (GeeList*) roots;
#line 97 "../src/bezier.vala"
return result;
#line 533 "bezier.c"
}

Some files were not shown because too many files have changed in this diff Show More