Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tiff
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2005-07-29 14:17:57 (GMT)
committer Marco Pesenti Gritti <marco@src.gnome.org>2005-07-29 14:17:57 (GMT)
commit96ab01a78dafd62f121b11010a9857cbd9a7922c (patch)
tree7434b3a318aa57d7face694144efed048ba17e68 /tiff
parent596c9107204be24ac45fa02cc0cb59c238e09111 (diff)
Really make use of the orientation bit of the render context. Use the
2005-07-29 Marco Pesenti Gritti <mpg@redhat.com> * backend/ev-document-thumbnails.c: (ev_document_thumbnails_get_thumbnail): * backend/ev-document-thumbnails.h: * backend/ev-document.c: * backend/ev-document.h: * backend/ev-ps-exporter.c: (ev_ps_exporter_do_page): * backend/ev-ps-exporter.h: * pdf/ev-poppler.cc: * ps/ps-document.c: (ps_document_document_iface_init), (ps_document_ps_export_do_page): * shell/ev-jobs.c: (ev_job_thumbnail_new), (ev_job_thumbnail_run): * shell/ev-jobs.h: * shell/ev-page-cache.c: (ev_page_cache_get_size), (ev_page_cache_get): * shell/ev-page-cache.h: * shell/ev-pixbuf-cache.c: (check_job_size_and_unref), (add_job_if_needed), (ev_pixbuf_cache_add_jobs_if_needed), (ev_pixbuf_cache_set_page_range), (new_selection_pixbuf_needed): * shell/ev-pixbuf-cache.h: * shell/ev-print-job.c: (idle_print_handler): * shell/ev-sidebar-thumbnails.c: (add_range): * shell/ev-view.c: (view_update_range_and_current_page), (get_page_extents), (ev_view_size_request_dual_page), (ev_view_size_request_single_page), (draw_one_page), (clear_caches), (ev_view_set_orientation), (ev_view_rotate_right), (ev_view_rotate_left), (ev_view_zoom_for_size_presentation), (ev_view_zoom_for_size_dual_page), (ev_view_zoom_for_size_single_page), (compute_new_selection_text), (ev_view_select_all): * thumbnailer/evince-thumbnailer.c: (evince_thumbnail_pngenc_get): * tiff/tiff-document.c: (tiff_document_get_page_size), (tiff_document_get_orientation), (rotate_pixbuf), (tiff_document_render_pixbuf), (tiff_document_document_iface_init), (tiff_document_thumbnails_get_thumbnail), (tiff_document_ps_export_do_page), (tiff_document_init): Really make use of the orientation bit of the render context. Use the render context in a few more places in the backend API. This regress orientation, but now it's done right. Will try to fix it up asap...
Diffstat (limited to 'tiff')
-rw-r--r--tiff/tiff-document.c38
1 files changed, 10 insertions, 28 deletions
diff --git a/tiff/tiff-document.c b/tiff/tiff-document.c
index aef7aaa..aba8851 100644
--- a/tiff/tiff-document.c
+++ b/tiff/tiff-document.c
@@ -41,7 +41,6 @@ struct _TiffDocument
TIFF *tiff;
gint n_pages;
- EvOrientation orientation;
TIFF2PSContext *ps_export_ctx;
};
@@ -171,40 +170,24 @@ tiff_document_get_page_size (EvDocument *document,
TIFFGetField (tiff_document->tiff, TIFFTAG_YRESOLUTION, &y_res);
h = h * (x_res / y_res);
- if (tiff_document->orientation == EV_ORIENTATION_PORTRAIT ||
- tiff_document->orientation == EV_ORIENTATION_UPSIDEDOWN) {
- *width = w;
- *height = h;
- } else {
- *width = h;
- *height = w;
- }
+ *width = w;
+ *height = h;
+
pop_handlers ();
}
static EvOrientation
tiff_document_get_orientation (EvDocument *document)
{
- TiffDocument *tiff_document = TIFF_DOCUMENT (document);
-
- return tiff_document->orientation;
-}
-
-static void
-tiff_document_set_orientation (EvDocument *document,
- EvOrientation orientation)
-{
- TiffDocument *tiff_document = TIFF_DOCUMENT (document);
-
- tiff_document->orientation = orientation;
+ return EV_ORIENTATION_PORTRAIT;
}
static GdkPixbuf *
-rotate_pixbuf (EvDocument *document, GdkPixbuf *pixbuf)
+rotate_pixbuf (EvDocument *document, EvOrientation orientation, GdkPixbuf *pixbuf)
{
TiffDocument *tiff_document = TIFF_DOCUMENT (document);
- switch (tiff_document->orientation)
+ switch (orientation)
{
case EV_ORIENTATION_LANDSCAPE:
return gdk_pixbuf_rotate_simple (pixbuf, 90);
@@ -298,7 +281,7 @@ tiff_document_render_pixbuf (EvDocument *document,
GDK_INTERP_BILINEAR);
g_object_unref (pixbuf);
- rotated_pixbuf = rotate_pixbuf (document, scaled_pixbuf);
+ rotated_pixbuf = rotate_pixbuf (document, rc->orientation, scaled_pixbuf);
g_object_unref (scaled_pixbuf);
return rotated_pixbuf;
@@ -350,12 +333,12 @@ tiff_document_document_iface_init (EvDocumentIface *iface)
iface->render_pixbuf = tiff_document_render_pixbuf;
iface->get_info = tiff_document_get_info;
iface->get_orientation = tiff_document_get_orientation;
- iface->set_orientation = tiff_document_set_orientation;
}
static GdkPixbuf *
tiff_document_thumbnails_get_thumbnail (EvDocumentThumbnails *document,
gint page,
+ EvOrientation orientation,
gint size,
gboolean border)
{
@@ -420,13 +403,13 @@ tiff_document_ps_export_begin (EvPSExporter *exporter, const char *filename,
}
static void
-tiff_document_ps_export_do_page (EvPSExporter *exporter, int page)
+tiff_document_ps_export_do_page (EvPSExporter *exporter, EvRenderContext *rc)
{
TiffDocument *document = TIFF_DOCUMENT (exporter);
if (document->ps_export_ctx == NULL)
return;
- if (TIFFSetDirectory (document->tiff, page) != 1)
+ if (TIFFSetDirectory (document->tiff, rc->page) != 1)
return;
tiff2ps_process_page (document->ps_export_ctx, document->tiff,
0, 0, 0, 0, 0);
@@ -454,5 +437,4 @@ static void
tiff_document_init (TiffDocument *tiff_document)
{
tiff_document->n_pages = -1;
- tiff_document->orientation = EV_ORIENTATION_PORTRAIT;
}