diff options
Diffstat (limited to 'poppler/OutputDev.h')
-rw-r--r-- | poppler/OutputDev.h | 26 |
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 }; |