7#ifndef PDF_XOBJECT_FORM_H
8#define PDF_XOBJECT_FORM_H
10#include "PdfXObject.h"
12#include "PdfResources.h"
18class PODOFO_API PdfXObjectForm final :
public PdfXObject,
public PdfCanvas
20 friend class PdfDocument;
21 friend class PdfXObject;
22 friend class PdfAnnotation;
31 PdfXObjectForm(PdfDocument& doc,
const Rect& rect);
40 void FillFromPage(
const PdfPage& page,
bool useTrimBox =
false);
43 PdfResources& GetOrCreateResources()
override;
45 Rect GetRect()
const override;
50 void SetRect(
const Rect& rect);
52 void SetMatrix(
const Matrix& m);
54 const Matrix& GetMatrix()
const override;
57 inline PdfResources* GetResources() {
return m_Resources.get(); }
58 inline const PdfResources* GetResources()
const {
return m_Resources.get(); }
61 const PdfXObjectForm* GetForm()
const override;
64 PdfXObjectForm(PdfObject& obj);
67 bool TryGetRotationRadians(
double& teta)
const override;
68 Corners GetRectRaw()
const override;
69 PdfObject* getContentsObject()
override;
70 PdfResources* getResources()
override;
71 PdfDictionaryElement& getElement()
override;
72 PdfObjectStream& GetOrCreateContentsStream(PdfStreamAppendFlags flags)
override;
73 PdfObjectStream& ResetContentsStream()
override;
74 void CopyContentsTo(OutputStream& stream)
const override;
75 void initXObject(
const Rect& rect);
76 void initAfterPageInsertion(
const PdfPage& page);
80 PdfElement& GetElement() =
delete;
81 const PdfElement& GetElement()
const =
delete;
82 PdfObject* GetContentsObject() =
delete;
83 const PdfObject* GetContentsObject()
const =
delete;
88 std::unique_ptr<PdfResources> m_Resources;
SPDX-FileCopyrightText: (C) 2022 Francesco Pretto ceztko@gmail.com SPDX-License-Identifier: LGPL-2....
Definition basetypes.h:16