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 <vector> 11 12 #include "core/fpdfapi/page/cpdf_graphicstates.h" 13 #include "core/fxcrt/bytestring.h" 14 #include "core/fxcrt/fx_coordinates.h" 15 16 class CPDF_Array; 17 class CPDF_Dictionary; 18 class CPDF_StreamContentParser; 19 20 class CPDF_AllStates final : public CPDF_GraphicStates { 21 public: 22 CPDF_AllStates(); 23 ~CPDF_AllStates() override; 24 25 void Copy(const CPDF_AllStates& src); 26 void ProcessExtGS(const CPDF_Dictionary* pGS, 27 CPDF_StreamContentParser* pParser); 28 void SetLineDash(const CPDF_Array* pArray, float phase, float scale); 29 30 std::vector<ByteString> m_GraphicsResourceNames; 31 CFX_Matrix m_TextMatrix; 32 CFX_Matrix m_CTM; 33 CFX_Matrix m_ParentMatrix; 34 CFX_PointF m_TextPos; 35 CFX_PointF m_TextLinePos; 36 float m_TextLeading = 0.0f; 37 float m_TextRise = 0.0f; 38 float m_TextHorzScale = 1.0f; 39 }; 40 41 #endif // CORE_FPDFAPI_PAGE_CPDF_ALLSTATES_H_ 42