poppler/Catalog.cc | 1 + poppler/ViewerPreferences.cc | 24 ++++++++++++++++++++++++ poppler/ViewerPreferences.h | 14 ++++++++++++++ 3 files changed, 39 insertions(+)
New commits: commit 74ec81d66d4d5bc45cccc4aa8794df1c517f2d74 Author: Pino Toscano <[email protected]> Date: Tue Mar 29 11:07:36 2011 +0200 viewer preferences: read PrintScaling and Duplex diff --git a/poppler/ViewerPreferences.cc b/poppler/ViewerPreferences.cc index bf78db8..cba8d0a 100644 --- a/poppler/ViewerPreferences.cc +++ b/poppler/ViewerPreferences.cc @@ -74,6 +74,28 @@ ViewerPreferences::ViewerPreferences(Dict *prefDict) } } obj.free(); + + if (prefDict->lookup("PrintScaling", &obj)->isName()) { + const char *ps = obj.getName(); + if (!strcmp(ps, "None")) { + printScaling = printScalingNone; + } else if (!strcmp(ps, "AppDefault")) { + printScaling = printScalingAppDefault; + } + } + obj.free(); + + if (prefDict->lookup("Duplex", &obj)->isName()) { + const char *d = obj.getName(); + if (!strcmp(d, "Simplex")) { + duplex = duplexSimplex; + } else if (!strcmp(d, "DuplexFlipShortEdge")) { + duplex = duplexDuplexFlipShortEdge; + } else if (!strcmp(d, "DuplexFlipLongEdge")) { + duplex = duplexDuplexFlipLongEdge; + } + } + obj.free(); } ViewerPreferences::~ViewerPreferences() @@ -90,4 +112,6 @@ void ViewerPreferences::init() displayDocTitle = gFalse; nonFullScreenPageMode = nfpmUseNone; direction = directionL2R; + printScaling = printScalingAppDefault; + duplex = duplexNone; } diff --git a/poppler/ViewerPreferences.h b/poppler/ViewerPreferences.h index 147e999..ecc5fa3 100644 --- a/poppler/ViewerPreferences.h +++ b/poppler/ViewerPreferences.h @@ -32,6 +32,16 @@ public: directionL2R, directionR2L }; + enum PrintScaling { + printScalingNone, + printScalingAppDefault + }; + enum Duplex { + duplexNone, + duplexSimplex, + duplexDuplexFlipShortEdge, + duplexDuplexFlipLongEdge + }; ViewerPreferences(Dict *prefDict); ~ViewerPreferences(); @@ -44,6 +54,8 @@ public: GBool getDisplayDocTitle() const { return displayDocTitle; } NonFullScreenPageMode getNonFullScreenPageMode() const { return nonFullScreenPageMode; } Direction getDirection() const { return direction; } + PrintScaling getPrintScaling() const { return printScaling; } + Duplex getDuplex() const { return duplex; } private: @@ -57,6 +69,8 @@ private: GBool displayDocTitle; NonFullScreenPageMode nonFullScreenPageMode; Direction direction; + PrintScaling printScaling; + Duplex duplex; }; #endif commit b41bcd484dd7a93a339270926c57caa524059d8f Author: Pino Toscano <[email protected]> Date: Tue Mar 29 10:58:46 2011 +0200 free the viewerPreferences Object diff --git a/poppler/Catalog.cc b/poppler/Catalog.cc index cb41e92..174fd51 100644 --- a/poppler/Catalog.cc +++ b/poppler/Catalog.cc @@ -170,6 +170,7 @@ Catalog::~Catalog() { structTreeRoot.free(); outline.free(); acroForm.free(); + viewerPreferences.free(); } GooString *Catalog::readMetadata() { _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
