11 using std::min;
using std::max;
22 self = (
CairoColor*) g_type_create_instance (object_type);
38 g_return_val_if_fail (
self != NULL, NULL);
39 result =
cairo_color_new (self->priv->_red, self->priv->_green, self->priv->_blue, self->priv->_alpha);
46 g_return_val_if_fail (webcolor != NULL, NULL);
47 self = (
CairoColor*) g_type_create_instance (object_type);
61 g_return_val_if_fail (
self != NULL, NULL);
75 g_return_if_fail (
self != NULL);
76 g_return_if_fail (a_color != NULL);
85 g_return_if_fail (
self != NULL);
86 g_return_if_fail (cr != NULL);
87 cairo_set_source_rgba (cr, self->priv->_red, self->priv->_green, self->priv->_blue, self->priv->_alpha);
92 g_return_if_fail (
self != NULL);
93 g_return_if_fail (p != NULL);
94 cairo_pattern_add_color_stop_rgba (p, offset, self->priv->_red, self->priv->_green, self->priv->_blue, self->priv->_alpha);
101 GdkColor _tmp0_ = {0,0,0,0};
102 g_return_if_fail (
self != NULL);
103 g_return_if_fail (webcolor != NULL);
111 g_return_val_if_fail (
self != NULL, 0.0);
112 result =
self->priv->_red;
118 g_return_if_fail (
self != NULL);
119 self->priv->_red = value;
125 g_return_val_if_fail (
self != NULL, 0.0);
126 result =
self->priv->_green;
132 g_return_if_fail (
self != NULL);
133 self->priv->_green = value;
139 g_return_val_if_fail (
self != NULL, 0.0);
140 result =
self->priv->_blue;
146 g_return_if_fail (
self != NULL);
147 self->priv->_blue = value;
153 g_return_val_if_fail (
self != NULL, 0.0);
154 result =
self->priv->_alpha;
160 g_return_if_fail (
self != NULL);
161 self->priv->_alpha = value;
166 value->data[0].v_pointer = NULL;
171 if (value->data[0].v_pointer) {
178 if (src_value->data[0].v_pointer) {
179 dest_value->data[0].v_pointer =
cairo_color_ref (src_value->data[0].v_pointer);
181 dest_value->data[0].v_pointer = NULL;
187 return value->data[0].v_pointer;
192 (void) n_collect_values;
193 (void) collect_flags;
194 if (collect_values[0].v_pointer) {
196 object = (
CairoColor*)collect_values[0].v_pointer;
198 return g_strconcat (
"invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value),
"'", NULL);
199 }
else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (
object), G_VALUE_TYPE (value))) {
200 return g_strconcat (
"invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (
object)),
"' for value type `", G_VALUE_TYPE_NAME (value),
"'", NULL);
204 value->data[0].v_pointer = NULL;
212 (void) n_collect_values;
213 object_p = (
CairoColor**)collect_values[0].v_pointer;
215 return g_strdup_printf (
"value location for `%s' passed as NULL", G_VALUE_TYPE_NAME ((GValue*)value));
217 if (!value->data[0].v_pointer) {
219 }
else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
220 *object_p = (
CairoColor*)value->data[0].v_pointer;
231 spec = (
CairoParamSpecColor*)g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
232 G_PARAM_SPEC (spec)->value_type = object_type;
233 return G_PARAM_SPEC (spec);
238 g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE ((GValue*)value,
CAIRO_TYPE_COLOR), NULL);
239 return value->data[0].v_pointer;
249 g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
250 value->data[0].v_pointer = v_object;
253 value->data[0].v_pointer = NULL;
267 g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
268 value->data[0].v_pointer = v_object;
270 value->data[0].v_pointer = NULL;
297 static volatile gsize cairo_color_type_id__volatile = 0;
298 if (g_once_init_enter (&cairo_color_type_id__volatile)) {
301 static const GTypeFundamentalInfo g_define_type_fundamental_info = { (GTypeFundamentalFlags)(G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
302 GType cairo_color_type_id;
303 cairo_color_type_id = g_type_register_fundamental (g_type_fundamental_next (),
"CairoColor", &g_define_type_info, &g_define_type_fundamental_info, (GTypeFlags)0);
304 g_once_init_leave (&cairo_color_type_id__volatile, cairo_color_type_id);
306 return cairo_color_type_id__volatile;
313 g_atomic_int_inc (&self->ref_count);
321 if (g_atomic_int_dec_and_test (&self->ref_count)) {
323 g_type_free_instance ((GTypeInstance *)
self);
329 static volatile gsize prolooks_button_state_type_id__volatile = 0;
330 if (g_once_init_enter (&prolooks_button_state_type_id__volatile)) {
332 GType prolooks_button_state_type_id;
333 prolooks_button_state_type_id = g_enum_register_static (
"ProlooksButtonState", values);
334 g_once_init_leave (&prolooks_button_state_type_id__volatile, prolooks_button_state_type_id);
336 return prolooks_button_state_type_id__volatile;
341 static volatile gsize prolooks_button_type_type_id__volatile = 0;
342 if (g_once_init_enter (&prolooks_button_type_type_id__volatile)) {
344 GType prolooks_button_type_type_id;
345 prolooks_button_type_type_id = g_enum_register_static (
"ProlooksButtonType", values);
346 g_once_init_leave (&prolooks_button_type_type_id__volatile, prolooks_button_type_type_id);
348 return prolooks_button_type_type_id__volatile;
355 g_return_if_fail (cr != NULL);
358 cairo_device_to_user (cr, &ux, &uy);
362 cairo_set_line_width (cr, ux);
367 GdkColor
color = {0,0,0,0};
368 g_return_if_fail (webcolor != NULL);
369 gdk_color_parse (webcolor, &color);
378 scale = G_MAXUINT16 / G_MAXUINT8;
379 result = g_strdup_printf (
"#%02x%02x%02x", (guint) ((*color).red / scale), (guint) ((*color).green / scale), (guint) ((*color).blue / scale));
387 GdkColor _tmp0_ = {0,0,0,0};
388 g_return_val_if_fail (webcolor != NULL, NULL);
395 g_return_if_fail (cr != NULL);
396 cairo_set_source_rgba (cr, ((
double) (*color).red) / ((
double) G_MAXUINT16), ((
double) (*color).green) / ((
double) G_MAXUINT16), ((
double) (*color).blue) / ((
double) G_MAXUINT16), alpha);
401 *red = ((double) (*color).red) / ((double) G_MAXUINT16);
402 *green = ((double) (*color).green) / ((double) G_MAXUINT16);
403 *blue = ((double) (*color).blue) / ((double) G_MAXUINT16);
422 GdkColor
color = {0,0,0,0};
423 g_return_if_fail (cairo_color != NULL);
424 memset (&color, 0,
sizeof (GdkColor));
435 GdkColor _tmp0_ = {0,0,0,0};
436 g_return_if_fail (cr != NULL);
437 g_return_if_fail (color != NULL);
443 g_return_if_fail (p != NULL);
444 cairo_pattern_add_color_stop_rgba (p, offset, ((
double) (*color).red) / ((
double) G_MAXUINT16), ((
double) (*color).green) / ((
double) G_MAXUINT16), ((
double) (*color).blue) / ((
double) G_MAXUINT16), alpha);
450 GdkColor _tmp0_ = {0,0,0,0};
451 g_return_if_fail (p != NULL);
452 g_return_if_fail (color != NULL);
457 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) {
458 cairo_pattern_t* result = NULL;
459 cairo_pattern_t* gradient;
460 gradient = cairo_pattern_create_linear (x1, y1, x2, y2);
469 cairo_pattern_t* result = NULL;
472 GdkColor _tmp1_ = {0,0,0,0};
473 GdkColor _tmp0_ = {0,0,0,0};
474 g_return_val_if_fail (start != NULL, NULL);
475 g_return_val_if_fail (stop != NULL, NULL);
476 result =
prolooks_create_gradient (x1, y1, x2, y2, (_tmp2_ = (
prolooks_color_from_string (start, &_tmp0_), _tmp0_), &_tmp2_), (_tmp3_ = (
prolooks_color_from_string (stop, &_tmp1_), _tmp1_), &_tmp3_), alpha_start, alpha_stop);
481 void prolooks_rounded_rect (cairo_t* cr,
double x,
double y,
double w,
double h,
double radius_x,
double radius_y) {
482 double ARC_TO_BEZIER;
485 g_return_if_fail (cr != NULL);
486 ARC_TO_BEZIER = 0.55228475;
487 if (radius_x > (w - radius_x)) {
490 if (radius_y > (h - radius_y)) {
493 c1 = ARC_TO_BEZIER * radius_x;
494 c2 = ARC_TO_BEZIER * radius_y;
496 cairo_move_to (cr, x + radius_x, y);
497 cairo_rel_line_to (cr, w - (2 * radius_x), 0.0);
498 cairo_rel_curve_to (cr, c1, 0.0, radius_x, c2, radius_x, radius_y);
499 cairo_rel_line_to (cr, (
double) 0, h - (2 * radius_y));
500 cairo_rel_curve_to (cr, 0.0, c2, c1 - radius_x, radius_y, -radius_x, radius_y);
501 cairo_rel_line_to (cr, (-w) + (2 * radius_x), (
double) 0);
502 cairo_rel_curve_to (cr, -c1, (
double) 0, -radius_x, -c2, -radius_x, -radius_y);
503 cairo_rel_line_to (cr, (
double) 0, (-h) + (2 * radius_y));
504 cairo_rel_curve_to (cr, 0.0, -c2, radius_x - c1, -radius_y, radius_x, -radius_y);
505 cairo_close_path (cr);
510 GdkColor background_gradient_start = {0,0,0,0};
511 GdkColor background_gradient_stop = {0,0,0,0};
512 cairo_pattern_t* background_gradient;
513 g_return_if_fail (cr != NULL);
514 gdk_color_parse (
"#bebdc2", &background_gradient_start);
515 gdk_color_parse (
"#b1b4b9", &background_gradient_stop);
516 cairo_rectangle (cr, (
double) 0, (
double) 0, w, h);
517 background_gradient = cairo_pattern_create_linear ((
double) 0, (
double) 0, (
double) 0, h);
520 cairo_set_source (cr, background_gradient);
528 result = (((gint) number) % ((gint) divisor)) + (number - ((gint) number));
535 g_return_val_if_fail (
self != NULL, NULL);
536 result = g_strdup_printf (
"HSL (%f, %f, %f)", self->priv->_hue, self->priv->_saturation, self->priv->_lightness);
553 g_return_val_if_fail (
self != NULL, NULL);
554 hue_shift = (_tmp0_ = g_new0 (
double, 3), _tmp0_);
555 color_shift = (_tmp1_ = g_new0 (
double, 3), _tmp1_);
556 if (self->priv->_lightness <= 0.5) {
557 m2 =
self->priv->_lightness * (1 +
self->priv->_saturation);
559 m2 = (
self->priv->_lightness +
self->priv->_saturation) - (self->priv->_lightness * self->priv->_saturation);
561 m1 = (2 *
self->priv->_lightness) - m2;
562 hue_shift[0] =
self->priv->_hue + 120;
563 hue_shift[1] =
self->priv->_hue;
564 hue_shift[2] =
self->priv->_hue - 120;
565 color_shift[0] = color_shift[1] = color_shift[2] =
self->priv->_lightness;
566 if (self->priv->_saturation == 0) {
592 color_shift[i] = m1 + (((m2 - m1) * m3) / 60.0);
598 color_shift[i] = m1 + (((m2 - m1) * (240 - m3)) / 60.0);
606 color =
cairo_color_new (color_shift[0], color_shift[1], color_shift[2], 1.0);
608 hue_shift = (g_free (hue_shift), NULL);
609 color_shift = (g_free (color_shift), NULL);
615 GdkColor _tmp1_ = {0,0,0,0};
618 g_return_if_fail (
self != NULL);
626 g_return_if_fail (
self != NULL);
639 g_return_if_fail (
self != NULL);
640 g_return_if_fail (color != NULL);
668 if (fabs (max - min) < 0.0001) {
672 if (self->priv->_lightness <= 0.5) {
690 if (self->priv->_hue < 0.0) {
699 self = (
ProlooksHSL*) g_type_create_instance (object_type);
711 g_return_val_if_fail (
self != NULL, 0.0);
712 result =
self->priv->_hue;
718 g_return_if_fail (
self != NULL);
719 self->priv->_hue = value;
725 g_return_val_if_fail (
self != NULL, 0.0);
726 result =
self->priv->_saturation;
732 g_return_if_fail (
self != NULL);
733 self->priv->_saturation = value;
739 g_return_val_if_fail (
self != NULL, 0.0);
740 result =
self->priv->_lightness;
746 g_return_if_fail (
self != NULL);
747 self->priv->_lightness = value;
752 value->data[0].v_pointer = NULL;
757 if (value->data[0].v_pointer) {
764 if (src_value->data[0].v_pointer) {
765 dest_value->data[0].v_pointer =
prolooks_hsl_ref (src_value->data[0].v_pointer);
767 dest_value->data[0].v_pointer = NULL;
773 return value->data[0].v_pointer;
778 (void) n_collect_values;
779 (void) collect_flags;
780 if (collect_values[0].v_pointer) {
782 object = (
ProlooksHSL*)collect_values[0].v_pointer;
784 return g_strconcat (
"invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value),
"'", NULL);
785 }
else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (
object), G_VALUE_TYPE (value))) {
786 return g_strconcat (
"invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (
object)),
"' for value type `", G_VALUE_TYPE_NAME (value),
"'", NULL);
790 value->data[0].v_pointer = NULL;
798 (void) n_collect_values;
799 object_p = (
ProlooksHSL**)collect_values[0].v_pointer;
801 return g_strdup_printf (
"value location for `%s' passed as NULL", G_VALUE_TYPE_NAME ((GValue*)value));
803 if (!value->data[0].v_pointer) {
805 }
else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
806 *object_p = (
ProlooksHSL*)value->data[0].v_pointer;
817 spec = (
ProlooksParamSpecHSL*)g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
818 G_PARAM_SPEC (spec)->value_type = object_type;
819 return G_PARAM_SPEC (spec);
824 g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE ((GValue*)value,
PROLOOKS_TYPE_HSL), NULL);
825 return value->data[0].v_pointer;
835 g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
836 value->data[0].v_pointer = v_object;
839 value->data[0].v_pointer = NULL;
853 g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
854 value->data[0].v_pointer = v_object;
856 value->data[0].v_pointer = NULL;
883 static volatile gsize prolooks_hsl_type_id__volatile = 0;
884 if (g_once_init_enter (&prolooks_hsl_type_id__volatile)) {
887 static const GTypeFundamentalInfo g_define_type_fundamental_info = { (GTypeFundamentalFlags)(G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
888 GType prolooks_hsl_type_id;
889 prolooks_hsl_type_id = g_type_register_fundamental (g_type_fundamental_next (),
"ProlooksHSL", &g_define_type_info, &g_define_type_fundamental_info, (GTypeFlags)0);
890 g_once_init_leave (&prolooks_hsl_type_id__volatile, prolooks_hsl_type_id);
892 return prolooks_hsl_type_id__volatile;
899 g_atomic_int_inc (&self->ref_count);
907 if (g_atomic_int_dec_and_test (&self->ref_count)) {
909 g_type_free_instance ((GTypeInstance *)
self);
916 g_return_val_if_fail (
self != NULL, NULL);
917 result = g_strdup_printf (
"HSV (%f, %f, %f)", self->priv->_hue, self->priv->_saturation, self->priv->_value);
924 self = (
ProlooksHSV*) g_type_create_instance (object_type);
937 g_return_val_if_fail (color != NULL, NULL);
938 self = (
ProlooksHSV*) g_type_create_instance (object_type);
960 g_return_val_if_fail (
self != NULL, NULL);
964 hi = (gint)
prolooks_modula (floor (self->priv->_hue / 60.0), (double) 6);
965 f = (
self->priv->_hue / 60.0) - floor (self->priv->_hue / 60.0);
966 p =
self->priv->_value * (1.0 -
self->priv->_saturation);
967 q =
self->priv->_value * (1.0 - (f *
self->priv->_saturation));
968 t =
self->priv->_value * (1.0 - ((1.0 -
f) * self->priv->_saturation));
972 r =
self->priv->_value;
980 g =
self->priv->_value;
987 g =
self->priv->_value;
995 b =
self->priv->_value;
1002 b =
self->priv->_value;
1007 r =
self->priv->_value;
1024 GdkColor _tmp1_ = {0,0,0,0};
1027 g_return_if_fail (
self != NULL);
1035 g_return_if_fail (
self != NULL);
1048 g_return_if_fail (
self != NULL);
1049 g_return_if_fail (color != NULL);
1077 if (fabs (max - min) < 0.0001) {
1099 if (self->priv->_hue < 0.0) {
1108 self = (
ProlooksHSV*) g_type_create_instance (object_type);
1120 g_return_val_if_fail (
self != NULL, 0.0);
1121 result =
self->priv->_hue;
1127 g_return_if_fail (
self != NULL);
1128 self->priv->_hue = value;
1134 g_return_val_if_fail (
self != NULL, 0.0);
1135 result =
self->priv->_saturation;
1141 g_return_if_fail (
self != NULL);
1142 self->priv->_saturation = value;
1148 g_return_val_if_fail (
self != NULL, 0.0);
1149 result =
self->priv->_value;
1155 g_return_if_fail (
self != NULL);
1156 self->priv->_value = value;
1161 value->data[0].v_pointer = NULL;
1166 if (value->data[0].v_pointer) {
1173 if (src_value->data[0].v_pointer) {
1174 dest_value->data[0].v_pointer =
prolooks_hsv_ref (src_value->data[0].v_pointer);
1176 dest_value->data[0].v_pointer = NULL;
1182 return value->data[0].v_pointer;
1187 (void) collect_flags;
1188 (void) n_collect_values;
1189 if (collect_values[0].v_pointer) {
1191 object = (
ProlooksHSV*)collect_values[0].v_pointer;
1193 return g_strconcat (
"invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value),
"'", NULL);
1194 }
else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (
object), G_VALUE_TYPE (value))) {
1195 return g_strconcat (
"invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (
object)),
"' for value type `", G_VALUE_TYPE_NAME (value),
"'", NULL);
1199 value->data[0].v_pointer = NULL;
1207 (void) n_collect_values;
1208 object_p = (
ProlooksHSV**)collect_values[0].v_pointer;
1210 return g_strdup_printf (
"value location for `%s' passed as NULL", G_VALUE_TYPE_NAME ((GValue*)value));
1212 if (!value->data[0].v_pointer) {
1214 }
else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
1215 *object_p = (
ProlooksHSV*)value->data[0].v_pointer;
1226 spec = (
ProlooksParamSpecHSV*)g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
1227 G_PARAM_SPEC (spec)->value_type = object_type;
1228 return G_PARAM_SPEC (spec);
1233 g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE ((GValue*) value,
PROLOOKS_TYPE_HSV), NULL);
1234 return value->data[0].v_pointer;
1244 g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
1245 value->data[0].v_pointer = v_object;
1248 value->data[0].v_pointer = NULL;
1262 g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
1263 value->data[0].v_pointer = v_object;
1265 value->data[0].v_pointer = NULL;
1286 self->ref_count = 1;
1290 static volatile gsize prolooks_hsv_type_id__volatile = 0;
1291 if (g_once_init_enter (&prolooks_hsv_type_id__volatile)) {
1294 static const GTypeFundamentalInfo g_define_type_fundamental_info = { (GTypeFundamentalFlags)(G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
1295 GType prolooks_hsv_type_id;
1296 prolooks_hsv_type_id = g_type_register_fundamental (g_type_fundamental_next (),
"ProlooksHSV", &g_define_type_info, &g_define_type_fundamental_info, (GTypeFlags)0);
1297 g_once_init_leave (&prolooks_hsv_type_id__volatile, prolooks_hsv_type_id);
1299 return prolooks_hsv_type_id__volatile;
1306 g_atomic_int_inc (&self->ref_count);
1314 if (g_atomic_int_dec_and_test (&self->ref_count)) {
1316 g_type_free_instance ((GTypeInstance *)
self);
1323 GdkColor _tmp0_ = {0,0,0,0};
1339 GdkPixbuf* result = NULL;
1342 g_return_val_if_fail (surface != NULL, NULL);
1343 if (cairo_image_surface_get_format (surface) != CAIRO_FORMAT_ARGB32) {
1347 knob_data = (_tmp0_ = cairo_image_surface_get_data (surface), _tmp0_);
1363 if (!(i < (cairo_image_surface_get_height (surface) * cairo_image_surface_get_stride (surface)))) {
1366 r = knob_data[i + 0];
1367 g = knob_data[i + 1];
1368 b = knob_data[i + 2];
1369 a = knob_data[i + 3];
1370 knob_data[i + 0] = b;
1371 knob_data[i + 1] = g;
1372 knob_data[i + 2] = r;
1373 knob_data[i + 3] = a;
1377 result = gdk_pixbuf_new_from_data (knob_data, GDK_COLORSPACE_RGB, TRUE, 8, cairo_image_surface_get_width (surface), cairo_image_surface_get_height (surface), cairo_image_surface_get_stride (surface), NULL, NULL);
#define _cairo_color_unref0(var)
GType cairo_color_get_type(void)
double prolooks_hsv_get_value(ProlooksHSV *self)
#define _cairo_pattern_destroy0(var)
char * prolooks_hsl_to_string(ProlooksHSL *self)
static gpointer prolooks_value_hsv_peek_pointer(const GValue *value)
CairoColor * cairo_color_new_from_string(const char *webcolor)
void prolooks_hsl_set_hue(ProlooksHSL *self, double value)
char * prolooks_hsv_to_string(ProlooksHSV *self)
double prolooks_hsv_get_hue(ProlooksHSV *self)
void prolooks_hsl_from_cairo_color(ProlooksHSL *self, CairoColor *color)
void prolooks_rounded_rect(cairo_t *cr, double x, double y, double w, double h, double radius_x, double radius_y)
GType prolooks_hsv_get_type(void)
double prolooks_hsv_get_saturation(ProlooksHSV *self)
static void cairo_value_color_copy_value(const GValue *src_value, GValue *dest_value)
void prolooks_value_take_hsv(GValue *value, gpointer v_object)
CairoColor * cairo_color_construct(GType object_type, double red, double green, double blue, double alpha)
static gchar * cairo_value_color_lcopy_value(const GValue *value, guint n_collect_values, GTypeCValue *collect_values, guint collect_flags)
void prolooks_hsl_set_lightness(ProlooksHSL *self, double value)
void cairo_color_set_to(CairoColor *self, CairoColor *a_color)
void prolooks_hsv_from_gdk_color(ProlooksHSV *self, const GdkColor *color)
static void prolooks_value_hsv_copy_value(const GValue *src_value, GValue *dest_value)
GTypeInstance parent_instance
static void cairo_color_instance_init(CairoColor *self)
void prolooks_hsv_from_cairo_color(ProlooksHSV *self, CairoColor *color)
static void prolooks_hsv_instance_init(ProlooksHSV *self)
void prolooks_set_source_color_string(cairo_t *cr, const char *color, double alpha)
static void prolooks_hsl_instance_init(ProlooksHSL *self)
ProlooksHSL * prolooks_hsl_new(void)
void prolooks_hsv_set_hue(ProlooksHSV *self, double value)
ProlooksHSV * prolooks_hsv_new_for_gdk_color(const GdkColor *color)
#define PROLOOKS_HSL(obj)
CairoColor * cairo_color_copy(CairoColor *self)
GType prolooks_button_state_get_type(void)
static gpointer cairo_color_parent_class
struct _ProlooksHSLClass ProlooksHSLClass
#define PROLOOKS_HSV_GET_PRIVATE(o)
static void cairo_value_color_free_value(GValue *value)
LIBARDOUR_API PBD::PropertyDescriptor< framepos_t > start
double prolooks_modula(double number, double divisor)
#define CAIRO_COLOR_GET_CLASS(obj)
#define CAIRO_COLOR_CLASS(klass)
void prolooks_shade_color(const GdkColor *orig, double shade_ratio, GdkColor *result)
gpointer prolooks_hsl_ref(gpointer instance)
void cairo_color_set_alpha(CairoColor *self, double value)
void prolooks_add_color_stop(cairo_pattern_t *p, double offset, const GdkColor *color, double alpha)
gpointer prolooks_value_get_hsv(const GValue *value)
GType prolooks_hsl_get_type(void)
double cairo_color_get_green(CairoColor *self)
#define PROLOOKS_TYPE_HSL
void prolooks_add_color_stop_str(cairo_pattern_t *p, double offset, const char *color, double alpha)
void prolooks_hsl_to_gdk_color(ProlooksHSL *self, GdkColor *result)
CairoColor * prolooks_gdk_color_to_cairo(const GdkColor *color)
void prolooks_hsl_from_gdk_color(ProlooksHSL *self, const GdkColor *color)
CairoColor * prolooks_hsl_to_cairo_color(ProlooksHSL *self)
#define PROLOOKS_HSL_GET_PRIVATE(o)
double cairo_color_get_alpha(CairoColor *self)
void prolooks_value_take_hsl(GValue *value, gpointer v_object)
void prolooks_color_from_string(const char *webcolor, GdkColor *result)
gpointer prolooks_hsv_ref(gpointer instance)
void prolooks_hsv_set_value(ProlooksHSV *self, double value)
static void prolooks_value_hsl_init(GValue *value)
GTypeInstance parent_instance
CairoColor * prolooks_hsv_to_cairo_color(ProlooksHSV *self)
struct _ProlooksHSVClass ProlooksHSVClass
static void cairo_color_class_init(CairoColorClass *klass)
void cairo_color_set_blue(CairoColor *self, double value)
void cairo_color_add_color_stop_to(CairoColor *self, cairo_pattern_t *p, double offset)
double cairo_color_get_blue(CairoColor *self)
struct _CairoColorClass CairoColorClass
GdkPixbuf * prolooks_cairo_image_surface_to_pixbuf(cairo_surface_t *surface)
#define PROLOOKS_HSL_CLASS(klass)
static gchar * cairo_value_color_collect_value(GValue *value, guint n_collect_values, GTypeCValue *collect_values, guint collect_flags)
void prolooks_set_source_color(cairo_t *cr, const GdkColor *color, double alpha)
static void cairo_value_color_init(GValue *value)
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)
double prolooks_hsl_get_hue(ProlooksHSL *self)
void cairo_color_set_as_source_in(CairoColor *self, cairo_t *cr)
double prolooks_hsl_get_lightness(ProlooksHSL *self)
gpointer cairo_value_get_color(const GValue *value)
ProlooksHSL * prolooks_hsl_construct(GType object_type)
ProlooksHSV * prolooks_hsv_construct_for_gdk_color(GType object_type, const GdkColor *color)
double prolooks_hsl_get_saturation(ProlooksHSL *self)
static gchar * prolooks_value_hsl_lcopy_value(const GValue *value, guint n_collect_values, GTypeCValue *collect_values, guint collect_flags)
static gpointer cairo_value_color_peek_pointer(const GValue *value)
static gpointer prolooks_value_hsl_peek_pointer(const GValue *value)
ProlooksHSV * prolooks_hsv_new(void)
ProlooksHSV * prolooks_hsv_new_for_cairo_color(CairoColor *color)
double cairo_color_get_red(CairoColor *self)
void prolooks_set_line_width_from_device(cairo_t *cr)
GTypeInstance parent_instance
void cairo_value_take_color(GValue *value, gpointer v_object)
#define PROLOOKS_HSV_CLASS(klass)
static gchar * prolooks_value_hsl_collect_value(GValue *value, guint n_collect_values, GTypeCValue *collect_values, guint collect_flags)
void prolooks_gdk_color_to_cairo_color(const GdkColor *color, double *red, double *green, double *blue)
static void prolooks_hsv_class_init(ProlooksHSVClass *klass)
static gpointer prolooks_hsl_parent_class
void prolooks_hsv_to_gdk_color(ProlooksHSV *self, GdkColor *result)
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)
gpointer cairo_color_ref(gpointer instance)
static void prolooks_hsl_class_init(ProlooksHSLClass *klass)
static gchar * prolooks_value_hsv_collect_value(GValue *value, guint n_collect_values, GTypeCValue *collect_values, guint collect_flags)
void cairo_value_set_color(GValue *value, gpointer v_object)
ProlooksHSV * prolooks_hsv_construct_for_cairo_color(GType object_type, CairoColor *color)
GParamSpec * prolooks_param_spec_hsv(const gchar *name, const gchar *nick, const gchar *blurb, GType object_type, GParamFlags flags)
static void prolooks_value_hsv_init(GValue *value)
static gpointer prolooks_hsv_parent_class
CairoColor * cairo_color_construct_from_string(GType object_type, const char *webcolor)
#define PROLOOKS_HSV_GET_CLASS(obj)
void prolooks_background_gradient(cairo_t *cr, double w, double h)
#define PROLOOKS_TYPE_HSV
static void prolooks_hsl_finalize(ProlooksHSL *obj)
static gchar * prolooks_value_hsv_lcopy_value(const GValue *value, guint n_collect_values, GTypeCValue *collect_values, guint collect_flags)
void prolooks_hsl_unref(gpointer instance)
#define _prolooks_hsl_unref0(var)
void prolooks_hsv_set_saturation(ProlooksHSV *self, double value)
void prolooks_cairo_color_to_gdk(CairoColor *cairo_color, GdkColor *result)
#define PROLOOKS_HSL_GET_CLASS(obj)
CairoColor * prolooks_cairo_color_from_string(const char *webcolor)
#define PROLOOKS_HSV(obj)
CairoColor * cairo_color_shade(CairoColor *self, double shade_factor)
static void cairo_color_finalize(CairoColor *obj)
static void prolooks_value_hsl_free_value(GValue *value)
static void prolooks_value_hsv_free_value(GValue *value)
void cairo_color_set_green(CairoColor *self, double value)
GParamSpec * cairo_param_spec_color(const gchar *name, const gchar *nick, const gchar *blurb, GType object_type, GParamFlags flags)
void prolooks_value_set_hsl(GValue *value, gpointer v_object)
static void prolooks_value_hsl_copy_value(const GValue *src_value, GValue *dest_value)
ProlooksHSV * prolooks_hsv_construct(GType object_type)
void cairo_color_set_from_string(CairoColor *self, const char *webcolor)
GParamSpec * prolooks_param_spec_hsl(const gchar *name, const gchar *nick, const gchar *blurb, GType object_type, GParamFlags flags)
GType prolooks_button_type_get_type(void)
gpointer prolooks_value_get_hsl(const GValue *value)
static void prolooks_hsv_finalize(ProlooksHSV *obj)
CairoColor * cairo_color_new(double red, double green, double blue, double alpha)
char * prolooks_color_to_string(const GdkColor *color)
void cairo_color_unref(gpointer instance)
void prolooks_hsv_unref(gpointer instance)
#define CAIRO_COLOR_GET_PRIVATE(o)
void prolooks_hsl_set_saturation(ProlooksHSL *self, double value)
void cairo_color_set_red(CairoColor *self, double value)
LIBARDOUR_API PBD::PropertyDescriptor< bool > color
void prolooks_value_set_hsv(GValue *value, gpointer v_object)