+ GdkPixbuf *pixbuf = bitmap.GetPixbuf();
+ guchar *raw_image = gdk_pixbuf_get_pixels( pixbuf );
+ bool has_alpha = gdk_pixbuf_get_has_alpha( pixbuf );
+ int rowstride = gdk_pixbuf_get_rowstride( pixbuf );
+ int height = gdk_pixbuf_get_height( pixbuf );
+ int width = gdk_pixbuf_get_width( pixbuf );
+
+ gnome_print_gsave( m_gpc );
+ double matrix[6];
+ matrix[0] = XLOG2DEVREL(width);
+ matrix[1] = 0;
+ matrix[2] = 0;
+ matrix[3] = YLOG2DEVREL(height);
+ matrix[4] = XLOG2DEV(x);
+ matrix[5] = YLOG2DEV(y+height);
+ gnome_print_concat( m_gpc, matrix );
+ gnome_print_moveto( m_gpc, 0, 0 );
+ if (has_alpha)
+ gnome_print_rgbaimage( m_gpc, (guchar *)raw_image, width, height, rowstride );
+ else
+ gnome_print_rgbimage( m_gpc, (guchar *)raw_image, width, height, rowstride );
+ gnome_print_grestore( m_gpc );