Home | History | Annotate | Download | only in fpdfdoc
      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 
     16 enum class BorderStyle { SOLID, DASH, BEVELED, INSET, UNDERLINE };
     17 enum class PaintOperation { STROKE, FILL };
     18 
     19 class 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