summaryrefslogtreecommitdiff
path: root/demos
diff options
context:
space:
mode:
authorJavier Jardón <jjardon@gnome.org>2010-09-27 00:06:00 +0200
committerJavier Jardón <jjardon@gnome.org>2010-09-27 00:07:20 +0200
commite16f9bc51cb3419868a64851fe83a2a9d74e7c51 (patch)
tree1bc5f90ad19e517bf63fe74c5bf6fdb8ed7f1125 /demos
parentb8b6ceef16d52527d96d8c15d61751cc6ef502ab (diff)
downloadgtk+-e16f9bc51cb3419868a64851fe83a2a9d74e7c51.tar.gz
gtk-demo: Use draw signal in toolpalette demo
Diffstat (limited to 'demos')
-rw-r--r--demos/gtk-demo/toolpalette.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/demos/gtk-demo/toolpalette.c b/demos/gtk-demo/toolpalette.c
index b6f12283be..537fddd41a 100644
--- a/demos/gtk-demo/toolpalette.c
+++ b/demos/gtk-demo/toolpalette.c
@@ -81,21 +81,17 @@ canvas_item_draw (const CanvasItem *item,
}
static gboolean
-canvas_expose_event (GtkWidget *widget,
- GdkEventExpose *event)
+canvas_draw (GtkWidget *widget,
+ cairo_t *cr)
{
GtkAllocation allocation;
- cairo_t *cr;
GList *iter;
-
- cr = gdk_cairo_create (gtk_widget_get_window (widget));
- gdk_cairo_region (cr, event->region);
- cairo_clip (cr);
-
- gtk_widget_get_allocation (widget, &allocation);
+ gint width, height;
cairo_set_source_rgb (cr, 1, 1, 1);
- cairo_rectangle (cr, 0, 0, allocation.width, allocation.height);
+ width = gtk_widget_get_allocated_width (widget);
+ height = gtk_widget_get_allocated_height (widget);
+ cairo_rectangle (cr, 0, 0, width, height);
cairo_fill (cr);
for (iter = canvas_items; iter; iter = iter->next)
@@ -104,8 +100,6 @@ canvas_expose_event (GtkWidget *widget,
if (drop_item)
canvas_item_draw (drop_item, cr, TRUE);
- cairo_destroy (cr);
-
return TRUE;
}
@@ -572,7 +566,7 @@ do_toolpalette (GtkWidget *do_widget)
gtk_widget_set_app_paintable (contents, TRUE);
g_object_connect (contents,
- "signal::expose-event", canvas_expose_event, NULL,
+ "signal::draw", canvas_draw, NULL,
"signal::drag-data-received", passive_canvas_drag_data_received, NULL,
NULL);
@@ -600,7 +594,7 @@ do_toolpalette (GtkWidget *do_widget)
gtk_widget_set_app_paintable (contents, TRUE);
g_object_connect (contents,
- "signal::expose-event", canvas_expose_event, NULL,
+ "signal::draw", canvas_draw, NULL,
"signal::drag-motion", interactive_canvas_drag_motion, NULL,
"signal::drag-data-received", interactive_canvas_drag_data_received, NULL,
"signal::drag-leave", interactive_canvas_drag_leave, NULL,