Mako 8.3.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
38class IDOMPathNode : public IDOMNode
39{
40 public:
41#define IDOMPathNodeClassID 0xF0E21B7F, 0x89174e0e, 0x90DD88A5, 0x89D6F6BE
46 static const CClassID &classID()
47 {
49 return id;
50 }
51
62
77
90
104 static EDL_API IDOMPathNodePtr createFilled(IEDLClassFactory *pFactory,
105 const IDOMPathGeometryPtr &geometry,
106 const IDOMBrushPtr &brush,
107 const FMatrix renderTransform = FMatrix(),
108 const IDOMPathGeometryPtr &clip = IDOMPathGeometryPtr(),
109 float opacity = 1.0f,
110 eBlendMode blendMode = eBlendModeNormal,
111 eEdgeMode edgeMode = eEMDefault);
112
136 static EDL_API IDOMPathNodePtr createStroked(IEDLClassFactory *pFactory,
137 const IDOMPathGeometryPtr &geometry,
138 const IDOMBrushPtr &brush,
139 const FMatrix renderTransform = FMatrix(),
140 const IDOMPathGeometryPtr &clip = IDOMPathGeometryPtr(),
141 double strokeThickness = 1.0,
142 double miterLimit = 10.0,
144 eStrokeLineCap startCap = eFlatCap,
145 eStrokeLineCap endCap = eFlatCap,
146 eStrokeLineCap dashCap = eFlatCap,
148 double dashOffset = 0.0,
149 const CEDLVector<double> dashPattern = CEDLVector<double>(),
150 bool zeroWidthLinesAreVisible = false,
151 float opacity = 1.0f,
152 eBlendMode blendMode = eBlendModeNormal,
153 eEdgeMode edgeMode = eEMDefault);
154
168 static EDL_API IDOMPathNodePtr createImage(IEDLClassFactory *pFactory,
169 const IDOMImagePtr &image,
170 const FRect &viewPort,
171 const FMatrix &renderTransform = FMatrix());
172
227
234 virtual const FMatrix &getRenderTransform() const = 0;
235
242 virtual void setRenderTransform(const FMatrix &matrix) = 0;
243
252 virtual float getOpacity() const = 0;
253
260 virtual void setOpacity(float opc) = 0;
261
266 virtual eBlendMode getBlendMode() const = 0;
267
274 virtual void setBlendMode(eBlendMode blendMode) = 0;
275
285 virtual eEdgeMode getEdgeMode () const = 0;
286
297 virtual void setEdgeMode (eEdgeMode em) = 0;
298
308 virtual double getStrokeThickness() const = 0;
309
319 virtual void setStrokeThickness(double st) = 0;
320
330 virtual bool getShouldZeroWidthLinesBeVisible() const = 0;
331
337 virtual void setShouldZeroWidthLinesBeVisible(bool visible) = 0;
338
346 virtual double getStrokeMiterLimit() const = 0;
347
355 virtual void setStrokeMiterLimit(double sml) = 0;
356
363
370
378 virtual double getStrokeDashOffset() const = 0;
379
387 virtual void setStrokeDashOffset(double sdo) = 0;
388
398
407 virtual void setStrokeLineJoin(eStrokeLineJoin slj) = 0;
408
415
422
429
435 virtual void setStrokeEndLineCap(eStrokeLineCap slc) = 0;
436
443
450
459 virtual bool getSnapsToDevicePixels() const = 0;
460
469 virtual void setSnapsToDevicePixels(bool s2dp) = 0;
470
482 virtual EDLString getLanguage () const = 0;
483
495 virtual void setLanguage (const EDLString &lang) = 0;
496
501 virtual IDOMTargetPtr getNavigateLink () const = 0;
502
507 virtual void setNavigateLink (const IDOMTargetPtr &target) = 0;
508
519
529 virtual void setAutomationPropertiesName (const EDLString &propname) = 0;
530
541
551 virtual void setAutomationPropertiesHelpText (const EDLString &helptext) = 0;
552
559 virtual bool getIsDashed() = 0;
560
577 virtual const CEDLVector<double> &getStrokeDashPattern () const = 0;
578
596 virtual void setStrokeDashPattern (const CEDLVector<double> &pattern) = 0;
597
603
607 virtual void clearStrokeDashCollection() = 0;
608
613 virtual void addStrokeDash(double value) = 0;
614
619 virtual IDOMBrushPtr getFill() const = 0;
620
625 virtual void setFill(const IDOMBrushPtr &ptrFill) = 0;
626
631 virtual IDOMBrushPtr getStroke() const = 0;
632
637 virtual void setStroke(const IDOMBrushPtr &ptrStroke) = 0;
638
652 virtual IDOMBrushPtr getOpacityMask() const = 0;
653
667 virtual void setOpacityMask(const IDOMBrushPtr &ptrOpacityMask) = 0;
668
673 virtual IDOMPathGeometryPtr getPathData() const = 0;
674
679 virtual void setPathData(const IDOMPathGeometryPtr &ptrPathData) = 0;
680
688 virtual IDOMPathGeometryPtr getClip() const = 0;
689
697 virtual void setClip(const IDOMPathGeometryPtr &ptrClip) = 0;
698
708 virtual IDOMNodePtr split(IEDLClassFactory *pFactory) = 0;
709
717 virtual IDOMShapePtr getShape(const FMatrix &transform, float resolution, IEDLClassFactory *pFactory) = 0;
718
726 virtual bool getFillOverprints() const = 0;
727
735 virtual void setFillOverprints(bool overprint = true) = 0;
736
744 virtual bool getStrokeOverprints() const = 0;
745
753 virtual void setStrokeOverprints(bool overprint = true) = 0;
754
764 virtual bool getOverprintMode() const = 0;
765
775 virtual void setOverprintMode(bool mode = true) = 0;
776
789 virtual bool getStrokeAdjust() const = 0;
790
803 virtual void setStrokeAdjust(bool adjust = true) = 0;
804
817
829 virtual void setRenderingIntent(eRenderingIntent intent) = 0;
830
842
854
855};
856#define edlobj2IDOMPathNode(src) edl_cast((IDOMPathNode *)NULL, src)
857#define dom2IDOMPathNode(src) dom2NodeType<IDOMPathNode, eDOMPathNode>(src)
858
859
861
862#endif /* EDLIDOMPATH_H */
863
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:225
eEdgeMode edgeMode
Definition idompath.h:220
IDOMBrushPtr ptrOpacityMask
Definition idompath.h:216
double strokeDashOffset
Definition idompath.h:207
bool overprintMode
Definition idompath.h:222
eStrokeMiterLimitTreatment strokeMiterLimitTreatment
Definition idompath.h:206
bool snapsToDevicePixels
Definition idompath.h:208
float opacity
Definition idompath.h:199
IDOMTargetPtr ptrNavigateLink
Definition idompath.h:213
FMatrix renderTransform
Definition idompath.h:212
IDOMPathGeometryPtr ptrClip
Definition idompath.h:218
IDOMPathGeometryPtr ptrPathData
Definition idompath.h:217
eStrokeLineJoin strokeLineJoin
Definition idompath.h:202
eStrokeLineCap strokeDashLineCap
Definition idompath.h:205
Data()
Definition idompath.h:180
bool zeroWidthLinesAreVisible
Definition idompath.h:221
eBlendMode blendMode
Definition idompath.h:219
bool fillOverprint
Definition idompath.h:223
EDLString automationPropertiesHelpText
Definition idompath.h:211
eStrokeLineCap strokeEndLineCap
Definition idompath.h:204
bool strokeOverprint
Definition idompath.h:224
double miterLimit
Definition idompath.h:201
IDOMBrushPtr ptrStroke
Definition idompath.h:215
double strokeThickness
Definition idompath.h:200
IDOMBrushPtr ptrFill
Definition idompath.h:214
EDLString automationPropertiesName
Definition idompath.h:210
eStrokeLineCap strokeStartLineCap
Definition idompath.h:203
EDLString language
Definition idompath.h:209
Interface to an EDL path node. A path node specifies a geometry that can be filled or stroked with a ...
Definition idompath.h:39
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:46
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:59
@ eMiterJoin
Use mitered joins.
Definition idompath.h:58
@ eRoundJoin
Use rounded joins.
Definition idompath.h:60
@ eTriangleCap
Triangular end caps.
Definition idompath.h:88
@ eRoundCap
Round end caps.
Definition idompath.h:87
@ eSquareCap
Square end caps.
Definition idompath.h:86
@ eFlatCap
Flat end caps.
Definition idompath.h:85
@ eClipLongMiters
Clip long miters.
Definition idompath.h:74
@ eBevelLongMiters
Bevel long miters.
Definition idompath.h:75
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:1266
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:57
eStrokeLineCap
Specifies the different types of line end caps available.
Definition idompath.h:84
eStrokeMiterLimitTreatment
Chooses how miters that extend beyond the miter limit should be treated. ClipLongMiters specifies XPS...
Definition idompath.h:73
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:41