Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
idompath.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007-2025 Global Graphics Software Ltd. All rights reserved.
3 */
4
5#ifndef EDLIDOMPATH_H
6#define EDLIDOMPATH_H
7
8#include <edl/edltypes.h>
9#include <edl/edlgeom.h>
10#include <edl/iedlobject.h>
11#include <edl/idomnode.h>
12#include <edl/idomshape.h>
13#include <edl/idombrush.h>
14#include <edl/idomtarget.h>
15#include <edl/edlblend.h>
17#include <edl/idomedgemode.h>
20
22
23class IDOMPathNode;
25
41class IDOMPathNode : public IDOMNode
42{
43 public:
44#define IDOMPathNodeClassID 0xF0E21B7F, 0x89174e0e, 0x90DD88A5, 0x89D6F6BE
49 static const CClassID &classID()
50 {
52 return id;
53 }
54
65
80
93
107 static EDL_API IDOMPathNodePtr createFilled(IEDLClassFactory *pFactory,
108 const IDOMPathGeometryPtr &geometry,
109 const IDOMBrushPtr &brush,
110 const FMatrix renderTransform = FMatrix(),
111 const IDOMPathGeometryPtr &clip = IDOMPathGeometryPtr(),
112 float opacity = 1.0f,
113 eBlendMode blendMode = eBlendModeNormal,
114 eEdgeMode edgeMode = eEMDefault);
115
139 static EDL_API IDOMPathNodePtr createStroked(IEDLClassFactory *pFactory,
140 const IDOMPathGeometryPtr &geometry,
141 const IDOMBrushPtr &brush,
142 const FMatrix renderTransform = FMatrix(),
143 const IDOMPathGeometryPtr &clip = IDOMPathGeometryPtr(),
144 double strokeThickness = 1.0,
145 double miterLimit = 10.0,
147 eStrokeLineCap startCap = eFlatCap,
148 eStrokeLineCap endCap = eFlatCap,
149 eStrokeLineCap dashCap = eFlatCap,
151 double dashOffset = 0.0,
152 const CEDLVector<double> dashPattern = CEDLVector<double>(),
153 bool zeroWidthLinesAreVisible = false,
154 float opacity = 1.0f,
155 eBlendMode blendMode = eBlendModeNormal,
156 eEdgeMode edgeMode = eEMDefault);
157
171 static EDL_API IDOMPathNodePtr createImage(IEDLClassFactory *pFactory,
172 const IDOMImagePtr &image,
173 const FRect &viewPort,
174 const FMatrix &renderTransform = FMatrix());
175
230
237 virtual const FMatrix &getRenderTransform() const = 0;
238
245 virtual void setRenderTransform(const FMatrix &matrix) = 0;
246
255 virtual float getOpacity() const = 0;
256
263 virtual void setOpacity(float opc) = 0;
264
269 virtual eBlendMode getBlendMode() const = 0;
270
277 virtual void setBlendMode(eBlendMode blendMode) = 0;
278
288 virtual eEdgeMode getEdgeMode () const = 0;
289
300 virtual void setEdgeMode (eEdgeMode em) = 0;
301
311 virtual double getStrokeThickness() const = 0;
312
322 virtual void setStrokeThickness(double st) = 0;
323
333 virtual bool getShouldZeroWidthLinesBeVisible() const = 0;
334
340 virtual void setShouldZeroWidthLinesBeVisible(bool visible) = 0;
341
349 virtual double getStrokeMiterLimit() const = 0;
350
358 virtual void setStrokeMiterLimit(double sml) = 0;
359
366
373
381 virtual double getStrokeDashOffset() const = 0;
382
390 virtual void setStrokeDashOffset(double sdo) = 0;
391
401
410 virtual void setStrokeLineJoin(eStrokeLineJoin slj) = 0;
411
418
425
432
438 virtual void setStrokeEndLineCap(eStrokeLineCap slc) = 0;
439
446
453
462 virtual bool getSnapsToDevicePixels() const = 0;
463
472 virtual void setSnapsToDevicePixels(bool s2dp) = 0;
473
485 virtual EDLString getLanguage () const = 0;
486
498 virtual void setLanguage (const EDLString &lang) = 0;
499
504 virtual IDOMTargetPtr getNavigateLink () const = 0;
505
510 virtual void setNavigateLink (const IDOMTargetPtr &target) = 0;
511
522
532 virtual void setAutomationPropertiesName (const EDLString &propname) = 0;
533
544
554 virtual void setAutomationPropertiesHelpText (const EDLString &helptext) = 0;
555
562 virtual bool getIsDashed() = 0;
563
580 virtual const CEDLVector<double> &getStrokeDashPattern () const = 0;
581
599 virtual void setStrokeDashPattern (const CEDLVector<double> &pattern) = 0;
600
606
610 virtual void clearStrokeDashCollection() = 0;
611
616 virtual void addStrokeDash(double value) = 0;
617
622 virtual IDOMBrushPtr getFill() const = 0;
623
628 virtual void setFill(const IDOMBrushPtr &ptrFill) = 0;
629
634 virtual IDOMBrushPtr getStroke() const = 0;
635
640 virtual void setStroke(const IDOMBrushPtr &ptrStroke) = 0;
641
655 virtual IDOMBrushPtr getOpacityMask() const = 0;
656
670 virtual void setOpacityMask(const IDOMBrushPtr &ptrOpacityMask) = 0;
671
676 virtual IDOMPathGeometryPtr getPathData() const = 0;
677
682 virtual void setPathData(const IDOMPathGeometryPtr &ptrPathData) = 0;
683
691 virtual IDOMPathGeometryPtr getClip() const = 0;
692
700 virtual void setClip(const IDOMPathGeometryPtr &ptrClip) = 0;
701
711 virtual IDOMNodePtr split(IEDLClassFactory *pFactory) = 0;
712
720 virtual IDOMShapePtr getShape(const FMatrix &transform, float resolution, IEDLClassFactory *pFactory) = 0;
721
729 virtual bool getFillOverprints() const = 0;
730
738 virtual void setFillOverprints(bool overprint = true) = 0;
739
747 virtual bool getStrokeOverprints() const = 0;
748
756 virtual void setStrokeOverprints(bool overprint = true) = 0;
757
767 virtual bool getOverprintMode() const = 0;
768
778 virtual void setOverprintMode(bool mode = true) = 0;
779
792 virtual bool getStrokeAdjust() const = 0;
793
806 virtual void setStrokeAdjust(bool adjust = true) = 0;
807
820
832 virtual void setRenderingIntent(eRenderingIntent intent) = 0;
833
845
857
858};
859#define edlobj2IDOMPathNode(src) edl_cast((IDOMPathNode *)NULL, src)
860#define dom2IDOMPathNode(src) dom2NodeType<IDOMPathNode, eDOMPathNode>(src)
861
862
864
865#endif /* EDLIDOMPATH_H */
866
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
EDL Object Interface.
Definition iedlobject.h:31
Definition edlvector.h:30
Abstract class providing the interface to basic DOM node functionality. IDOMNode is the base class fo...
Definition idomnode.h:139
bool strokeAdjust
Definition idompath.h:228
eEdgeMode edgeMode
Definition idompath.h:223
IDOMBrushPtr ptrOpacityMask
Definition idompath.h:219
double strokeDashOffset
Definition idompath.h:210
bool overprintMode
Definition idompath.h:225
eStrokeMiterLimitTreatment strokeMiterLimitTreatment
Definition idompath.h:209
bool snapsToDevicePixels
Definition idompath.h:211
float opacity
Definition idompath.h:202
IDOMTargetPtr ptrNavigateLink
Definition idompath.h:216
FMatrix renderTransform
Definition idompath.h:215
IDOMPathGeometryPtr ptrClip
Definition idompath.h:221
IDOMPathGeometryPtr ptrPathData
Definition idompath.h:220
eStrokeLineJoin strokeLineJoin
Definition idompath.h:205
eStrokeLineCap strokeDashLineCap
Definition idompath.h:208
Data()
Definition idompath.h:183
bool zeroWidthLinesAreVisible
Definition idompath.h:224
eBlendMode blendMode
Definition idompath.h:222
bool fillOverprint
Definition idompath.h:226
EDLString automationPropertiesHelpText
Definition idompath.h:214
eStrokeLineCap strokeEndLineCap
Definition idompath.h:207
bool strokeOverprint
Definition idompath.h:227
double miterLimit
Definition idompath.h:204
IDOMBrushPtr ptrStroke
Definition idompath.h:218
double strokeThickness
Definition idompath.h:203
IDOMBrushPtr ptrFill
Definition idompath.h:217
EDLString automationPropertiesName
Definition idompath.h:213
eStrokeLineCap strokeStartLineCap
Definition idompath.h:206
EDLString language
Definition idompath.h:212
Interface to an EDL path node. A path node specifies a geometry that can be filled or stroked with a ...
Definition idompath.h:42
virtual void setClip(const IDOMPathGeometryPtr &ptrClip)=0
Sets the clip geometry.
virtual const FMatrix & getRenderTransform() const =0
Retrieves the render transform matrix. The render transform matrix establishes a new coordinate frame...
virtual void setStrokeOverprints(bool overprint=true)=0
Sets whether or not the stroke should overprint. Overprinting is honored only for rendering,...
static const CClassID & classID()
Retrieves class id of IDOMPathNode.
Definition idompath.h:49
virtual void clearStrokeDashCollection()=0
Clears the stroke dash array.
virtual void addStrokeDash(double value)=0
Append a stroke dash to the stroke dash array.
virtual eStrokeLineCap getStrokeEndLineCap() const =0
Retrieves the line cap type for the end of the stroke.
virtual void setOpacity(float opc)=0
Sets the opacity value of the path. The opacity value defines the uniform transparency of the path....
virtual bool getIsDashed()=0
Checks to see if the path is dashed. Even if a dash array is provided it may still effectively repres...
static EDL_API IDOMPathNodePtr createImage(IEDLClassFactory *pFactory, const IDOMImagePtr &image, const FRect &viewPort, const FMatrix &renderTransform=FMatrix())
Convenience creator for a path containing a rectangular image. Throws an IEDLError on failure.
virtual void setStrokeDashLineCap(eStrokeLineCap slc)=0
Sets the stroke dash line cap.
virtual void setEdgeMode(eEdgeMode em)=0
Sets render the options edge mode of the path.
virtual void setLanguage(const EDLString &lang)=0
Sets default language of the <Path> element and any of its children.
static EDL_API IDOMPathNodePtr createFilled(IEDLClassFactory *pFactory, const IDOMPathGeometryPtr &geometry, const IDOMBrushPtr &brush, const FMatrix renderTransform=FMatrix(), const IDOMPathGeometryPtr &clip=IDOMPathGeometryPtr(), float opacity=1.0f, eBlendMode blendMode=eBlendModeNormal, eEdgeMode edgeMode=eEMDefault)
Simplified creator for a filled path. Throws an IEDLError on failure.
virtual void setStrokeMiterLimitTreatment(eStrokeMiterLimitTreatment treatment)=0
Sets the stroke miter limit treatment. The stroke miter treatment specifies how miters extending beyo...
virtual void setStrokeAdjust(bool adjust=true)=0
Set whether or not any stroke should obey PDF/PS stroke adjust rules. PDF and PostScript support a me...
virtual void setBlendMode(eBlendMode blendMode)=0
Set the blend mode to be used for rendering this path. Note: modes other than Normal are not directly...
virtual eStrokeLineCap getStrokeDashLineCap() const =0
Gets the stroke dash line cap.
static EDL_API IDOMPathNodePtr createStroked(IEDLClassFactory *pFactory, const IDOMPathGeometryPtr &geometry, const IDOMBrushPtr &brush, const FMatrix renderTransform=FMatrix(), const IDOMPathGeometryPtr &clip=IDOMPathGeometryPtr(), double strokeThickness=1.0, double miterLimit=10.0, eStrokeLineJoin join=eMiterJoin, eStrokeLineCap startCap=eFlatCap, eStrokeLineCap endCap=eFlatCap, eStrokeLineCap dashCap=eFlatCap, eStrokeMiterLimitTreatment miterTreatment=eClipLongMiters, double dashOffset=0.0, const CEDLVector< double > dashPattern=CEDLVector< double >(), bool zeroWidthLinesAreVisible=false, float opacity=1.0f, eBlendMode blendMode=eBlendModeNormal, eEdgeMode edgeMode=eEMDefault)
Simplified creator for a stroked path. Throws an IEDLError on failure.
virtual void setRenderingIntent(eRenderingIntent intent)=0
Set or clear the rendering intent for the node. The rendering intent is used whenever the node requir...
virtual eStrokeMiterLimitTreatment getStrokeMiterLimitTreatment() const =0
Retrieves the miter limit treatment for this path. The stroke miter treatment specifies how miters ex...
virtual bool getOverprintMode() const =0
Retrieves whether or not overprint should obey PDF/PS overprint mode semantics. PDF and PostScript su...
virtual IDOMPathGeometryPtr getPathData() const =0
Retrieves a smart pointer to the path geometry node.
virtual eBlackPointCompensation getBlackPointCompensation() const =0
Get the black point compensation for the node. The black point compensation setting is used whenever ...
virtual void setAutomationPropertiesName(const EDLString &propname)=0
Sets the automation properties name of the path.
virtual uint32 getStrokeDashsCount()=0
Retrieves the length of the stroke dash array.
virtual void setNavigateLink(const IDOMTargetPtr &target)=0
Sets the target of a hyperlink.
virtual double getStrokeDashOffset() const =0
Retrieves the stroke dash offset value. This adjusts the start point for repeating the dash array pat...
virtual void setPathData(const IDOMPathGeometryPtr &ptrPathData)=0
Sets the path geometry node.
virtual float getOpacity() const =0
Retrieves the opacity value of the path. The opacity value defines the uniform transparency of the pa...
virtual void setStrokeEndLineCap(eStrokeLineCap slc)=0
Sets the line cap type for the end of the stroke.
virtual EDLString getAutomationPropertiesName() const =0
Retrieves the automation properties name of the path.
virtual IDOMBrushPtr getOpacityMask() const =0
Retrieves the opacity mask for the path.
virtual void setStrokeMiterLimit(double sml)=0
Sets the stroke miter limit. The stroke miter limit is the ratio between the maximum miter length and...
virtual EDLString getAutomationPropertiesHelpText() const =0
Retrieves the automation properties help text of the path.
virtual void setStrokeThickness(double st)=0
Sets stroke thickness The stroke thickness specifies the thickness of a stroke, in units of the effec...
virtual void setSnapsToDevicePixels(bool s2dp)=0
Sets snapsToDevicePixels.
virtual double getStrokeThickness() const =0
Retrieves the stroke thickness. The stroke thickness specifies the thickness of a stroke,...
virtual void setShouldZeroWidthLinesBeVisible(bool visible)=0
Sets whether or not zero width strokes in this path should be rendered visibly as a cosmetic line.
virtual IDOMBrushPtr getFill() const =0
Retrieves the fill brush for the path.
virtual bool getStrokeAdjust() const =0
Get whether or not any stroke should obey PDF/PS stroke adjust rules. PDF and PostScript support a me...
virtual void setStrokeDashPattern(const CEDLVector< double > &pattern)=0
Set the stroke dash array.
virtual const CEDLVector< double > & getStrokeDashPattern() const =0
Retrieves the stroke dash array.
virtual IDOMTargetPtr getNavigateLink() const =0
Retrieves the target of a hyperlink.
virtual eStrokeLineJoin getStrokeLineJoin() const =0
Retrieves the stroke line join value. The stroke line join specifies how a stroke is drawn at a corne...
virtual double getStrokeMiterLimit() const =0
Retrieves the stroke miter limit. The stroke miter limit is the ratio between the maximum miter lengt...
virtual bool getStrokeOverprints() const =0
Retrieves whether or not the stroke should overprint. Overprinting is honored only for rendering,...
virtual void setOpacityMask(const IDOMBrushPtr &ptrOpacityMask)=0
Sets the opacity mask for the path.
virtual eBlendMode getBlendMode() const =0
Get the blend mode to be used for rendering this path.
virtual EDLString getLanguage() const =0
Retrieves the default language of the path node and any of its children.
virtual IDOMBrushPtr getStroke() const =0
Retrieves the stroke brush for the path.
virtual IDOMShapePtr getShape(const FMatrix &transform, float resolution, IEDLClassFactory *pFactory)=0
Get the scan-converted shape of this path.
virtual eRenderingIntent getRenderingIntent() const =0
Get the rendering intent for the node if present. The rendering intent is used whenever the node requ...
virtual void setStrokeDashOffset(double sdo)=0
Sets the stroke dash offset value. This adjusts the start point for repeating the dash array pattern....
virtual eStrokeLineCap getStrokeStartLineCap() const =0
Retrieves the line cap type for the start of the stroke.
virtual void setBlackPointCompensation(eBlackPointCompensation compensation)=0
Set the black point compensation for the node. The black point compensation setting is used whenever ...
virtual void setFillOverprints(bool overprint=true)=0
Sets whether or not the fill should overprint. Overprinting is honored only for rendering,...
virtual IDOMPathGeometryPtr getClip() const =0
Retrieves a smart pointer to the clip geometry node.
virtual void setStrokeLineJoin(eStrokeLineJoin slj)=0
Sets the stroke line join value. The stroke line join specifies how a stroke is drawn at a corner of ...
virtual void setStrokeStartLineCap(eStrokeLineCap slc)=0
Sets the line cap type for the start of the stroke.
virtual void setRenderTransform(const FMatrix &matrix)=0
Sets the render transform matrix. The render transform matrix establishes a new coordinate frame for ...
virtual void setOverprintMode(bool mode=true)=0
Sets whether or not overprint should obey PDF/PS overprint mode semantics. PDF and PostScript support...
virtual void setFill(const IDOMBrushPtr &ptrFill)=0
Sets the fill brush for the path.
virtual bool getFillOverprints() const =0
Retrieves whether or not the fill should overprint. Overprinting is honored only for rendering,...
virtual bool getSnapsToDevicePixels() const =0
Retrieves the snapsToDevicePixels setting.
virtual bool getShouldZeroWidthLinesBeVisible() const =0
Should zero width strokes be visible as cosmetic lines? Zero width lines in XPS files are not visible...
virtual IDOMNodePtr split(IEDLClassFactory *pFactory)=0
If the path represents both a fill and a stroke, separate the fill and stroke into separate paths....
virtual void setAutomationPropertiesHelpText(const EDLString &helptext)=0
Sets the automation properties help text of the path.
virtual void setStroke(const IDOMBrushPtr &ptrStroke)=0
Sets the stroke brush for the path.
virtual eEdgeMode getEdgeMode() const =0
Retrieves render options edge mode of the path.
@ eBevelJoin
Use bevelled joins.
Definition idompath.h:62
@ eMiterJoin
Use mitered joins.
Definition idompath.h:61
@ eRoundJoin
Use rounded joins.
Definition idompath.h:63
@ eTriangleCap
Triangular end caps.
Definition idompath.h:91
@ eRoundCap
Round end caps.
Definition idompath.h:90
@ eSquareCap
Square end caps.
Definition idompath.h:89
@ eFlatCap
Flat end caps.
Definition idompath.h:88
@ eClipLongMiters
Clip long miters.
Definition idompath.h:77
@ eBevelLongMiters
Bevel long miters.
Definition idompath.h:78
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
#define _END_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:110
#define _BEGIN_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:109
std::wstring EDLString
Definition edlstring.h:165
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
unsigned int uint32
Definition edltypes.h:34
#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
eBlackPointCompensation
Black point compensation enumeration.
Definition edlblackpointcompensation.h:17
eRenderingIntent
Rendering intent enumeration.
Definition edlrenderingintent.h:17
eStrokeLineJoin
Specifies the different ways in which the lines in the path could be joined.
Definition idompath.h:60
eStrokeLineCap
Specifies the different types of line end caps available.
Definition idompath.h:87
eStrokeMiterLimitTreatment
Chooses how miters that extend beyond the miter limit should be treated. ClipLongMiters specifies XPS...
Definition idompath.h:76
eEdgeMode
Available options for the RenderOptionsEdgeMode property, which controls anti-aliasing behavior on an...
Definition idomedgemode.h:19
@ eEMDefault
Definition idomedgemode.h:20
#define IDOMPathNodeClassID
Definition idompath.h:44
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211