Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/ps/ps-document.c
diff options
context:
space:
mode:
authorMarco 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)
commit34af9d3d79512725f33a28299f92f39997290181 (patch)
tree1154205a6f0c0b1b31432f5d9f0422e56f57de6f /ps/ps-document.c
parent79986dda7231d1ef1c530909bde8e18a507a2a2a (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.c32
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