[gnome-color-manager] Fix compile with GTK3 with the expose to draw conversion
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-color-manager] Fix compile with GTK3 with the expose to draw conversion
- Date: Mon, 4 Oct 2010 12:34:42 +0000 (UTC)
commit bdb4380ee270b82f0c33535006e8533c1a00ec04
Author: Richard Hughes <richard hughsie com>
Date: Mon Oct 4 14:34:50 2010 +0100
Fix compile with GTK3 with the expose to draw conversion
src/gcm-cie-widget.c | 21 ++++-----------------
src/gcm-gamma-widget.c | 38 ++++++++------------------------------
src/gcm-trc-widget.c | 21 ++++-----------------
3 files changed, 16 insertions(+), 64 deletions(-)
---
diff --git a/src/gcm-cie-widget.c b/src/gcm-cie-widget.c
index 22f044b..9cb11ae 100644
--- a/src/gcm-cie-widget.c
+++ b/src/gcm-cie-widget.c
@@ -44,7 +44,6 @@ struct GcmCieWidgetPrivate
gboolean use_whitepoint;
guint chart_width;
guint chart_height;
- cairo_t *cr;
PangoLayout *layout;
GPtrArray *tongue_buffer; /* min and max of the tongue shape */
guint x_offset;
@@ -395,7 +394,7 @@ typedef struct {
gboolean valid;
} GcmCieWidgetBufferItem;
-static gboolean gcm_cie_widget_expose (GtkWidget *cie, GdkEventExpose *event);
+static gboolean gcm_cie_widget_draw (GtkWidget *cie, cairo_t *cr);
static void gcm_cie_widget_finalize (GObject *object);
enum
@@ -485,7 +484,7 @@ gcm_cie_widget_class_init (GcmCieWidgetClass *class)
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
GObjectClass *object_class = G_OBJECT_CLASS (class);
- widget_class->expose_event = gcm_cie_widget_expose;
+ widget_class->draw = gcm_cie_widget_draw;
object_class->get_property = dkp_cie_get_property;
object_class->set_property = dkp_cie_set_property;
object_class->finalize = gcm_cie_widget_finalize;
@@ -1153,26 +1152,14 @@ gcm_cie_widget_draw_cie (GtkWidget *cie_widget, cairo_t *cr)
}
/**
- * gcm_cie_widget_expose:
+ * gcm_cie_widget_draw:
*
* Just repaint the entire cie widget on expose.
**/
static gboolean
-gcm_cie_widget_expose (GtkWidget *cie, GdkEventExpose *event)
+gcm_cie_widget_draw (GtkWidget *cie, cairo_t *cr)
{
- cairo_t *cr;
-
- /* get a cairo_t */
- cr = gdk_cairo_create (gtk_widget_get_window (cie));
- cairo_rectangle (cr,
- event->area.x, event->area.y,
- event->area.width, event->area.height);
- cairo_clip (cr);
- ((GcmCieWidget *)cie)->priv->cr = cr;
-
gcm_cie_widget_draw_cie (cie, cr);
-
- cairo_destroy (cr);
return FALSE;
}
diff --git a/src/gcm-gamma-widget.c b/src/gcm-gamma-widget.c
index 91b1bda..9bb0b56 100644
--- a/src/gcm-gamma-widget.c
+++ b/src/gcm-gamma-widget.c
@@ -41,10 +41,9 @@ struct GcmGammaWidgetPrivate
gdouble color_blue;
guint chart_width;
guint chart_height;
- cairo_t *cr;
};
-static gboolean gcm_gamma_widget_expose (GtkWidget *gamma, GdkEventExpose *event);
+static gboolean gcm_gamma_widget_draw (GtkWidget *gamma, cairo_t *cr);
static void gcm_gamma_widget_finalize (GObject *object);
enum
@@ -130,7 +129,7 @@ gcm_gamma_widget_class_init (GcmGammaWidgetClass *class)
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
GObjectClass *object_class = G_OBJECT_CLASS (class);
- widget_class->expose_event = gcm_gamma_widget_expose;
+ widget_class->draw = gcm_gamma_widget_draw;
object_class->get_property = dkp_gamma_get_property;
object_class->set_property = dkp_gamma_set_property;
object_class->finalize = gcm_gamma_widget_finalize;
@@ -279,20 +278,22 @@ gcm_gamma_widget_draw_bounding_box (cairo_t *cr, gint x, gint y, gint width, gin
/**
* gcm_gamma_widget_draw:
+ *
+ * Just repaint the entire gamma widget on expose.
**/
-static void
+static gboolean
gcm_gamma_widget_draw (GtkWidget *gamma_widget, cairo_t *cr)
{
GtkAllocation allocation;
GcmGammaWidget *gama = (GcmGammaWidget*) gamma_widget;
- g_return_if_fail (gama != NULL);
- g_return_if_fail (GCM_IS_GAMMA_WIDGET (gama));
+ g_return_val_if_fail (gama != NULL, FALSE);
+ g_return_val_if_fail (GCM_IS_GAMMA_WIDGET (gama), FALSE);
/* make size adjustment */
gtk_widget_get_allocation (gamma_widget, &allocation);
if (allocation.height <= 5 || allocation.width <= 5)
- return;
+ return FALSE;
/* save */
gama->priv->chart_height = ((guint) (allocation.height / 2) * 2) - 1;
@@ -302,29 +303,6 @@ gcm_gamma_widget_draw (GtkWidget *gamma_widget, cairo_t *cr)
gcm_gamma_widget_draw_bounding_box (cr, 0, 0, gama->priv->chart_width, gama->priv->chart_height);
gcm_gamma_widget_draw_lines (gama, cr);
gcm_gamma_widget_draw_box (gama, cr);
-}
-
-/**
- * gcm_gamma_widget_expose:
- *
- * Just repaint the entire gamma widget on expose.
- **/
-static gboolean
-gcm_gamma_widget_expose (GtkWidget *gamma_widget, GdkEventExpose *event)
-{
- cairo_t *cr;
-
- /* get a cairo_t */
- cr = gdk_cairo_create (gtk_widget_get_window (gamma_widget));
- cairo_rectangle (cr,
- event->area.x, event->area.y,
- event->area.width, event->area.height);
- cairo_clip (cr);
- ((GcmGammaWidget *)gamma_widget)->priv->cr = cr;
-
- gcm_gamma_widget_draw (gamma_widget, cr);
-
- cairo_destroy (cr);
return FALSE;
}
diff --git a/src/gcm-trc-widget.c b/src/gcm-trc-widget.c
index 9d19faf..59f4886 100644
--- a/src/gcm-trc-widget.c
+++ b/src/gcm-trc-widget.c
@@ -41,13 +41,12 @@ struct GcmTrcWidgetPrivate
GcmClut *clut;
guint chart_width;
guint chart_height;
- cairo_t *cr;
PangoLayout *layout;
guint x_offset;
guint y_offset;
};
-static gboolean gcm_trc_widget_expose (GtkWidget *trc, GdkEventExpose *event);
+static gboolean gcm_trc_widget_draw (GtkWidget *trc, cairo_t *cr);
static void gcm_trc_widget_finalize (GObject *object);
enum
@@ -111,7 +110,7 @@ gcm_trc_widget_class_init (GcmTrcWidgetClass *class)
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
GObjectClass *object_class = G_OBJECT_CLASS (class);
- widget_class->expose_event = gcm_trc_widget_expose;
+ widget_class->draw = gcm_trc_widget_draw;
object_class->get_property = dkp_trc_get_property;
object_class->set_property = dkp_trc_set_property;
object_class->finalize = gcm_trc_widget_finalize;
@@ -359,26 +358,14 @@ gcm_trc_widget_draw_trc (GtkWidget *trc_widget, cairo_t *cr)
}
/**
- * gcm_trc_widget_expose:
+ * gcm_trc_widget_draw:
*
* Just repaint the entire trc widget on expose.
**/
static gboolean
-gcm_trc_widget_expose (GtkWidget *trc, GdkEventExpose *event)
+gcm_trc_widget_draw (GtkWidget *trc, cairo_t *cr)
{
- cairo_t *cr;
-
- /* get a cairo_t */
- cr = gdk_cairo_create (gtk_widget_get_window (trc));
- cairo_rectangle (cr,
- event->area.x, event->area.y,
- event->area.width, event->area.height);
- cairo_clip (cr);
- ((GcmTrcWidget *)trc)->priv->cr = cr;
-
gcm_trc_widget_draw_trc (trc, cr);
-
- cairo_destroy (cr);
return FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]