ardour
prolooks-helpers.h
Go to the documentation of this file.
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 #include "gtkmm2ext/visibility.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 #define CAIRO_TYPE_COLOR (cairo_color_get_type ())
29 #define CAIRO_COLOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CAIRO_TYPE_COLOR, CairoColor))
30 #define CAIRO_COLOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CAIRO_TYPE_COLOR, CairoColorClass))
31 #define CAIRO_IS_COLOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CAIRO_TYPE_COLOR))
32 #define CAIRO_IS_COLOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CAIRO_TYPE_COLOR))
33 #define CAIRO_COLOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CAIRO_TYPE_COLOR, CairoColorClass))
34 
35 typedef struct _CairoColor CairoColor;
38 
39 #define PROLOOKS_TYPE_HSL (prolooks_hsl_get_type ())
40 #define PROLOOKS_HSL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROLOOKS_TYPE_HSL, ProlooksHSL))
41 #define PROLOOKS_HSL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROLOOKS_TYPE_HSL, ProlooksHSLClass))
42 #define PROLOOKS_IS_HSL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROLOOKS_TYPE_HSL))
43 #define PROLOOKS_IS_HSL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROLOOKS_TYPE_HSL))
44 #define PROLOOKS_HSL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROLOOKS_TYPE_HSL, ProlooksHSLClass))
45 
46 typedef struct _ProlooksHSL ProlooksHSL;
48 #define _prolooks_hsl_unref0(var) ((var == NULL) ? NULL : (var = (prolooks_hsl_unref (var), NULL)))
49 #define _cairo_color_unref0(var) ((var == NULL) ? NULL : (var = (cairo_color_unref (var), NULL)))
51 
52 #define PROLOOKS_TYPE_BUTTON_STATE (prolooks_button_state_get_type ())
53 
54 #define PROLOOKS_TYPE_BUTTON_TYPE (prolooks_button_type_get_type ())
55 #define _cairo_pattern_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_pattern_destroy (var), NULL)))
58 
59 #define PROLOOKS_TYPE_HSV (prolooks_hsv_get_type ())
60 #define PROLOOKS_HSV(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROLOOKS_TYPE_HSV, ProlooksHSV))
61 #define PROLOOKS_HSV_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROLOOKS_TYPE_HSV, ProlooksHSVClass))
62 #define PROLOOKS_IS_HSV(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROLOOKS_TYPE_HSV))
63 #define PROLOOKS_IS_HSV_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROLOOKS_TYPE_HSV))
64 #define PROLOOKS_HSV_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROLOOKS_TYPE_HSV, ProlooksHSVClass))
65 
66 typedef struct _ProlooksHSV ProlooksHSV;
70 
71 struct _CairoColor {
72  GTypeInstance parent_instance;
73  volatile int ref_count;
75 };
76 
78  GTypeClass parent_class;
79  void (*finalize) (CairoColor *self);
80 };
81 
83  double _red;
84  double _green;
85  double _blue;
86  double _alpha;
87 };
88 
90  GParamSpec parent_instance;
91 };
92 
93 typedef enum {
97 
98 typedef enum {
102 
103 struct _ProlooksHSL {
104  GTypeInstance parent_instance;
105  volatile int ref_count;
107 };
108 
110  GTypeClass parent_class;
111  void (*finalize) (ProlooksHSL *self);
112 };
113 
115  double _hue;
116  double _saturation;
117  double _lightness;
118 };
119 
121  GParamSpec parent_instance;
122 };
123 
124 struct _ProlooksHSV {
125  GTypeInstance parent_instance;
126  volatile int ref_count;
128 };
129 
131  GTypeClass parent_class;
132  void (*finalize) (ProlooksHSV *self);
133 };
134 
136  double _hue;
137  double _saturation;
138  double _value;
139 };
140 
142  GParamSpec parent_instance;
143 };
144 
145 
146 LIBGTKMM2EXT_API gpointer cairo_color_ref (gpointer instance);
147 LIBGTKMM2EXT_API void cairo_color_unref (gpointer instance);
148 LIBGTKMM2EXT_API GParamSpec* cairo_param_spec_color (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
149 LIBGTKMM2EXT_API void cairo_value_set_color (GValue* value, gpointer v_object);
150 LIBGTKMM2EXT_API void cairo_value_take_color (GValue* value, gpointer v_object);
151 LIBGTKMM2EXT_API gpointer cairo_value_get_color (const GValue* value);
153 #define CAIRO_COLOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CAIRO_TYPE_COLOR, CairoColorPrivate))
156 };
157 LIBGTKMM2EXT_API void cairo_color_set_red (CairoColor* self, double value);
158 LIBGTKMM2EXT_API void cairo_color_set_green (CairoColor* self, double value);
159 LIBGTKMM2EXT_API void cairo_color_set_blue (CairoColor* self, double value);
160 LIBGTKMM2EXT_API void cairo_color_set_alpha (CairoColor* self, double value);
161 LIBGTKMM2EXT_API CairoColor* cairo_color_new (double red, double green, double blue, double alpha);
162 LIBGTKMM2EXT_API CairoColor* cairo_color_construct (GType object_type, double red, double green, double blue, double alpha);
168 LIBGTKMM2EXT_API void cairo_color_set_from_string (CairoColor* self, const char* webcolor);
170 LIBGTKMM2EXT_API CairoColor* cairo_color_construct_from_string (GType object_type, const char* webcolor);
173 LIBGTKMM2EXT_API gpointer prolooks_hsl_ref (gpointer instance);
174 LIBGTKMM2EXT_API void prolooks_hsl_unref (gpointer instance);
175 LIBGTKMM2EXT_API GParamSpec* prolooks_param_spec_hsl (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
176 LIBGTKMM2EXT_API void prolooks_value_set_hsl (GValue* value, gpointer v_object);
177 LIBGTKMM2EXT_API void prolooks_value_take_hsl (GValue* value, gpointer v_object);
178 LIBGTKMM2EXT_API gpointer prolooks_value_get_hsl (const GValue* value);
182 LIBGTKMM2EXT_API void prolooks_hsl_set_lightness (ProlooksHSL* self, double value);
184 LIBGTKMM2EXT_API void prolooks_hsl_set_saturation (ProlooksHSL* self, double value);
186 LIBGTKMM2EXT_API CairoColor* cairo_color_shade (CairoColor* self, double shade_factor);
189 LIBGTKMM2EXT_API void cairo_color_add_color_stop_to (CairoColor* self, cairo_pattern_t* p, double offset);
191 LIBGTKMM2EXT_API void prolooks_color_from_string (const char* webcolor, GdkColor* result);
195 LIBGTKMM2EXT_API char* prolooks_color_to_string (const GdkColor* color);
197 LIBGTKMM2EXT_API void prolooks_set_source_color (cairo_t* cr, const GdkColor* color, double alpha);
198 LIBGTKMM2EXT_API void prolooks_gdk_color_to_cairo_color (const GdkColor* color, double* red, double* green, double* blue);
199 LIBGTKMM2EXT_API void prolooks_cairo_color_to_gdk (CairoColor* cairo_color, GdkColor* result);
200 LIBGTKMM2EXT_API void prolooks_set_source_color_string (cairo_t* cr, const char* color, double alpha);
201 LIBGTKMM2EXT_API void prolooks_add_color_stop (cairo_pattern_t* p, double offset, const GdkColor* color, double alpha);
202 LIBGTKMM2EXT_API void prolooks_add_color_stop_str (cairo_pattern_t* p, double offset, const char* color, double alpha);
203 LIBGTKMM2EXT_API 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);
204 LIBGTKMM2EXT_API 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);
205 LIBGTKMM2EXT_API void prolooks_rounded_rect (cairo_t* cr, double x, double y, double w, double h, double radius_x, double radius_y);
206 LIBGTKMM2EXT_API void prolooks_background_gradient (cairo_t* cr, double w, double h);
207 LIBGTKMM2EXT_API double prolooks_modula (double number, double divisor);
208 #define PROLOOKS_HSL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PROLOOKS_TYPE_HSL, ProlooksHSLPrivate))
211 };
214 LIBGTKMM2EXT_API void prolooks_hsl_to_gdk_color (ProlooksHSL* self, GdkColor* result);
215 LIBGTKMM2EXT_API void prolooks_hsl_from_gdk_color (ProlooksHSL* self, const GdkColor* color);
216 LIBGTKMM2EXT_API void prolooks_hsl_set_hue (ProlooksHSL* self, double value);
217 LIBGTKMM2EXT_API gpointer prolooks_hsv_ref (gpointer instance);
218 LIBGTKMM2EXT_API void prolooks_hsv_unref (gpointer instance);
219 LIBGTKMM2EXT_API GParamSpec* prolooks_param_spec_hsv (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
220 LIBGTKMM2EXT_API void prolooks_value_set_hsv (GValue* value, gpointer v_object);
221 LIBGTKMM2EXT_API void prolooks_value_take_hsv (GValue* value, gpointer v_object);
222 LIBGTKMM2EXT_API gpointer prolooks_value_get_hsv (const GValue* value);
224 #define PROLOOKS_HSV_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PROLOOKS_TYPE_HSV, ProlooksHSVPrivate))
227 };
232 LIBGTKMM2EXT_API void prolooks_hsv_from_gdk_color (ProlooksHSV* self, const GdkColor* color);
234 LIBGTKMM2EXT_API ProlooksHSV* prolooks_hsv_construct_for_gdk_color (GType object_type, const GdkColor* color);
239 LIBGTKMM2EXT_API void prolooks_hsv_to_gdk_color (ProlooksHSV* self, GdkColor* result);
240 LIBGTKMM2EXT_API void prolooks_hsv_set_value (ProlooksHSV* self, double value);
241 LIBGTKMM2EXT_API void prolooks_hsv_set_hue (ProlooksHSV* self, double value);
242 LIBGTKMM2EXT_API void prolooks_hsv_set_saturation (ProlooksHSV* self, double value);
245 LIBGTKMM2EXT_API void prolooks_shade_color (const GdkColor* orig, double shade_ratio, GdkColor* result);
246 LIBGTKMM2EXT_API GdkPixbuf* prolooks_cairo_image_surface_to_pixbuf (cairo_surface_t* surface);
247 
248 #ifdef __cplusplus
249 } // extern "C"
250 #endif
251 
252 #endif /* __prolooks_helpers_h__ */
LIBGTKMM2EXT_API char * prolooks_hsv_to_string(ProlooksHSV *self)
LIBGTKMM2EXT_API void prolooks_value_take_hsv(GValue *value, gpointer v_object)
LIBGTKMM2EXT_API void prolooks_hsv_from_cairo_color(ProlooksHSV *self, CairoColor *color)
LIBGTKMM2EXT_API ProlooksHSL * prolooks_hsl_new(void)
LIBGTKMM2EXT_API void prolooks_hsv_set_value(ProlooksHSV *self, double value)
ProlooksHSVPrivate * priv
CairoColorPrivate * priv
LIBGTKMM2EXT_API void cairo_color_set_from_string(CairoColor *self, const char *webcolor)
ProlooksButtonType
LIBGTKMM2EXT_API gpointer prolooks_value_get_hsl(const GValue *value)
LIBGTKMM2EXT_API void prolooks_hsv_set_hue(ProlooksHSV *self, double value)
ProlooksHSLPrivate * priv
volatile int ref_count
LIBGTKMM2EXT_API ProlooksHSL * prolooks_hsl_construct(GType object_type)
LIBGTKMM2EXT_API CairoColor * cairo_color_copy(CairoColor *self)
LIBGTKMM2EXT_API void cairo_color_set_green(CairoColor *self, double value)
GTypeInstance parent_instance
LIBGTKMM2EXT_API
LIBGTKMM2EXT_API void prolooks_set_source_color(cairo_t *cr, const GdkColor *color, double alpha)
LIBGTKMM2EXT_API double prolooks_modula(double number, double divisor)
LIBGTKMM2EXT_API void prolooks_hsl_set_saturation(ProlooksHSL *self, double value)
LIBGTKMM2EXT_API void cairo_color_set_blue(CairoColor *self, double value)
LIBGTKMM2EXT_API double prolooks_hsv_get_saturation(ProlooksHSV *self)
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > start
Definition: region.cc:63
LIBGTKMM2EXT_API void prolooks_hsl_set_lightness(ProlooksHSL *self, double value)
LIBGTKMM2EXT_API double cairo_color_get_alpha(CairoColor *self)
LIBGTKMM2EXT_API void cairo_color_set_red(CairoColor *self, double value)
LIBGTKMM2EXT_API CairoColor * cairo_color_new(double red, double green, double blue, double alpha)
LIBGTKMM2EXT_API 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)
LIBGTKMM2EXT_API void cairo_value_take_color(GValue *value, gpointer v_object)
LIBGTKMM2EXT_API double prolooks_hsl_get_lightness(ProlooksHSL *self)
LIBGTKMM2EXT_API GParamSpec * prolooks_param_spec_hsv(const gchar *name, const gchar *nick, const gchar *blurb, GType object_type, GParamFlags flags)
ProlooksButtonState
LIBGTKMM2EXT_API CairoColor * cairo_color_shade(CairoColor *self, double shade_factor)
LIBGTKMM2EXT_API GType prolooks_hsv_get_type(void)
LIBGTKMM2EXT_API gpointer prolooks_value_get_hsv(const GValue *value)
volatile int ref_count
GTypeInstance parent_instance
LIBGTKMM2EXT_API ProlooksHSV * prolooks_hsv_new_for_cairo_color(CairoColor *color)
LIBGTKMM2EXT_API void cairo_color_set_as_source_in(CairoColor *self, cairo_t *cr)
LIBGTKMM2EXT_API void prolooks_hsv_set_saturation(ProlooksHSV *self, double value)
LIBGTKMM2EXT_API void cairo_color_set_to(CairoColor *self, CairoColor *a_color)
LIBGTKMM2EXT_API GParamSpec * cairo_param_spec_color(const gchar *name, const gchar *nick, const gchar *blurb, GType object_type, GParamFlags flags)
LIBGTKMM2EXT_API double cairo_color_get_red(CairoColor *self)
void(* finalize)(ProlooksHSL *self)
LIBGTKMM2EXT_API ProlooksHSV * prolooks_hsv_construct(GType object_type)
LIBGTKMM2EXT_API double cairo_color_get_green(CairoColor *self)
LIBGTKMM2EXT_API void prolooks_hsl_unref(gpointer instance)
GTypeClass parent_class
LIBGTKMM2EXT_API gpointer cairo_value_get_color(const GValue *value)
LIBGTKMM2EXT_API void prolooks_value_set_hsv(GValue *value, gpointer v_object)
GTypeInstance parent_instance
LIBGTKMM2EXT_API ProlooksHSV * prolooks_hsv_construct_for_gdk_color(GType object_type, const GdkColor *color)
LIBGTKMM2EXT_API void cairo_color_unref(gpointer instance)
LIBGTKMM2EXT_API ProlooksHSV * prolooks_hsv_construct_for_cairo_color(GType object_type, CairoColor *color)
LIBGTKMM2EXT_API void prolooks_hsl_set_hue(ProlooksHSL *self, double value)
LIBGTKMM2EXT_API void prolooks_shade_color(const GdkColor *orig, double shade_ratio, GdkColor *result)
LIBGTKMM2EXT_API double prolooks_hsl_get_saturation(ProlooksHSL *self)
void(* finalize)(ProlooksHSV *self)
LIBGTKMM2EXT_API CairoColor * prolooks_hsv_to_cairo_color(ProlooksHSV *self)
LIBGTKMM2EXT_API CairoColor * cairo_color_construct_from_string(GType object_type, const char *webcolor)
LIBGTKMM2EXT_API double prolooks_hsv_get_hue(ProlooksHSV *self)
LIBGTKMM2EXT_API void prolooks_set_source_color_string(cairo_t *cr, const char *color, double alpha)
LIBGTKMM2EXT_API void prolooks_hsl_from_cairo_color(ProlooksHSL *self, CairoColor *color)
const char * name
LIBGTKMM2EXT_API GType prolooks_button_type_get_type(void)
LIBGTKMM2EXT_API 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)
LIBGTKMM2EXT_API GdkPixbuf * prolooks_cairo_image_surface_to_pixbuf(cairo_surface_t *surface)
LIBGTKMM2EXT_API void prolooks_background_gradient(cairo_t *cr, double w, double h)
LIBGTKMM2EXT_API void cairo_value_set_color(GValue *value, gpointer v_object)
LIBGTKMM2EXT_API void prolooks_hsl_to_gdk_color(ProlooksHSL *self, GdkColor *result)
LIBGTKMM2EXT_API void prolooks_rounded_rect(cairo_t *cr, double x, double y, double w, double h, double radius_x, double radius_y)
LIBGTKMM2EXT_API char * prolooks_color_to_string(const GdkColor *color)
LIBGTKMM2EXT_API GParamSpec * prolooks_param_spec_hsl(const gchar *name, const gchar *nick, const gchar *blurb, GType object_type, GParamFlags flags)
LIBGTKMM2EXT_API void prolooks_value_take_hsl(GValue *value, gpointer v_object)
LIBGTKMM2EXT_API void prolooks_add_color_stop_str(cairo_pattern_t *p, double offset, const char *color, double alpha)
LIBGTKMM2EXT_API void prolooks_hsv_to_gdk_color(ProlooksHSV *self, GdkColor *result)
LIBGTKMM2EXT_API CairoColor * prolooks_gdk_color_to_cairo(const GdkColor *color)
LIBGTKMM2EXT_API ProlooksHSV * prolooks_hsv_new_for_gdk_color(const GdkColor *color)
LIBGTKMM2EXT_API GType cairo_color_get_type(void)
LIBGTKMM2EXT_API void prolooks_cairo_color_to_gdk(CairoColor *cairo_color, GdkColor *result)
LIBGTKMM2EXT_API void prolooks_value_set_hsl(GValue *value, gpointer v_object)
LIBGTKMM2EXT_API GType prolooks_hsl_get_type(void)
LIBGTKMM2EXT_API double prolooks_hsv_get_value(ProlooksHSV *self)
LIBGTKMM2EXT_API gpointer prolooks_hsl_ref(gpointer instance)
LIBGTKMM2EXT_API GType prolooks_button_state_get_type(void)
LIBGTKMM2EXT_API CairoColor * prolooks_cairo_color_from_string(const char *webcolor)
LIBGTKMM2EXT_API CairoColor * cairo_color_construct(GType object_type, double red, double green, double blue, double alpha)
LIBGTKMM2EXT_API void prolooks_gdk_color_to_cairo_color(const GdkColor *color, double *red, double *green, double *blue)
LIBGTKMM2EXT_API double cairo_color_get_blue(CairoColor *self)
LIBGTKMM2EXT_API void prolooks_hsv_from_gdk_color(ProlooksHSV *self, const GdkColor *color)
LIBGTKMM2EXT_API void prolooks_hsv_unref(gpointer instance)
LIBGTKMM2EXT_API char * prolooks_hsl_to_string(ProlooksHSL *self)
LIBGTKMM2EXT_API gpointer prolooks_hsv_ref(gpointer instance)
LIBGTKMM2EXT_API void cairo_color_add_color_stop_to(CairoColor *self, cairo_pattern_t *p, double offset)
LIBGTKMM2EXT_API void prolooks_color_from_string(const char *webcolor, GdkColor *result)
LIBGTKMM2EXT_API double prolooks_hsl_get_hue(ProlooksHSL *self)
LIBGTKMM2EXT_API gpointer cairo_color_ref(gpointer instance)
void(* finalize)(CairoColor *self)
LIBGTKMM2EXT_API CairoColor * prolooks_hsl_to_cairo_color(ProlooksHSL *self)
LIBGTKMM2EXT_API void prolooks_hsl_from_gdk_color(ProlooksHSL *self, const GdkColor *color)
LIBGTKMM2EXT_API void prolooks_add_color_stop(cairo_pattern_t *p, double offset, const GdkColor *color, double alpha)
volatile int ref_count
LIBGTKMM2EXT_API void prolooks_set_line_width_from_device(cairo_t *cr)
LIBGTKMM2EXT_API CairoColor * cairo_color_new_from_string(const char *webcolor)
LIBGTKMM2EXT_API ProlooksHSV * prolooks_hsv_new(void)
LIBGTKMM2EXT_API void cairo_color_set_alpha(CairoColor *self, double value)
LIBARDOUR_API PBD::PropertyDescriptor< bool > color
Definition: route_group.cc:50