float x_res, y_res;
gint rowstride, bytes;
guchar *pixels = NULL;
+ guchar *p;
GdkPixbuf *pixbuf;
GdkPixbuf *scaled_pixbuf;
GdkPixbuf *rotated_pixbuf;
ORIENTATION_TOPLEFT, 1);
pop_handlers ();
+ /* Convert the format returned by libtiff to
+ * what cairo expects
+ */
+ p = pixels;
+ while (p < pixels + bytes) {
+ uint32 pixel = *(uint32 *)p;
+ int r = TIFFGetR(pixel);
+ int g = TIFFGetG(pixel);
+ int b = TIFFGetB(pixel);
+ int a = TIFFGetA(pixel);
+
+ *p++ = b;
+ *p++ = g;
+ *p++ = r;
+ *p++ = a;
+ }
+
rotated_surface = ev_document_misc_surface_rotate_and_scale (surface,
(width * rc->scale) + 0.5,
(height * rc->scale * (x_res / y_res)) + 0.5,