diff options
Diffstat (limited to 'core/fpdfapi/fpdf_page/cpdf_colorstate.h')
-rw-r--r-- | core/fpdfapi/fpdf_page/cpdf_colorstate.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/core/fpdfapi/fpdf_page/cpdf_colorstate.h b/core/fpdfapi/fpdf_page/cpdf_colorstate.h index b412947183..128d67558d 100644 --- a/core/fpdfapi/fpdf_page/cpdf_colorstate.h +++ b/core/fpdfapi/fpdf_page/cpdf_colorstate.h @@ -9,8 +9,40 @@ #include "core/fpdfapi/fpdf_page/cpdf_colorstatedata.h" #include "core/fxcrt/include/cfx_count_ref.h" +#include "core/fxcrt/include/fx_basic.h" +#include "core/fxcrt/include/fx_system.h" + +class CPDF_Color; +class CPDF_ColorSpace; +class CPDF_Pattern; class CPDF_ColorState : public CFX_CountRef<CPDF_ColorStateData> { + public: + const CPDF_Color* GetFillColor() const { + const CPDF_ColorStateData* pData = GetObject(); + return pData ? &pData->m_FillColor : nullptr; + } + + const CPDF_Color* GetStrokeColor() const { + const CPDF_ColorStateData* pData = GetObject(); + return pData ? &pData->m_StrokeColor : nullptr; + } + + void SetFillColor(CPDF_ColorSpace* pCS, FX_FLOAT* pValue, uint32_t nValues); + void SetStrokeColor(CPDF_ColorSpace* pCS, FX_FLOAT* pValue, uint32_t nValues); + void SetFillPattern(CPDF_Pattern* pattern, + FX_FLOAT* pValue, + uint32_t nValues); + void SetStrokePattern(CPDF_Pattern* pattern, + FX_FLOAT* pValue, + uint32_t nValues); + + private: + void SetColor(CPDF_Color& color, + uint32_t& rgb, + CPDF_ColorSpace* pCS, + FX_FLOAT* pValue, + uint32_t nValues); }; #endif // CORE_FPDFAPI_FPDF_PAGE_CPDF_COLORSTATE_H_ |