8#include "PdfPatternDefinition.h"
12 class PODOFO_API PdfPattern :
public PdfDictionaryElement
14 friend class PdfTilingPattern;
15 friend class PdfShadingPattern;
17 PdfPattern(PdfDocument& doc, PdfPatternDefinitionPtr&& definition);
20 const PdfPatternDefinition& GetDefinition()
const {
return *m_Definition; }
26 class PODOFO_API PdfTilingPattern :
public PdfPattern,
public PdfCanvas
28 friend class PdfColouredTilingPattern;
29 friend class PdfUncolouredTilingPattern;
32 PdfTilingPattern(PdfDocument& doc, std::shared_ptr<PdfTilingPatternDefinition>&& definition);
35 const PdfTilingPatternDefinition& GetDefinition()
const;
36 std::shared_ptr<const PdfTilingPatternDefinition> GetDefinitionPtr()
const;
37 inline PdfResources* GetResources() {
return m_Resources.get(); }
38 inline const PdfResources* GetResources()
const {
return m_Resources.get(); }
41 PdfObjectStream& GetOrCreateContentsStream(PdfStreamAppendFlags flags)
override;
42 PdfResources& GetOrCreateResources()
override;
43 PdfObjectStream& ResetContentsStream()
override;
44 void CopyContentsTo(OutputStream& stream)
const override;
45 Corners GetRectRaw()
const override;
46 bool TryGetRotationRadians(
double& teta)
const override;
47 PdfObject* getContentsObject()
override;
48 PdfResources* getResources()
override;
49 PdfDictionaryElement& getElement()
override;
53 PdfElement& GetElement() =
delete;
54 const PdfElement& GetElement()
const =
delete;
55 PdfObject* GetContentsObject() =
delete;
56 const PdfObject* GetContentsObject()
const =
delete;
59 std::unique_ptr<PdfResources> m_Resources;
62 class PODOFO_API PdfColouredTilingPattern final :
public PdfTilingPattern
64 friend class PdfDocument;
67 PdfColouredTilingPattern(PdfDocument& doc, std::shared_ptr<PdfColouredTilingPatternDefinition>&& definition);
70 const PdfColouredTilingPatternDefinition& GetDefinition()
const;
71 std::shared_ptr<const PdfColouredTilingPatternDefinition> GetDefinitionPtr()
const;
74 class PODOFO_API PdfUncolouredTilingPattern final :
public PdfTilingPattern
76 friend class PdfDocument;
79 PdfUncolouredTilingPattern(PdfDocument& doc, std::shared_ptr<PdfUncolouredTilingPatternDefinition>&& definition);
82 const PdfUncolouredTilingPatternDefinition& GetDefinition()
const;
83 std::shared_ptr<const PdfUncolouredTilingPatternDefinition> GetDefinitionPtr()
const;
86 class PODOFO_API PdfShadingPattern final :
public PdfPattern
88 friend class PdfDocument;
91 PdfShadingPattern(PdfDocument& doc, PdfShadingPatternDefinitionPtr&& definition);
94 const PdfShadingPatternDefinition& GetDefinition()
const;
98 class PODOFO_API PdfShadingDictionary final :
public PdfDictionaryElement
100 friend class PdfDocument;
103 PdfShadingDictionary(PdfDocument& doc, PdfShadingDefinitionPtr&& definition);
106 const PdfShadingDefinition& GetDefinition()
const {
return *m_Definition; }
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13
std::shared_ptr< const PdfPatternDefinition > PdfPatternDefinitionPtr
Convenience alias for a constant PdfTilingPatternDefinition shared ptr.
Definition PdfPatternDefinition.h:385
std::shared_ptr< const PdfShadingDefinition > PdfShadingDefinitionPtr
Convenience alias for a constant PdfShadingDefinition shared ptr.
Definition PdfPatternDefinition.h:163
std::shared_ptr< const PdfShadingPatternDefinition > PdfShadingPatternDefinitionPtr
Convenience alias for a constant PdfShadingPatternDefinition shared ptr.
Definition PdfPatternDefinition.h:391