Mako 8.4.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
idompath.h
Go to the documentation of this file.
1/*
2 * idompath.h
3 *
4 * Copyright (C) 2007-2026 Hybrid Software Helix Ltd. All rights reserved.
5 */
6
7#ifndef EDLIDOMPATH_H
8#define EDLIDOMPATH_H
9
10#include <edl/edltypes.h>
11#include <edl/edlgeom.h>
12#include <edl/iedlobject.h>
13#include <edl/idomnode.h>
14#include <edl/idomshape.h>
15#include <edl/idombrush.h>
16#include <edl/idomtarget.h>
17#include <edl/edlblend.h>
19#include <edl/idomedgemode.h>
22
24
40class IDOMPathNode : public IDOMNode
41{
42 public:
43#define IDOMPathNodeClassID 0xF0E21B7F, 0x89174e0e, 0x90DD88A5, 0x89D6F6BE
48 static const CClassID &classID()
49 {
51 return id;
52 }
53
64
79
92
106 static EDL_API IDOMPathNodePtr createFilled(IEDLClassFactory *pFactory,
107 const IDOMPathGeometryPtr &geometry,
108 const IDOMBrushPtr &brush,
109 const FMatrix renderTransform = FMatrix(),
110 const IDOMPathGeometryPtr &clip = IDOMPathGeometryPtr(),
111 float opacity = 1.0f,
112 eBlendMode blendMode = eBlendModeNormal,
113 eEdgeMode edgeMode = eEMDefault);
114
138 static EDL_API IDOMPathNodePtr createStroked(IEDLClassFactory *pFactory,
139 const IDOMPathGeometryPtr &geometry,
140 const IDOMBrushPtr &brush,
141 const FMatrix renderTransform = FMatrix(),
142 const IDOMPathGeometryPtr &clip = IDOMPathGeometryPtr(),
143 double strokeThickness = 1.0,
144 double miterLimit = 10.0,
146 eStrokeLineCap startCap = eFlatCap,
147 eStrokeLineCap endCap = eFlatCap,
148 eStrokeLineCap dashCap = eFlatCap,
150 double dashOffset = 0.0,
151 const CEDLVector<double> dashPattern = CEDLVector<double>(),
152 bool zeroWidthLinesAreVisible = false,
153 float opacity = 1.0f,
154 eBlendMode blendMode = eBlendModeNormal,
155 eEdgeMode edgeMode = eEMDefault);
156
170 static EDL_API IDOMPathNodePtr createImage(IEDLClassFactory *pFactory,
171 const IDOMImagePtr &image,
172 const FRect &viewPort,
173 const FMatrix &renderTransform = FMatrix());
174
229
236 virtual const FMatrix &getRenderTransform() const = 0;
237
244 virtual void setRenderTransform(const FMatrix &matrix) = 0;
245
254 virtual float getOpacity() const = 0;
255
262 virtual void setOpacity(float opc) = 0;
263
268 virtual eBlendMode getBlendMode() const = 0;
269
276 virtual void setBlendMode(eBlendMode blendMode) = 0;
277
287 virtual eEdgeMode getEdgeMode () const = 0;
288
299 virtual void setEdgeMode (eEdgeMode em) = 0;
300
310 virtual double getStrokeThickness() const = 0;
311
321 virtual void setStrokeThickness(double st) = 0;
322
332 virtual bool getShouldZeroWidthLinesBeVisible() const = 0;
333
339 virtual void setShouldZeroWidthLinesBeVisible(bool visible) = 0;
340
348 virtual double getStrokeMiterLimit() const = 0;
349
357 virtual void setStrokeMiterLimit(double sml) = 0;
358
365
372
380 virtual double getStrokeDashOffset() const = 0;
381
389 virtual void setStrokeDashOffset(double sdo) = 0;
390
400
409 virtual void setStrokeLineJoin(eStrokeLineJoin slj) = 0;
410
417
424
431
437 virtual void setStrokeEndLineCap(eStrokeLineCap slc) = 0;
438
445
452
461 virtual bool getSnapsToDevicePixels() const = 0;
462
471 virtual void setSnapsToDevicePixels(bool s2dp) = 0;
472
484 virtual EDLString getLanguage () const = 0;
485
497 virtual void setLanguage (const EDLString &lang) = 0;
498
503 virtual IDOMTargetPtr getNavigateLink () const = 0;
504
509 virtual void setNavigateLink (const IDOMTargetPtr &target) = 0;
510
521
531 virtual void setAutomationPropertiesName (const EDLString &propname) = 0;
532
543
553 virtual void setAutomationPropertiesHelpText (const EDLString &helptext) = 0;
554
561 virtual bool getIsDashed() = 0;
562
579 virtual const CEDLVector<double> &getStrokeDashPattern () const = 0;
580
598 virtual void setStrokeDashPattern (const CEDLVector<double> &pattern) = 0;
599
605
609 virtual void clearStrokeDashCollection() = 0;
610
615 virtual void addStrokeDash(double value) = 0;
616
621 virtual IDOMBrushPtr getFill() const = 0;
622
627 virtual void setFill(const IDOMBrushPtr &ptrFill) = 0;
628
633 virtual IDOMBrushPtr getStroke() const = 0;
634
639 virtual void setStroke(const IDOMBrushPtr &ptrStroke) = 0;
640
654 virtual IDOMBrushPtr getOpacityMask() const = 0;
655
669 virtual void setOpacityMask(const IDOMBrushPtr &ptrOpacityMask) = 0;
670
675 virtual IDOMPathGeometryPtr getPathData() const = 0;
676
681 virtual void setPathData(const IDOMPathGeometryPtr &ptrPathData) = 0;
682
690 virtual IDOMPathGeometryPtr getClip() const = 0;
691
699 virtual void setClip(const IDOMPathGeometryPtr &ptrClip) = 0;
700
710 virtual IDOMNodePtr split(IEDLClassFactory *pFactory) = 0;
711
719 virtual IDOMShapePtr getShape(const FMatrix &transform, float resolution, IEDLClassFactory *pFactory) = 0;
720
728 virtual bool getFillOverprints() const = 0;
729
737 virtual void setFillOverprints(bool overprint = true) = 0;
738
746 virtual bool getStrokeOverprints() const = 0;
747
755 virtual void setStrokeOverprints(bool overprint = true) = 0;
756
766 virtual bool getOverprintMode() const = 0;
767
777 virtual void setOverprintMode(bool mode = true) = 0;
778
791 virtual bool getStrokeAdjust() const = 0;
792
805 virtual void setStrokeAdjust(bool adjust = true) = 0;
806
819
831 virtual void setRenderingIntent(eRenderingIntent intent) = 0;
832
844
856
857};
858#define edlobj2IDOMPathNode(src) edl_cast((IDOMPathNode *)NULL, src)
859#define dom2IDOMPathNode(src) dom2NodeType<IDOMPathNode, eDOMPathNode>(src)
860
861
863
864#endif /* EDLIDOMPATH_H */
865
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
eEdgeMode edgeMode
Definition idompath.h:222
IDOMBrushPtr ptrOpacityMask
Definition idompath.h:218
double strokeDashOffset
Definition idompath.h:209
bool overprintMode
Definition idompath.h:224
eStrokeMiterLimitTreatment strokeMiterLimitTreatment
Definition idompath.h:208
bool snapsToDevicePixels
Definition idompath.h:210
float opacity
Definition idompath.h:201
IDOMTargetPtr ptrNavigateLink
Definition idompath.h:215
FMatrix renderTransform
Definition idompath.h:214
IDOMPathGeometryPtr ptrClip
Definition idompath.h:220
IDOMPathGeometryPtr ptrPathData
Definition idompath.h:219
eStrokeLineJoin strokeLineJoin
Definition idompath.h:204
eStrokeLineCap strokeDashLineCap
Definition idompath.h:207
Data()
Definition idompath.h:182
bool zeroWidthLinesAreVisible
Definition idompath.h:223
eBlendMode blendMode
Definition idompath.h:221
eTriState strokeAdjust
Definition idompath.h:227
bool fillOverprint
Definition idompath.h:225
EDLString automationPropertiesHelpText
Definition idompath.h:213
eStrokeLineCap strokeEndLineCap
Definition idompath.h:206
bool strokeOverprint
Definition idompath.h:226
double miterLimit
Definition idompath.h:203
IDOMBrushPtr ptrStroke
Definition idompath.h:217
double strokeThickness
Definition idompath.h:202
IDOMBrushPtr ptrFill
Definition idompath.h:216
EDLString automationPropertiesName
Definition idompath.h:212
eStrokeLineCap strokeStartLineCap
Definition idompath.h:205
EDLString language
Definition idompath.h:211
Interface to an EDL path node. A path node specifies a geometry that can be filled or stroked with a ...
Definition idompath.h:41
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:48
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 beveled joins.
Definition idompath.h:61
@ eMiterJoin
Use mitered joins.
Definition idompath.h:60
@ eRoundJoin
Use rounded joins.
Definition idompath.h:62
@ eTriangleCap
Triangular end caps.
Definition idompath.h:90
@ eRoundCap
Round end caps.
Definition idompath.h:89
@ eSquareCap
Square end caps.
Definition idompath.h:88
@ eFlatCap
Flat end caps.
Definition idompath.h:87
@ eClipLongMiters
Clip long miters.
Definition idompath.h:76
@ eBevelLongMiters
Bevel long miters.
Definition idompath.h:77
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:1268
RectTmpl< double > FRect
Definition edlgeom.h:340
#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:59
eStrokeLineCap
Specifies the different types of line end caps available.
Definition idompath.h:86
eStrokeMiterLimitTreatment
Chooses how miters that extend beyond the miter limit should be treated. ClipLongMiters specifies XPS...
Definition idompath.h:75
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:43