Merge branch 'master' into cairocanvas
[ardour.git] / libs / gtkmm2ext / gtkmm2ext / prolooks-helpers.h
1 /* Helpers.c generated by valac, the Vala compiler */
2
3 /* 
4     Copyright 2009 by Hans Baier
5     License: LGPLv2+ 
6 */
7
8 #ifndef __prolooks_helpers_h__
9 #define __prolooks_helpers_h__
10
11 #include <glib.h>
12 #include <glib-object.h>
13 #include <float.h>
14 #include <math.h>
15 #include <stdlib.h>
16 #include <string.h>
17 #include <cairo.h>
18 #include <gdk/gdk.h>
19 #include <gdk-pixbuf/gdk-pixdata.h>
20 #include <gobject/gvaluecollector.h>
21
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25
26 #define CAIRO_TYPE_COLOR (cairo_color_get_type ())
27 #define CAIRO_COLOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAIRO_TYPE_COLOR, CairoColor))
28 #define CAIRO_COLOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAIRO_TYPE_COLOR, CairoColorClass))
29 #define CAIRO_IS_COLOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAIRO_TYPE_COLOR))
30 #define CAIRO_IS_COLOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAIRO_TYPE_COLOR))
31 #define CAIRO_COLOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAIRO_TYPE_COLOR, CairoColorClass))
32
33 typedef struct _CairoColor CairoColor;
34 typedef struct _CairoColorClass CairoColorClass;
35 typedef struct _CairoColorPrivate CairoColorPrivate;
36
37 #define PROLOOKS_TYPE_HSL (prolooks_hsl_get_type ())
38 #define PROLOOKS_HSL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROLOOKS_TYPE_HSL, ProlooksHSL))
39 #define PROLOOKS_HSL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROLOOKS_TYPE_HSL, ProlooksHSLClass))
40 #define PROLOOKS_IS_HSL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROLOOKS_TYPE_HSL))
41 #define PROLOOKS_IS_HSL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROLOOKS_TYPE_HSL))
42 #define PROLOOKS_HSL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROLOOKS_TYPE_HSL, ProlooksHSLClass))
43
44 typedef struct _ProlooksHSL ProlooksHSL;
45 typedef struct _ProlooksHSLClass ProlooksHSLClass;
46 #define _prolooks_hsl_unref0(var) ((var == NULL) ? NULL : (var = (prolooks_hsl_unref (var), NULL)))
47 #define _cairo_color_unref0(var) ((var == NULL) ? NULL : (var = (cairo_color_unref (var), NULL)))
48 typedef struct _CairoParamSpecColor CairoParamSpecColor;
49
50 #define PROLOOKS_TYPE_BUTTON_STATE (prolooks_button_state_get_type ())
51
52 #define PROLOOKS_TYPE_BUTTON_TYPE (prolooks_button_type_get_type ())
53 #define _cairo_pattern_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_pattern_destroy (var), NULL)))
54 typedef struct _ProlooksHSLPrivate ProlooksHSLPrivate;
55 typedef struct _ProlooksParamSpecHSL ProlooksParamSpecHSL;
56
57 #define PROLOOKS_TYPE_HSV (prolooks_hsv_get_type ())
58 #define PROLOOKS_HSV(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROLOOKS_TYPE_HSV, ProlooksHSV))
59 #define PROLOOKS_HSV_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROLOOKS_TYPE_HSV, ProlooksHSVClass))
60 #define PROLOOKS_IS_HSV(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROLOOKS_TYPE_HSV))
61 #define PROLOOKS_IS_HSV_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROLOOKS_TYPE_HSV))
62 #define PROLOOKS_HSV_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROLOOKS_TYPE_HSV, ProlooksHSVClass))
63
64 typedef struct _ProlooksHSV ProlooksHSV;
65 typedef struct _ProlooksHSVClass ProlooksHSVClass;
66 typedef struct _ProlooksHSVPrivate ProlooksHSVPrivate;
67 typedef struct _ProlooksParamSpecHSV ProlooksParamSpecHSV;
68
69 struct _CairoColor {
70         GTypeInstance parent_instance;
71         volatile int ref_count;
72         CairoColorPrivate * priv;
73 };
74
75 struct _CairoColorClass {
76         GTypeClass parent_class;
77         void (*finalize) (CairoColor *self);
78 };
79
80 struct _CairoColorPrivate {
81         double _red;
82         double _green;
83         double _blue;
84         double _alpha;
85 };
86
87 struct _CairoParamSpecColor {
88         GParamSpec parent_instance;
89 };
90
91 typedef enum  {
92         PROLOOKS_BUTTON_STATE_NORMAL,
93         PROLOOKS_BUTTON_STATE_PRESSED
94 } ProlooksButtonState;
95
96 typedef enum  {
97         PROLOOKS_BUTTON_TYPE_PRESS_BUTTON,
98         PROLOOKS_BUTTON_TYPE_TOGGLE_BUTTON
99 } ProlooksButtonType;
100
101 struct _ProlooksHSL {
102         GTypeInstance parent_instance;
103         volatile int ref_count;
104         ProlooksHSLPrivate * priv;
105 };
106
107 struct _ProlooksHSLClass {
108         GTypeClass parent_class;
109         void (*finalize) (ProlooksHSL *self);
110 };
111
112 struct _ProlooksHSLPrivate {
113         double _hue;
114         double _saturation;
115         double _lightness;
116 };
117
118 struct _ProlooksParamSpecHSL {
119         GParamSpec parent_instance;
120 };
121
122 struct _ProlooksHSV {
123         GTypeInstance parent_instance;
124         volatile int ref_count;
125         ProlooksHSVPrivate * priv;
126 };
127
128 struct _ProlooksHSVClass {
129         GTypeClass parent_class;
130         void (*finalize) (ProlooksHSV *self);
131 };
132
133 struct _ProlooksHSVPrivate {
134         double _hue;
135         double _saturation;
136         double _value;
137 };
138
139 struct _ProlooksParamSpecHSV {
140         GParamSpec parent_instance;
141 };
142
143
144 gpointer cairo_color_ref (gpointer instance);
145 void cairo_color_unref (gpointer instance);
146 GParamSpec* cairo_param_spec_color (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
147 void cairo_value_set_color (GValue* value, gpointer v_object);
148 void cairo_value_take_color (GValue* value, gpointer v_object);
149 gpointer cairo_value_get_color (const GValue* value);
150 GType cairo_color_get_type (void);
151 #define CAIRO_COLOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CAIRO_TYPE_COLOR, CairoColorPrivate))
152 enum  {
153         CAIRO_COLOR_DUMMY_PROPERTY
154 };
155 void cairo_color_set_red (CairoColor* self, double value);
156 void cairo_color_set_green (CairoColor* self, double value);
157 void cairo_color_set_blue (CairoColor* self, double value);
158 void cairo_color_set_alpha (CairoColor* self, double value);
159 CairoColor* cairo_color_new (double red, double green, double blue, double alpha);
160 CairoColor* cairo_color_construct (GType object_type, double red, double green, double blue, double alpha);
161 double cairo_color_get_red (CairoColor* self);
162 double cairo_color_get_green (CairoColor* self);
163 double cairo_color_get_blue (CairoColor* self);
164 double cairo_color_get_alpha (CairoColor* self);
165 CairoColor* cairo_color_copy (CairoColor* self);
166 void cairo_color_set_from_string (CairoColor* self, const char* webcolor);
167 CairoColor* cairo_color_new_from_string (const char* webcolor);
168 CairoColor* cairo_color_construct_from_string (GType object_type, const char* webcolor);
169 ProlooksHSL* prolooks_hsl_new (void);
170 ProlooksHSL* prolooks_hsl_construct (GType object_type);
171 gpointer prolooks_hsl_ref (gpointer instance);
172 void prolooks_hsl_unref (gpointer instance);
173 GParamSpec* prolooks_param_spec_hsl (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
174 void prolooks_value_set_hsl (GValue* value, gpointer v_object);
175 void prolooks_value_take_hsl (GValue* value, gpointer v_object);
176 gpointer prolooks_value_get_hsl (const GValue* value);
177 GType prolooks_hsl_get_type (void);
178 void prolooks_hsl_from_cairo_color (ProlooksHSL* self, CairoColor* color);
179 double prolooks_hsl_get_lightness (ProlooksHSL* self);
180 void prolooks_hsl_set_lightness (ProlooksHSL* self, double value);
181 double prolooks_hsl_get_saturation (ProlooksHSL* self);
182 void prolooks_hsl_set_saturation (ProlooksHSL* self, double value);
183 CairoColor* prolooks_hsl_to_cairo_color (ProlooksHSL* self);
184 CairoColor* cairo_color_shade (CairoColor* self, double shade_factor);
185 void cairo_color_set_to (CairoColor* self, CairoColor* a_color);
186 void cairo_color_set_as_source_in (CairoColor* self, cairo_t* cr);
187 void cairo_color_add_color_stop_to (CairoColor* self, cairo_pattern_t* p, double offset);
188 CairoColor* prolooks_gdk_color_to_cairo (const GdkColor* color);
189 void prolooks_color_from_string (const char* webcolor, GdkColor* result);
190 GType prolooks_button_state_get_type (void);
191 GType prolooks_button_type_get_type (void);
192 void prolooks_set_line_width_from_device (cairo_t* cr);
193 char* prolooks_color_to_string (const GdkColor* color);
194 CairoColor* prolooks_cairo_color_from_string (const char* webcolor);
195 void prolooks_set_source_color (cairo_t* cr, const GdkColor* color, double alpha);
196 void prolooks_gdk_color_to_cairo_color (const GdkColor* color, double* red, double* green, double* blue);
197 void prolooks_cairo_color_to_gdk (CairoColor* cairo_color, GdkColor* result);
198 void prolooks_set_source_color_string (cairo_t* cr, const char* color, double alpha);
199 void prolooks_add_color_stop (cairo_pattern_t* p, double offset, const GdkColor* color, double alpha);
200 void prolooks_add_color_stop_str (cairo_pattern_t* p, double offset, const char* color, double alpha);
201 cairo_pattern_t* prolooks_create_gradient (double x1, double y1, double x2, double y2, const GdkColor* start, const GdkColor* stop, double alpha_start, double alpha_stop);
202 cairo_pattern_t* prolooks_create_gradient_str (double x1, double y1, double x2, double y2, const char* start, const char* stop, double alpha_start, double alpha_stop);
203 void prolooks_rounded_rect (cairo_t* cr, double x, double y, double w, double h, double radius_x, double radius_y);
204 void prolooks_background_gradient (cairo_t* cr, double w, double h);
205 double prolooks_modula (double number, double divisor);
206 #define PROLOOKS_HSL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PROLOOKS_TYPE_HSL, ProlooksHSLPrivate))
207 enum  {
208         PROLOOKS_HSL_DUMMY_PROPERTY
209 };
210 double prolooks_hsl_get_hue (ProlooksHSL* self);
211 char* prolooks_hsl_to_string (ProlooksHSL* self);
212 void prolooks_hsl_to_gdk_color (ProlooksHSL* self, GdkColor* result);
213 void prolooks_hsl_from_gdk_color (ProlooksHSL* self, const GdkColor* color);
214 void prolooks_hsl_set_hue (ProlooksHSL* self, double value);
215 gpointer prolooks_hsv_ref (gpointer instance);
216 void prolooks_hsv_unref (gpointer instance);
217 GParamSpec* prolooks_param_spec_hsv (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
218 void prolooks_value_set_hsv (GValue* value, gpointer v_object);
219 void prolooks_value_take_hsv (GValue* value, gpointer v_object);
220 gpointer prolooks_value_get_hsv (const GValue* value);
221 GType prolooks_hsv_get_type (void);
222 #define PROLOOKS_HSV_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PROLOOKS_TYPE_HSV, ProlooksHSVPrivate))
223 enum  {
224         PROLOOKS_HSV_DUMMY_PROPERTY
225 };
226 double prolooks_hsv_get_hue (ProlooksHSV* self);
227 double prolooks_hsv_get_saturation (ProlooksHSV* self);
228 double prolooks_hsv_get_value (ProlooksHSV* self);
229 char* prolooks_hsv_to_string (ProlooksHSV* self);
230 void prolooks_hsv_from_gdk_color (ProlooksHSV* self, const GdkColor* color);
231 ProlooksHSV* prolooks_hsv_new_for_gdk_color (const GdkColor* color);
232 ProlooksHSV* prolooks_hsv_construct_for_gdk_color (GType object_type, const GdkColor* color);
233 void prolooks_hsv_from_cairo_color (ProlooksHSV* self, CairoColor* color);
234 ProlooksHSV* prolooks_hsv_new_for_cairo_color (CairoColor* color);
235 ProlooksHSV* prolooks_hsv_construct_for_cairo_color (GType object_type, CairoColor* color);
236 CairoColor* prolooks_hsv_to_cairo_color (ProlooksHSV* self);
237 void prolooks_hsv_to_gdk_color (ProlooksHSV* self, GdkColor* result);
238 void prolooks_hsv_set_value (ProlooksHSV* self, double value);
239 void prolooks_hsv_set_hue (ProlooksHSV* self, double value);
240 void prolooks_hsv_set_saturation (ProlooksHSV* self, double value);
241 ProlooksHSV* prolooks_hsv_new (void);
242 ProlooksHSV* prolooks_hsv_construct (GType object_type);
243 void prolooks_shade_color (const GdkColor* orig, double shade_ratio, GdkColor* result);
244 GdkPixbuf* prolooks_cairo_image_surface_to_pixbuf (cairo_surface_t* surface);
245
246 #ifdef __cplusplus
247 } // extern "C" 
248 #endif
249
250 #endif /* __prolooks_helpers_h__ */