1 // Copyright 2016 PDFium Authors. All rights reserved. 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/fx_coordinates.h" 12 #include "core/fxcrt/fx_system.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(CPDF_Dictionary* pGS, CPDF_StreamContentParser* pParser); 25 void SetLineDash(const CPDF_Array* pArray, float phase, float scale); 26 27 CFX_Matrix m_TextMatrix; 28 CFX_Matrix m_CTM; 29 CFX_Matrix m_ParentMatrix; 30 CFX_PointF m_TextPos; 31 CFX_PointF m_TextLinePos; 32 float m_TextLeading = 0.0f; 33 float m_TextRise = 0.0f; 34 float m_TextHorzScale = 1.0f; 35 }; 36 37 #endif // CORE_FPDFAPI_PAGE_CPDF_ALLSTATES_H_ 38