diff options
Diffstat (limited to 'demos/testpixbuf-scale.c')
-rw-r--r-- | demos/testpixbuf-scale.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/demos/testpixbuf-scale.c b/demos/testpixbuf-scale.c index 6d335e1cc0..50244e4f72 100644 --- a/demos/testpixbuf-scale.c +++ b/demos/testpixbuf-scale.c @@ -34,18 +34,21 @@ overall_changed_cb (GtkAdjustment *adjustment, gpointer data) gboolean expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data) { + GtkAllocation allocation; GdkPixbuf *dest; cairo_t *cr; - gdk_window_set_back_pixmap (widget->window, NULL, FALSE); - + gdk_window_set_back_pixmap (gtk_widget_get_window (widget), + NULL, FALSE); + dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, event->area.width, event->area.height); + gtk_widget_get_allocation (widget, &allocation); gdk_pixbuf_composite_color (pixbuf, dest, 0, 0, event->area.width, event->area.height, -event->area.x, -event->area.y, - (double) widget->allocation.width / gdk_pixbuf_get_width (pixbuf), - (double) widget->allocation.height / gdk_pixbuf_get_height (pixbuf), + (double) allocation.width / gdk_pixbuf_get_width (pixbuf), + (double) allocation.height / gdk_pixbuf_get_height (pixbuf), interp_type, overall_alpha, event->area.x, event->area.y, 16, 0xaaaaaa, 0x555555); |