+gboolean
+queue (gpointer data)
+{
+ gtk_widget_queue_draw (GTK_WIDGET (data));
+ return TRUE;
+}
+
+gboolean
+expose (GtkWidget *widget, GdkEventExpose *event, gpointer data)
+{
+ GdkPixbuf *picture;
+ GdkPixbuf *screen;
+ picture = (GdkPixbuf *) data;
+ screen = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8,
+ event->area.width, event->area.height);
+ gdk_pixbuf_scale (picture, screen, 0, 0,
+ event->area.width, event->area.height,
+ -event->area.x, -event->area.y,
+ 4.0, 4.0, GDK_INTERP_HYPER);
+ gdk_draw_pixbuf (widget->window, NULL, screen, 0, 0, 0, 0, -1, -1,
+ GDK_RGB_DITHER_NONE, 0, 0);
+ gdk_pixbuf_unref (screen);
+ return FALSE;
+}
+