5#ifndef PDF_XOBJECT_FORM_H
6#define PDF_XOBJECT_FORM_H
10#include "PdfResources.h"
16class PODOFO_API PdfXObjectForm final :
public PdfXObject,
public PdfCanvas
18 friend class PdfDocument;
19 friend class PdfXObject;
20 friend class PdfAnnotation;
28 PdfXObjectForm(PdfDocument& doc,
const Rect& rect);
37 void FillFromPage(
const PdfPage& page,
bool useTrimBox =
false);
40 PdfResources& GetOrCreateResources()
override;
42 Rect GetRect()
const override;
46 void SetRect(
const Rect& rect);
48 void SetMatrix(
const Matrix& m);
50 const Matrix& GetMatrix()
const override;
53 inline PdfResources* GetResources() {
return m_Resources.get(); }
54 inline const PdfResources* GetResources()
const {
return m_Resources.get(); }
57 const PdfXObjectForm* GetForm()
const override;
60 PdfXObjectForm(PdfObject& obj);
63 bool TryGetRotationRadians(
double& teta)
const override;
64 Corners GetRectRaw()
const override;
65 PdfObject* getContentsObject()
override;
66 PdfResources* getResources()
override;
67 PdfDictionaryElement& getElement()
override;
68 PdfObjectStream& GetOrCreateContentsStream(PdfStreamAppendFlags flags)
override;
69 PdfObjectStream& ResetContentsStream()
override;
70 void CopyContentsTo(OutputStream& stream)
const override;
71 void initXObject(
const Rect& rect);
75 PdfElement& GetElement() =
delete;
76 const PdfElement& GetElement()
const =
delete;
77 PdfObject* GetContentsObject() =
delete;
78 const PdfObject* GetContentsObject()
const =
delete;
83 std::unique_ptr<PdfResources> m_Resources;
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13