diff options
author | Benjamin Otte <otte@redhat.com> | 2010-09-08 21:57:18 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2010-09-26 15:11:40 +0200 |
commit | 73b6ddbf47e6d257e5cf59b4abd00351273bbf4a (patch) | |
tree | 90b95cd60491b843e111d6cb67e92956e6f84ddc /demos | |
parent | 9ef1dfc0a30b215f3df7ad35638cf306367d8979 (diff) | |
download | gtk+-73b6ddbf47e6d257e5cf59b4abd00351273bbf4a.tar.gz |
gtk-demo: Connect to draw signal in rotated-text
Diffstat (limited to 'demos')
-rw-r--r-- | demos/gtk-demo/rotated_text.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/demos/gtk-demo/rotated_text.c b/demos/gtk-demo/rotated_text.c index 4450ab0bff..bab7046b98 100644 --- a/demos/gtk-demo/rotated_text.c +++ b/demos/gtk-demo/rotated_text.c @@ -91,39 +91,32 @@ create_fancy_attr_list_for_layout (PangoLayout *layout) } static gboolean -rotated_text_expose_event (GtkWidget *widget, - GdkEventExpose *event, - gpointer data) +rotated_text_draw (GtkWidget *widget, + cairo_t *cr, + gpointer data) { #define RADIUS 150 #define N_WORDS 5 #define FONT "Serif 18" - GtkAllocation allocation; - PangoContext *context; PangoLayout *layout; PangoFontDescription *desc; - cairo_t *cr; cairo_pattern_t *pattern; PangoAttrList *attrs; - int width; - int height; double device_radius; + int width, height; int i; - gtk_widget_get_allocation (widget, &allocation); - width = allocation.width; - height = allocation.height; - /* Create a cairo context and set up a transformation matrix so that the user * space coordinates for the centered square where we draw are [-RADIUS, RADIUS], * [-RADIUS, RADIUS]. * We first center, then change the scale. */ - cr = gdk_cairo_create (gtk_widget_get_window (widget)); + width = gtk_widget_get_allocated_width (widget); + height = gtk_widget_get_allocated_height (widget); device_radius = MIN (width, height) / 2.; cairo_translate (cr, device_radius + (width - 2 * device_radius) / 2, @@ -173,7 +166,6 @@ rotated_text_expose_event (GtkWidget *widget, g_object_unref (layout); g_object_unref (context); cairo_pattern_destroy (pattern); - cairo_destroy (cr); return FALSE; } @@ -209,8 +201,8 @@ do_rotated_text (GtkWidget *do_widget) /* This overrides the background color from the theme */ gtk_widget_modify_bg (drawing_area, GTK_STATE_NORMAL, &white); - g_signal_connect (drawing_area, "expose-event", - G_CALLBACK (rotated_text_expose_event), NULL); + g_signal_connect (drawing_area, "draw", + G_CALLBACK (rotated_text_draw), NULL); /* And a label */ |