summaryrefslogtreecommitdiff
path: root/poppler/OutputDev.h
diff options
context:
space:
mode:
Diffstat (limited to 'poppler/OutputDev.h')
-rw-r--r--poppler/OutputDev.h26
1 files changed, 12 insertions, 14 deletions
diff --git a/poppler/OutputDev.h b/poppler/OutputDev.h
index 9dc052ae..609fa8d5 100644
--- a/poppler/OutputDev.h
+++ b/poppler/OutputDev.h
@@ -40,6 +40,7 @@
#include "Object.h"
#include "PopplerCache.h"
#include "ProfileData.h"
+#include "GfxState.h"
#include <memory>
#include <unordered_map>
#include <string>
@@ -47,21 +48,7 @@
class Annot;
class Dict;
class GooString;
-class GfxState;
class Gfx;
-struct GfxColor;
-class GfxColorSpace;
-#ifdef USE_CMS
-class GfxICCBasedColorSpace;
-#endif
-class GfxImageColorMap;
-class GfxFunctionShading;
-class GfxAxialShading;
-class GfxGouraudTriangleShading;
-class GfxPatchMeshShading;
-class GfxRadialShading;
-class GfxGouraudTriangleShading;
-class GfxPatchMeshShading;
class Stream;
class Links;
class AnnotLink;
@@ -150,6 +137,13 @@ public:
// Dump page contents to display.
virtual void dump() {}
+ virtual void initGfxState (GfxState* state)
+ {
+#ifdef USE_CMS
+ state->setDisplayProfile(displayprofile);
+#endif
+ }
+
//----- coordinate conversion
// Convert between device and user coordinates.
@@ -370,6 +364,8 @@ public:
#endif
#ifdef USE_CMS
+ void setDisplayProfile(const GfxLCMSProfilePtr& profile) { displayprofile = profile; }
+
PopplerCache<Ref, GfxICCBasedColorSpace> *getIccColorSpaceCache() { return &iccColorSpaceCache; }
#endif
@@ -380,6 +376,8 @@ private:
std::unique_ptr<std::unordered_map<std::string, ProfileData>> profileHash;
#ifdef USE_CMS
+ GfxLCMSProfilePtr displayprofile;
+
PopplerCache<Ref, GfxICCBasedColorSpace> iccColorSpaceCache;
#endif
};