Home | History | Annotate | Download | only in page
      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_TILINGPATTERN_H_
      8 #define CORE_FPDFAPI_PAGE_CPDF_TILINGPATTERN_H_
      9 
     10 #include <memory>
     11 
     12 #include "core/fpdfapi/page/cpdf_pattern.h"
     13 #include "core/fxcrt/fx_coordinates.h"
     14 #include "core/fxcrt/fx_system.h"
     15 
     16 class CPDF_Document;
     17 class CPDF_Form;
     18 class CPDF_Object;
     19 
     20 class CPDF_TilingPattern : public CPDF_Pattern {
     21  public:
     22   CPDF_TilingPattern(CPDF_Document* pDoc,
     23                      CPDF_Object* pPatternObj,
     24                      const CFX_Matrix& parentMatrix);
     25   ~CPDF_TilingPattern() override;
     26 
     27   CPDF_TilingPattern* AsTilingPattern() override;
     28   CPDF_ShadingPattern* AsShadingPattern() override;
     29 
     30   bool Load();
     31 
     32   bool colored() const { return m_bColored; }
     33   const CFX_FloatRect& bbox() const { return m_BBox; }
     34   float x_step() const { return m_XStep; }
     35   float y_step() const { return m_YStep; }
     36   CPDF_Form* form() const { return m_pForm.get(); }
     37 
     38  private:
     39   bool m_bColored;
     40   CFX_FloatRect m_BBox;
     41   float m_XStep;
     42   float m_YStep;
     43   std::unique_ptr<CPDF_Form> m_pForm;
     44 };
     45 
     46 #endif  // CORE_FPDFAPI_PAGE_CPDF_TILINGPATTERN_H_
     47