Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
idomform.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2007-2025 Global Graphics Software Ltd. All rights reserved.
3*/
4
16
17#ifndef EDLIDOMFORM_H
18#define EDLIDOMFORM_H
19
20#include <edl/edlblend.h>
21#include <edl/idomnode.h>
22#include <edl/idombrush.h>
23#include <edl/edlnamespaces.h>
24#include <jawsmako/types.h>
25
27
28class IDOMForm;
32
33
34
40class IDOMForm : public IDOMNode
41{
42#define IDOMFormClassID 0x62c7232c, 0x75c94156, 0x98f44bff, 0xef34d062
43public:
44
54 static EDL_API IDOMFormPtr create(IEDLClassFactory *pFactory,
55 const FMatrix &matrix = FMatrix(),
56 const FRect &bounds = FRect(),
57 const JawsMako::IPDFDictionaryPtr &propertiesDictionary = JawsMako::IPDFDictionaryPtr());
58
63 static const CClassID &classID()
64 {
65 static CClassID id(IDOMFormClassID);
66 return id;
67 };
68
72 class Data : public CClassParams
73 {
74 public:
75 Data() : matrix(1.0, 0.0, 0.0, 1.0, 0.0, 0.0), bounds(0, 0, 0, 0) {}
78 JawsMako::IPDFDictionaryPtr propertiesDictionary;
79 };
80
92 virtual DOMid getFormId() const = 0;
93
99 virtual const FMatrix &getMatrix() const = 0;
100
106 virtual void setMatrix(const FMatrix &matrix) = 0;
107
112 virtual void setBounds(const FRect &bounds) = 0;
113
119 virtual JawsMako::IStructureElementReferencePtr getStructureElementReference() const = 0;
120
126 virtual void setStructureElementReference(const JawsMako::IStructureElementReferencePtr &elementRef) = 0;
127
148 virtual JawsMako::IPDFDictionaryPtr getPdfPropertiesDictionary() const = 0;
149
156 virtual void setPdfPropertiesDictionary(const JawsMako::IPDFDictionaryPtr &propertiesDictionary) = 0;
157};
158#define edlobj2IDOMForm(src) edl_cast((IDOMForm *)NULL, src)
159#define dom2IDOMForm(src) dom2NodeType<IDOMForm, eDOMFormNode>(src)
160
167{
168#define IDOMFormInstanceClassID 0x2748dfc4, 0x3a0c43e2, 0x904e135b, 0xbec65b36
169public:
170
179 static EDL_API IDOMFormInstancePtr create(IEDLClassFactory *pFactory,
180 const IDOMFormPtr &form,
181 const FMatrix &renderTransform = FMatrix());
186 static const CClassID &classID()
187 {
189 return id;
190 };
191
196 class Data : public CClassParams
197 {
198 public:
201 IDOMFormPtr form;
202 IDOMBrushPtr opacityMask;
204 float opacity;
205 };
206
207
212 virtual float getOpacity() const = 0;
213
218 virtual void setOpacity(float opacity) = 0;
219
224 virtual const FMatrix &getRenderTransform() const = 0;
225
230 virtual void setRenderTransform(const FMatrix &renderTransform) = 0;
231
236 virtual IDOMFormPtr getForm() const = 0;
237
242 virtual void setForm(const IDOMFormPtr &form) = 0;
243
248 virtual eBlendMode getBlendMode() const = 0;
249
254 virtual void setBlendMode(eBlendMode blendMode) = 0;
255
260 virtual IDOMBrushPtr getOpacityMask() const = 0;
261
266 virtual void setOpacityMask(const IDOMBrushPtr &ptrOpacityMask) = 0;
267};
268#define edlobj2IDOMFormInstance(src) edl_cast((IDOMFormInstance *)NULL, src)
269#define dom2IDOMFormInstance(src) dom2NodeType<IDOMFormInstance, eDOMFormInstanceNode>(src)
270
272
273#endif /* EDLIDOMFORM_H */
274
275
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
EDL Object Interface.
Definition iedlobject.h:31
JawsMako::IPDFDictionaryPtr propertiesDictionary
Definition idomform.h:78
FMatrix matrix
Definition idomform.h:76
FRect bounds
Definition idomform.h:77
Data()
Definition idomform.h:75
Interface to DOM node representing PDF-style Form XObjects.
Definition idomform.h:41
static EDL_API IDOMFormPtr create(IEDLClassFactory *pFactory, const FMatrix &matrix=FMatrix(), const FRect &bounds=FRect(), const JawsMako::IPDFDictionaryPtr &propertiesDictionary=JawsMako::IPDFDictionaryPtr())
Simplified creation function for IDOMForm. Throws an IEDLError exception on failure.
static const CClassID & classID()
Retrieves class id of IDOMForm.
Definition idomform.h:63
virtual void setStructureElementReference(const JawsMako::IStructureElementReferencePtr &elementRef)=0
Set the JawsMako logical structure element reference to be associated with this form,...
virtual void setPdfPropertiesDictionary(const JawsMako::IPDFDictionaryPtr &propertiesDictionary)=0
Set the dictionary containing PDF properties attached to the form object. Please see getPdfProperties...
virtual JawsMako::IStructureElementReferencePtr getStructureElementReference() const =0
Get the JawsMako Logical structure element reference associated with this form.
virtual const FMatrix & getMatrix() const =0
Retrieves the Matrix of the form contents (equivalent to the /Matrix entry in a PDF/PS form dictionar...
virtual void setMatrix(const FMatrix &matrix)=0
Sets the Matrix of the form contents (equivalent to the /Matrix entry in a PDF/PS form dictionary).
virtual void setBounds(const FRect &bounds)=0
Sets the form bounding box.
virtual JawsMako::IPDFDictionaryPtr getPdfPropertiesDictionary() const =0
Get the dictionary containing PDF properties attached to the form object. This dictionary will be as ...
virtual DOMid getFormId() const =0
Obtain the uique DOMid of this form.
IDOMBrushPtr opacityMask
Definition idomform.h:202
Data()
Definition idomform.h:199
eBlendMode blendMode
Definition idomform.h:203
float opacity
Definition idomform.h:204
FMatrix renderTransform
Definition idomform.h:200
IDOMFormPtr form
Definition idomform.h:201
IDOMFormInstance interface. This describes an instance of an IDOMForm in a DOM tree.
Definition idomform.h:167
virtual void setForm(const IDOMFormPtr &form)=0
Sets the Form associated with this instance.
virtual void setOpacityMask(const IDOMBrushPtr &ptrOpacityMask)=0
Sets the opacity mask.
virtual eBlendMode getBlendMode() const =0
Get the blend mode to be used for compositing this form.
virtual void setBlendMode(eBlendMode blendMode)=0
Set the blend mode to be used for compositing this form.
static const CClassID & classID()
Retrieves class id of IDOMForm.
Definition idomform.h:186
static EDL_API IDOMFormInstancePtr create(IEDLClassFactory *pFactory, const IDOMFormPtr &form, const FMatrix &renderTransform=FMatrix())
Simplified creation function for IDOMFormInstance. Throws an IEDLError exception on failure.
virtual float getOpacity() const =0
Get the form alpha/opacity.
virtual void setRenderTransform(const FMatrix &renderTransform)=0
Retrieves render transform applied to this instance of the form.
virtual IDOMFormPtr getForm() const =0
Retrieves the Form associated with this instance.
virtual void setOpacity(float opacity)=0
Set the form alpha/opacity.
virtual IDOMBrushPtr getOpacityMask() const =0
Retrieves smart pointer to opacity mask.
virtual const FMatrix & getRenderTransform() const =0
Retrieves render transform applied to this instance of the form.
Abstract class providing the interface to basic DOM node functionality. IDOMNode is the base class fo...
Definition idomnode.h:139
EDL Factory Interface allows one part of the EDL infrastructure to register class creation methods id...
Definition iedlfactory.h:31
CTransformMatrix< double > FMatrix
Definition edlgeom.h:1208
RectTmpl< double > FRect
Definition edlgeom.h:338
EDL C++ namespace(s)
#define _END_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:110
#define _BEGIN_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:109
#define EDL_API
Definition edltypes.h:86
eBlendMode
An enum for transparency blend modes.
Definition edlblend.h:25
@ eBlendModeNormal
Selects the source color, ignoring the backdrop.
Definition edlblend.h:27
EDL::uint64 DOMid
Type used to uniquely idenitify a DOM node.
Definition idomid.h:17
#define IDOMFormClassID
Definition idomform.h:42
#define IDOMFormInstanceClassID
Definition idomform.h:168
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211