X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=tests%2Ftestoffscreenwindow.c;h=c3b064c57895bdd2f40cbc97de76ee9b155548bb;hb=d03d2943d2a4847f135a441bd924fa9dabf7d6b2;hp=852a073c492033904c383e19ec89b3dcfd6fe943;hpb=4f78f70b15f861cca115f578b0f3f4ad3ad087e7;p=~andy%2Fgtk diff --git a/tests/testoffscreenwindow.c b/tests/testoffscreenwindow.c index 852a073c4..c3b064c57 100644 --- a/tests/testoffscreenwindow.c +++ b/tests/testoffscreenwindow.c @@ -1,23 +1,16 @@ #include static gboolean -da_expose (GtkWidget *widget, - GdkEventExpose *event, - gpointer user_data) +da_draw (GtkWidget *widget, + cairo_t *cr, + gpointer user_data) { GtkOffscreenWindow *offscreen = (GtkOffscreenWindow *)user_data; - GdkPixmap *pixmap; - cairo_t *cr; - if (gtk_widget_is_drawable (widget)) - { - pixmap = gtk_offscreen_window_get_pixmap (offscreen); - - cr = gdk_cairo_create (widget->window); - gdk_cairo_set_source_pixmap (cr, pixmap, 50, 50); - cairo_paint (cr); - cairo_destroy (cr); - } + cairo_set_source_surface (cr, + gtk_offscreen_window_get_surface (offscreen), + 50, 50); + cairo_paint (cr); return FALSE; } @@ -73,8 +66,8 @@ main (int argc, char **argv) gtk_container_add (GTK_CONTAINER (window), da); g_signal_connect (da, - "expose-event", - G_CALLBACK (da_expose), + "draw", + G_CALLBACK (da_draw), offscreen); g_signal_connect (offscreen,