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_FPDFDOC_CPDF_DEFAULTAPPEARANCE_H_ 8#define CORE_FPDFDOC_CPDF_DEFAULTAPPEARANCE_H_ 9 10#include "core/fpdfdoc/cpdf_defaultappearance.h" 11#include "core/fxcrt/fx_coordinates.h" 12#include "core/fxcrt/fx_string.h" 13#include "core/fxcrt/fx_system.h" 14#include "core/fxge/fx_dib.h" 15 16enum class BorderStyle { SOLID, DASH, BEVELED, INSET, UNDERLINE }; 17enum class PaintOperation { STROKE, FILL }; 18 19class CPDF_DefaultAppearance { 20 public: 21 CPDF_DefaultAppearance() {} 22 explicit CPDF_DefaultAppearance(const CFX_ByteString& csDA) : m_csDA(csDA) {} 23 24 CPDF_DefaultAppearance(const CPDF_DefaultAppearance& cDA) { 25 m_csDA = cDA.GetStr(); 26 } 27 28 CFX_ByteString GetStr() const { return m_csDA; } 29 30 bool HasFont(); 31 CFX_ByteString GetFontString(); 32 void GetFont(CFX_ByteString& csFontNameTag, FX_FLOAT& fFontSize); 33 34 bool HasColor(PaintOperation nOperation = PaintOperation::FILL); 35 CFX_ByteString GetColorString( 36 PaintOperation nOperation = PaintOperation::FILL); 37 void GetColor(int& iColorType, 38 FX_FLOAT fc[4], 39 PaintOperation nOperation = PaintOperation::FILL); 40 void GetColor(FX_ARGB& color, 41 int& iColorType, 42 PaintOperation nOperation = PaintOperation::FILL); 43 44 bool HasTextMatrix(); 45 CFX_ByteString GetTextMatrixString(); 46 CFX_Matrix GetTextMatrix(); 47 48 private: 49 CFX_ByteString m_csDA; 50}; 51 52#endif // CORE_FPDFDOC_CPDF_DEFAULTAPPEARANCE_H_ 53