summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_page/cpdf_colorstate.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/fpdf_page/cpdf_colorstate.h')
-rw-r--r--core/fpdfapi/fpdf_page/cpdf_colorstate.h32
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_