1 // Copyright 2016 The PDFium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef CORE_FPDFAPI_PAGE_CPDF_ALLSTATES_H_ 8 #define CORE_FPDFAPI_PAGE_CPDF_ALLSTATES_H_ 9 10 #include "core/fpdfapi/page/cpdf_graphicstates.h" 11 #include "core/fxcrt/bytestring.h" 12 #include "core/fxcrt/fx_coordinates.h" 13 14 class CPDF_Array; 15 class CPDF_Dictionary; 16 class CPDF_StreamContentParser; 17 18 class CPDF_AllStates final : public CPDF_GraphicStates { 19 public: 20 CPDF_AllStates(); 21 ~CPDF_AllStates() override; 22 23 void Copy(const CPDF_AllStates& src); 24 void ProcessExtGS(const CPDF_Dictionary* pGS, 25 CPDF_StreamContentParser* pParser); 26 void SetLineDash(const CPDF_Array* pArray, float phase, float scale); 27 28 ByteString m_GraphicsResourceName; 29 CFX_Matrix m_TextMatrix; 30 CFX_Matrix m_CTM; 31 CFX_Matrix m_ParentMatrix; 32 CFX_PointF m_TextPos; 33 CFX_PointF m_TextLinePos; 34 float m_TextLeading = 0.0f; 35 float m_TextRise = 0.0f; 36 float m_TextHorzScale = 1.0f; 37 }; 38 39 #endif // CORE_FPDFAPI_PAGE_CPDF_ALLSTATES_H_ 40