[gthumb] use GdkRGBA instead of cairo_color_t
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] use GdkRGBA instead of cairo_color_t
- Date: Sun, 2 Dec 2012 11:21:23 +0000 (UTC)
commit 4a5a56af363a0145564059c20f43e65f91b5b357
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sun Nov 4 15:10:51 2012 +0100
use GdkRGBA instead of cairo_color_t
extensions/contact_sheet/dlg-image-wall.c | 2 +-
extensions/file_tools/cairo-rotate.c | 10 +++---
extensions/file_tools/cairo-rotate.h | 2 +-
extensions/file_tools/gth-file-tool-rotate.c | 45 ++++++++++---------------
extensions/file_tools/gth-image-rotator.c | 30 ++++++++--------
extensions/file_tools/gth-image-rotator.h | 4 +-
extensions/file_tools/gth-preview-tool.c | 18 +++++-----
gthumb/cairo-utils.c | 12 +++---
gthumb/cairo-utils.h | 9 +----
9 files changed, 58 insertions(+), 74 deletions(-)
---
diff --git a/extensions/contact_sheet/dlg-image-wall.c b/extensions/contact_sheet/dlg-image-wall.c
index da03d7d..1066b5c 100644
--- a/extensions/contact_sheet/dlg-image-wall.c
+++ b/extensions/contact_sheet/dlg-image-wall.c
@@ -154,7 +154,7 @@ ok_clicked_cb (GtkWidget *widget,
theme = gth_contact_sheet_theme_new ();
theme->background_type = GTH_CONTACT_SHEET_BACKGROUND_TYPE_SOLID;
- gdk_color_parse ("#000", &theme->background_color1);
+ gdk_rgba_parse (&theme->background_color1, "#000");
theme->frame_style = GTH_CONTACT_SHEET_FRAME_STYLE_NONE;
theme->frame_hpadding = 0;
theme->frame_vpadding = 0;
diff --git a/extensions/file_tools/cairo-rotate.c b/extensions/file_tools/cairo-rotate.c
index 706571e..70b4af2 100644
--- a/extensions/file_tools/cairo-rotate.c
+++ b/extensions/file_tools/cairo-rotate.c
@@ -362,7 +362,7 @@ cairo_surface_t *
_cairo_image_surface_rotate (cairo_surface_t *image,
double angle,
gboolean high_quality,
- cairo_color_t *background_color)
+ GdkRGBA *background_color)
{
cairo_surface_t *rotated;
cairo_surface_t *tmp = NULL;
@@ -380,10 +380,10 @@ _cairo_image_surface_rotate (cairo_surface_t *image,
rotated = rotate (image,
-angle,
high_quality,
- background_color->r * 255.0,
- background_color->g * 255.0,
- background_color->b * 255.0,
- background_color->a * 255.0);
+ background_color->red * 255.0,
+ background_color->green * 255.0,
+ background_color->blue * 255.0,
+ background_color->alpha * 255.0);
else
rotated = cairo_surface_reference (image);
diff --git a/extensions/file_tools/cairo-rotate.h b/extensions/file_tools/cairo-rotate.h
index d958e24..2ebc1cb 100644
--- a/extensions/file_tools/cairo-rotate.h
+++ b/extensions/file_tools/cairo-rotate.h
@@ -43,7 +43,7 @@ double _cairo_image_surface_rotate_get_align_angle (gboolean
cairo_surface_t * _cairo_image_surface_rotate (cairo_surface_t *image,
double angle,
gboolean high_quality,
- cairo_color_t *background_color);
+ GdkRGBA *background_color);
G_END_DECLS
diff --git a/extensions/file_tools/gth-file-tool-rotate.c b/extensions/file_tools/gth-file-tool-rotate.c
index d9727aa..b3c57a1 100644
--- a/extensions/file_tools/gth-file-tool-rotate.c
+++ b/extensions/file_tools/gth-file-tool-rotate.c
@@ -292,16 +292,11 @@ static void
background_colorbutton_color_set_cb (GtkColorButton *color_button,
GthFileToolRotate *self)
{
- GdkColor color;
- cairo_color_t background_color;
+ GdkRGBA background_color;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("background_transparent_checkbutton")), FALSE);
- gtk_color_button_get_color (color_button, &color);
- background_color.r = (double) color.red / 65535;
- background_color.g = (double) color.green / 65535;
- background_color.b = (double) color.blue / 65535;
- background_color.a = 1.0;
+ gtk_color_chooser_get_rgba (GTK_COLOR_CHOOSER (color_button), &background_color);
gth_image_rotator_set_background (GTH_IMAGE_ROTATOR (self->priv->rotator), &background_color);
apply_changes (self);
@@ -313,12 +308,12 @@ background_transparent_toggled_cb (GtkToggleButton *toggle_button,
GthFileToolRotate *self)
{
if (gtk_toggle_button_get_active (toggle_button)) {
- cairo_color_t background_color;
+ GdkRGBA background_color;
- background_color.r = 0.0;
- background_color.g = 0.0;
- background_color.b = 0.0;
- background_color.a = 0.0;
+ background_color.red = 0.0;
+ background_color.green = 0.0;
+ background_color.blue = 0.0;
+ background_color.alpha = 0.0;
gth_image_rotator_set_background (GTH_IMAGE_ROTATOR (self->priv->rotator), &background_color);
}
else
@@ -364,8 +359,7 @@ gth_file_tool_rotate_get_options (GthFileTool *base)
GtkWidget *viewer_page;
GtkWidget *viewer;
char *color_spec;
- GdkColor color;
- cairo_color_t background_color;
+ GdkRGBA background_color;
self = (GthFileToolRotate *) base;
@@ -432,14 +426,14 @@ gth_file_tool_rotate_get_options (GthFileTool *base)
}
color_spec = g_settings_get_string (self->priv->settings, PREF_ROTATE_BACKGROUND_COLOR);
- if (! self->priv->has_alpha && gdk_color_parse (color_spec, &color)) {
- _gdk_color_to_cairo_color (&color, &background_color);
+ if (! self->priv->has_alpha) {
+ gdk_rgba_parse (&background_color, color_spec);
}
else {
- background_color.r = 0.0;
- background_color.g = 0.0;
- background_color.b = 0.0;
- background_color.a = self->priv->has_alpha ? 0.0 : 1.0;
+ background_color.red = 0.0;
+ background_color.green = 0.0;
+ background_color.blue = 0.0;
+ background_color.alpha = 1.0;
}
gth_image_rotator_set_background (GTH_IMAGE_ROTATOR (self->priv->rotator), &background_color);
@@ -536,9 +530,8 @@ gth_file_tool_rotate_destroy_options (GthFileTool *base)
self = (GthFileToolRotate *) base;
if (self->priv->builder != NULL) {
- cairo_color_t background_color;
- GdkColor color;
- char *color_spec;
+ GdkRGBA background_color;
+ char *color_spec;
/* save the dialog options */
@@ -547,11 +540,9 @@ gth_file_tool_rotate_destroy_options (GthFileTool *base)
g_settings_set_enum (self->priv->settings, PREF_ROTATE_GRID_TYPE, gth_image_rotator_get_grid_type (GTH_IMAGE_ROTATOR (self->priv->rotator)));
gth_image_rotator_get_background (GTH_IMAGE_ROTATOR (self->priv->rotator), &background_color);
- color.red = background_color.r * 255.0;
- color.green = background_color.g * 255.0;
- color.blue = background_color.b * 255.0;
- color_spec = gdk_color_to_string (&color);
+ color_spec = gdk_rgba_to_string (&background_color);
g_settings_set_string (self->priv->settings, PREF_ROTATE_BACKGROUND_COLOR, color_spec);
+
g_free (color_spec);
}
diff --git a/extensions/file_tools/gth-image-rotator.c b/extensions/file_tools/gth-image-rotator.c
index 3319579..7ec4b22 100644
--- a/extensions/file_tools/gth-image-rotator.c
+++ b/extensions/file_tools/gth-image-rotator.c
@@ -63,7 +63,7 @@ struct _GthImageRotatorPrivate {
GdkPoint center;
double angle;
- cairo_color_t background_color;
+ GdkRGBA background_color;
gboolean enable_crop;
cairo_rectangle_int_t crop_region;
GthGridType grid_type;
@@ -441,10 +441,10 @@ gth_image_rotator_draw (GthImageViewerTool *base,
cairo_rectangle (cr, 0, 0, allocation.width, allocation.height);
cairo_set_source_rgba (cr,
- self->priv->background_color.r,
- self->priv->background_color.g,
- self->priv->background_color.b,
- self->priv->background_color.a);
+ self->priv->background_color.red,
+ self->priv->background_color.green,
+ self->priv->background_color.blue,
+ self->priv->background_color.alpha);
cairo_fill (cr);
if (self->priv->preview_image == NULL)
@@ -695,10 +695,10 @@ gth_image_rotator_init (GthImageRotator *self)
self->priv->preview_image = NULL;
self->priv->grid_type = GTH_GRID_NONE;
self->priv->resize = GTH_TRANSFORM_RESIZE_BOUNDING_BOX;
- self->priv->background_color.r = 0.0;
- self->priv->background_color.g = 0.0;
- self->priv->background_color.b = 0.0;
- self->priv->background_color.a = 1.0;
+ self->priv->background_color.red = 0.0;
+ self->priv->background_color.green = 0.0;
+ self->priv->background_color.blue = 0.0;
+ self->priv->background_color.alpha = 1.0;
self->priv->enable_crop = FALSE;
self->priv->crop_region.x = 0;
self->priv->crop_region.y = 0;
@@ -831,7 +831,7 @@ gth_image_rotator_set_crop_region (GthImageRotator *self,
void
gth_image_rotator_set_background (GthImageRotator *self,
- cairo_color_t *color)
+ GdkRGBA *color)
{
self->priv->background_color = *color;
@@ -844,7 +844,7 @@ gth_image_rotator_set_background (GthImageRotator *self,
void
gth_image_rotator_get_background (GthImageRotator *self,
- cairo_color_t *color)
+ GdkRGBA *color)
{
*color = self->priv->background_color;
}
@@ -903,10 +903,10 @@ gth_image_rotator_get_result_fast (GthImageRotator *self)
cairo_rectangle (cr, clip_area.x, clip_area.y, clip_area.width, clip_area.height);
cairo_clip_preserve (cr);
cairo_set_source_rgba (cr,
- self->priv->background_color.r,
- self->priv->background_color.g,
- self->priv->background_color.b,
- self->priv->background_color.a);
+ self->priv->background_color.red,
+ self->priv->background_color.green,
+ self->priv->background_color.blue,
+ self->priv->background_color.alpha);
cairo_fill (cr);
/* paint the rotated image */
diff --git a/extensions/file_tools/gth-image-rotator.h b/extensions/file_tools/gth-image-rotator.h
index c73fb78..4300be0 100644
--- a/extensions/file_tools/gth-image-rotator.h
+++ b/extensions/file_tools/gth-image-rotator.h
@@ -85,9 +85,9 @@ GthTransformResize gth_image_rotator_get_resize (GthImageRotator *
void gth_image_rotator_set_crop_region (GthImageRotator *self,
cairo_rectangle_int_t *region);
void gth_image_rotator_set_background (GthImageRotator *self,
- cairo_color_t *color);
+ GdkRGBA *color);
void gth_image_rotator_get_background (GthImageRotator *self,
- cairo_color_t *color);
+ GdkRGBA *color);
cairo_surface_t * gth_image_rotator_get_result (GthImageRotator *self,
gboolean high_quality);
diff --git a/extensions/file_tools/gth-preview-tool.c b/extensions/file_tools/gth-preview-tool.c
index 4689ae6..77e6eed 100644
--- a/extensions/file_tools/gth-preview-tool.c
+++ b/extensions/file_tools/gth-preview-tool.c
@@ -43,7 +43,7 @@ struct _GthPreviewToolPrivate {
gboolean original_zoom_enabled;
cairo_surface_t *preview_image;
cairo_rectangle_int_t preview_image_area;
- cairo_color_t background_color;
+ GdkRGBA background_color;
};
@@ -193,10 +193,10 @@ gth_preview_tool_draw (GthImageViewerTool *base,
cairo_rectangle (cr, 0, 0, allocation.width, allocation.height);
cairo_set_source_rgba (cr,
- self->priv->background_color.r,
- self->priv->background_color.g,
- self->priv->background_color.b,
- self->priv->background_color.a);
+ self->priv->background_color.red,
+ self->priv->background_color.green,
+ self->priv->background_color.blue,
+ self->priv->background_color.alpha);
cairo_fill (cr);
cairo_restore (cr);
@@ -318,10 +318,10 @@ gth_preview_tool_init (GthPreviewTool *self)
{
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTH_TYPE_PREVIEW_TOOL, GthPreviewToolPrivate);
self->priv->preview_image = NULL;
- self->priv->background_color.r = 0.2;
- self->priv->background_color.g = 0.2;
- self->priv->background_color.b = 0.2;
- self->priv->background_color.a = 1.0;
+ self->priv->background_color.red = 0.2;
+ self->priv->background_color.green = 0.2;
+ self->priv->background_color.blue = 0.2;
+ self->priv->background_color.alpha = 1.0;
}
diff --git a/gthumb/cairo-utils.c b/gthumb/cairo-utils.c
index 4541136..de9a1e0 100644
--- a/gthumb/cairo-utils.c
+++ b/gthumb/cairo-utils.c
@@ -69,13 +69,13 @@ _cairo_rectangle_contains_point (cairo_rectangle_int_t *rect,
void
-_gdk_color_to_cairo_color (GdkColor *g_color,
- cairo_color_t *c_color)
+_gdk_color_to_cairo_color (GdkColor *g_color,
+ GdkRGBA *c_color)
{
- c_color->r = (double) g_color->red / 65535;
- c_color->g = (double) g_color->green / 65535;
- c_color->b = (double) g_color->blue / 65535;
- c_color->a = 1.0;
+ c_color->red = (double) g_color->red / 65535;
+ c_color->green = (double) g_color->green / 65535;
+ c_color->blue = (double) g_color->blue / 65535;
+ c_color->alpha = 1.0;
}
diff --git a/gthumb/cairo-utils.h b/gthumb/cairo-utils.h
index b088448..92e3dad 100644
--- a/gthumb/cairo-utils.h
+++ b/gthumb/cairo-utils.h
@@ -119,13 +119,6 @@
/* types */
typedef struct {
- double r;
- double g;
- double b;
- double a;
-} cairo_color_t;
-
-typedef struct {
guchar r;
guchar g;
guchar b;
@@ -149,7 +142,7 @@ gboolean _cairo_rectangle_contains_point (cairo_rectangle_int
/* colors */
void _gdk_color_to_cairo_color (GdkColor *g_color,
- cairo_color_t *c_color);
+ GdkRGBA *c_color);
void _gdk_color_to_cairo_color_255 (GdkColor *g_color,
cairo_color_255_t *c_color);
void _gdk_rgba_to_cairo_color_255 (GdkRGBA *g_color,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]