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 ByteString& csDA) : m_csDA(csDA) {}
     23 
     24   CPDF_DefaultAppearance(const CPDF_DefaultAppearance& cDA) {
     25     m_csDA = cDA.GetStr();
     26   }
     27 
     28   ByteString GetStr() const { return m_csDA; }
     29 
     30   bool HasFont();
     31   ByteString GetFontString();
     32   ByteString GetFont(float* fFontSize);
     33 
     34   bool HasColor(PaintOperation nOperation = PaintOperation::FILL);
     35   ByteString GetColorString(PaintOperation nOperation = PaintOperation::FILL);
     36   void GetColor(int& iColorType,
     37                 float fc[4],
     38                 PaintOperation nOperation = PaintOperation::FILL);
     39   void GetColor(FX_ARGB& color,
     40                 int& iColorType,
     41                 PaintOperation nOperation = PaintOperation::FILL);
     42 
     43   bool HasTextMatrix();
     44   ByteString GetTextMatrixString();
     45   CFX_Matrix GetTextMatrix();
     46 
     47  private:
     48   ByteString m_csDA;
     49 };
     50 
     51 #endif  // CORE_FPDFDOC_CPDF_DEFAULTAPPEARANCE_H_
     52