diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2005-06-14 21:28:47 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@src.gnome.org> | 2005-06-14 21:28:47 (GMT) |
commit | 34af9d3d79512725f33a28299f92f39997290181 (patch) | |
tree | 1154205a6f0c0b1b31432f5d9f0422e56f57de6f /ps/ps-document.c | |
parent | 79986dda7231d1ef1c530909bde8e18a507a2a2a (diff) |
Implement orientation here too
2005-06-14 Marco Pesenti Gritti <mpg@redhat.com>
* ps/gstypes.h:
* ps/ps-document.c: (ps_document_init), (get_page_orientation),
(ps_document_set_orientation), (ps_document_document_iface_init):
* ps/ps-document.h:
Implement orientation here too
* shell/ev-properties.c: (ev_properties_new):
* data/evince-properties.glade:
Hide the fonts page for backends that doesnt
support it.
Diffstat (limited to 'ps/ps-document.c')
-rw-r--r-- | ps/ps-document.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/ps/ps-document.c b/ps/ps-document.c index 31bb082..83fa3d9 100644 --- a/ps/ps-document.c +++ b/ps/ps-document.c @@ -137,6 +137,8 @@ ps_document_init (PSDocument *gs) gs->ps_export_pagelist = NULL; gs->ps_export_filename = NULL; + + gs->orientation = GTK_GS_ORIENTATION_NONE; } static void @@ -441,6 +443,9 @@ get_page_orientation (PSDocument *gs, int page) if (orientation == GTK_GS_ORIENTATION_NONE) { orientation = GTK_GS_ORIENTATION_PORTRAIT; } + if (gs->orientation != GTK_GS_ORIENTATION_NONE) { + orientation = gs->orientation; + } return orientation; } @@ -1237,6 +1242,32 @@ ps_document_get_info (EvDocument *document) } static void +ps_document_set_orientation (EvDocument *document, EvOrientation orientation) +{ + PSDocument *ps = PS_DOCUMENT (document); + + g_return_if_fail (ps != NULL); + + switch (orientation) { + case EV_ORIENTATION_DOCUMENT: + ps->orientation = GTK_GS_ORIENTATION_NONE; + break; + case EV_ORIENTATION_PORTRAIT: + ps->orientation = GTK_GS_ORIENTATION_PORTRAIT; + break; + case EV_ORIENTATION_LANDSCAPE: + ps->orientation = GTK_GS_ORIENTATION_LANDSCAPE; + break; + case EV_ORIENTATION_UPSIDEDOWN: + ps->orientation = GTK_GS_ORIENTATION_UPSIDEDOWN; + break; + case EV_ORIENTATION_SEASCAPE: + ps->orientation = GTK_GS_ORIENTATION_SEASCAPE; + break; + } +} + +static void ps_document_document_iface_init (EvDocumentIface *iface) { iface->load = ps_document_load; @@ -1245,6 +1276,7 @@ ps_document_document_iface_init (EvDocumentIface *iface) iface->get_n_pages = ps_document_get_n_pages; iface->get_page_size = ps_document_get_page_size; iface->get_info = ps_document_get_info; + iface->set_orientation = ps_document_set_orientation; } static void |