Mako 7.3.0 API
IDOMPathNode Class Referenceabstract

Interface to an EDL path node. A path node specifies a geometry that can be filled with a brush. More...

#include <idompath.h>

Inheritance diagram for IDOMPathNode:

Classes

class  Data
 Initialization data. More...
 

Public Types

enum  eStrokeLineJoin { eMiterJoin , eBevelJoin , eRoundJoin }
 Specifies the different ways in which the lines in the path could be joined. More...
 
enum  eStrokeMiterLimitTreatment { eClipLongMiters , eBevelLongMiters }
 Chooses how miters that extend beyond the miter limit should be treated. ClipLongMiters specifies XPS style behaviour, where miters extending beyond the limit are clipped to the limit. BevelLongMiters specifies PDF/PS style behaviour where miters longer than the limit are instead replaced with a bevel join. More...
 
enum  eStrokeLineCap { eFlatCap , eSquareCap , eRoundCap , eTriangleCap }
 Specifies the different types of line end caps available. More...
 

Public Member Functions

virtual const FMatrixgetRenderTransform () const =0
 Retrieves the render transform matrix. The render transform matrix establishes a new coordinate frame for all attributes of the path and for all child elements of the path, such as the path geometry. More...
 
virtual void setRenderTransform (const FMatrix &matrix)=0
 Sets the render transform matrix. The render transform matrix establishes a new coordinate frame for all attributes of the path and for all child elements of the path, such as the path geometry. More...
 
virtual float getOpacity () const =0
 Retrieves the opacity value of the path. The opacity value defines the uniform transparency of the path. This is a number between 0 (fully transparent) and 1 (fully opaque). Default value 1.0. More...
 
virtual void setOpacity (float opc)=0
 Sets the opacity value of the path. The opacity value defines the uniform transparency of the path. This is a number between 0 (fully transparent) and 1 (fully opaque). More...
 
virtual eBlendMode getBlendMode () const =0
 Get the blend mode to be used for rendering this path. More...
 
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 representable in XPS. More...
 
virtual eEdgeMode getEdgeMode () const =0
 Retrieves render options edge mode of the path. More...
 
virtual void setEdgeMode (eEdgeMode em)=0
 Sets render the options edge mode of the path. More...
 
virtual double getStrokeThickness () const =0
 Retrieves the stroke thickness. The stroke thickness specifies the thickness of a stroke, in units of the effective coordinate space including the path's render transform. The stroke is drawn on top of the boundary of the geometry specified by the path geometry information. Half of the stroke thickness extends outside of the geometry and the other half extends inside of the geometry. More...
 
virtual void setStrokeThickness (double st)=0
 Sets stroke thickness The stroke thickness specifies the thickness of a stroke, in units of the effective coordinate space including the path's render transform. The stroke is drawn on top of the boundary of the geometry specified by the path geometry information. Half of the stroke thickness extends outside of the geometry and the other half extends inside of the geometry. More...
 
virtual bool getShouldZeroWidthLinesBeVisible () const =0
 Should zero width strokes be visible as cosmetic lines? Zero width lines in XPS files are not visible, but in PDF and PostScript, such lines are rendered as a single pixel cosmetic line. This routine returns true if a zero width stroke for this path should be rendered. More...
 
virtual void setShouldZeroWidthLinesBeVisible (bool visible)=0
 Sets whether or not zero width strokes in this path should be rendered visibly as a cosmetic line. More...
 
virtual double getStrokeMiterLimit () const =0
 Retrieves the stroke miter limit. The stroke miter limit is the ratio between the maximum miter length and half of the stroke thickness. This value must be equal to or greater than 1.0. The value is significant only if the StrokeLineJoin attribute specifies mitered joins. More...
 
virtual void setStrokeMiterLimit (double sml)=0
 Sets the stroke miter limit. The stroke miter limit is the ratio between the maximum miter length and half of the stroke thickness. This value must be equal to or greater than 1.0. The value is significant only if the StrokeLineJoin attribute specifies mitered joins. More...
 
virtual eStrokeMiterLimitTreatment getStrokeMiterLimitTreatment () const =0
 Retrieves the miter limit treatment for this path. The stroke miter treatment specifies how miters extending beyond the limit should be treated. More...
 
virtual void setStrokeMiterLimitTreatment (eStrokeMiterLimitTreatment treatment)=0
 Sets the stroke miter limit treatment. The stroke miter treatment specifies how miters extending beyond the limit should be treated. More...
 
virtual double getStrokeDashOffset () const =0
 Retrieves the stroke dash offset value. This adjusts the start point for repeating the dash array pattern. If this value is omitted, the dash array aligns with the origin of the stroke. Values are specified as multiples of the stroke thickness. More...
 
virtual void setStrokeDashOffset (double sdo)=0
 Sets the stroke dash offset value. This adjusts the start point for repeating the dash array pattern. If this value is omitted, the dash array aligns with the origin of the stroke. Values are specified as multiples of the stroke thickness. More...
 
virtual eStrokeLineJoin getStrokeLineJoin () const =0
 Retrieves the stroke line join value. The stroke line join specifies how a stroke is drawn at a corner of a path. Valid values are specified by eStrokeLineJoin. If mitered joins are selected, the value of StrokeMiterLimit is used in drawing the stroke. More...
 
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 a path. Valid values are specified by eStrokeLineJoin. If mitered joins are selected, the value of StrokeMiterLimit is used in drawing the stroke. More...
 
virtual eStrokeLineCap getStrokeStartLineCap () const =0
 Retrieves the line cap type for the start of the stroke. More...
 
virtual void setStrokeStartLineCap (eStrokeLineCap slc)=0
 Sets the line cap type for the start of the stroke. More...
 
virtual eStrokeLineCap getStrokeEndLineCap () const =0
 Retrieves the line cap type for the end of the stroke. More...
 
virtual void setStrokeEndLineCap (eStrokeLineCap slc)=0
 Sets the line cap type for the end of the stroke. More...
 
virtual eStrokeLineCap getStrokeDashLineCap () const =0
 Gets the stroke dash line cap. More...
 
virtual void setStrokeDashLineCap (eStrokeLineCap slc)=0
 Sets the stroke dash line cap. More...
 
virtual bool getSnapsToDevicePixels () const =0
 Retrieves the snapsToDevicePixels setting. More...
 
virtual void setSnapsToDevicePixels (bool s2dp)=0
 Sets snapsToDevicePixels. More...
 
virtual EDLString getLanguage () const =0
 Retrieves the default language of the path node and any of its children. More...
 
virtual void setLanguage (const EDLString &lang)=0
 Sets default language of the <Path> element and any of its children. More...
 
virtual IDOMTargetPtr getNavigateLink () const =0
 Retrieves the target of a hyperlink. More...
 
virtual void setNavigateLink (const IDOMTargetPtr &target)=0
 Sets the target of a hyperlink. More...
 
virtual EDLString getAutomationPropertiesName () const =0
 Retrieves the automation properties name of the path. More...
 
virtual void setAutomationPropertiesName (const EDLString &propname)=0
 Sets the automation properties name of the path. More...
 
virtual EDLString getAutomationPropertiesHelpText () const =0
 Retrieves the automation properties help text of the path. More...
 
virtual void setAutomationPropertiesHelpText (const EDLString &helptext)=0
 Sets the automation properties help text of the path. More...
 
virtual bool getIsDashed ()=0
 Checks to see if the path is dashed. Even if a dash array is provided it may still effectively represent a plain un-dashed line. In this case this member will return false. More...
 
virtual const CEDLVector< double > & getStrokeDashPattern () const =0
 Retrieves the stroke dash array. More...
 
virtual uint32 getStrokeDashsCount ()=0
 Retrieves the length of the stroke dash array. More...
 
virtual void clearStrokeDashCollection ()=0
 Clears the stroke dash array.
 
virtual void addStrokeDash (double value)=0
 Append a stroke dash to the stroke dash array. More...
 
virtual IDOMBrushPtr getFill () const =0
 Retrieves the fill brush for the path. More...
 
virtual void setFill (const IDOMBrushPtr &ptrFill)=0
 Sets the fill brush for the path. More...
 
virtual IDOMBrushPtr getStroke () const =0
 Retrieves the stroke brush for the path. More...
 
virtual void setStroke (const IDOMBrushPtr &ptrStroke)=0
 Sets the stroke brush for the path. More...
 
virtual IDOMBrushPtr getOpacityMask () const =0
 Retrieves the opacity mask for the path. More...
 
virtual void setOpacityMask (const IDOMBrushPtr &ptrOpacityMask)=0
 Sets the opacity mask for the path. More...
 
virtual IDOMPathGeometryPtr getPathData () const =0
 Retrieves a smart pointer to the path geometry node. More...
 
virtual void setPathData (const IDOMPathGeometryPtr &ptrPathData)=0
 Sets the path geometry node. More...
 
virtual IDOMPathGeometryPtr getClip () const =0
 Retrieves a smart pointer to the clip geometry node. More...
 
virtual void setClip (const IDOMPathGeometryPtr &ptrClip)=0
 Sets the clip geometry. More...
 
virtual IDOMNodePtr split (IEDLClassFactory *pFactory)=0
 If the path represents both a fill and a stroke, separate the fill and stroke into separate paths. Throws an IEDLError on failure. More...
 
virtual IDOMShapePtr getShape (const FMatrix &transform, float resolution, IEDLClassFactory *pFactory)=0
 Get the scan-converted shape of this path. More...
 
- Public Member Functions inherited from IDOMNode
virtual ~IDOMNode ()
 virtual destructor
 
virtual DOMid getDOMid () const =0
 Retrieves the node ID. More...
 
virtual void setDOMid (DOMid id)=0
 Sets the node ID. More...
 
virtual eDOMNodeType getNodeType () const =0
 Retrieves the DOM node type. More...
 
virtual bool getProperty (const EDLSysString &propertyName, PValue &propertyValue) const =0
 Retrieves the value of a property. The EDL DOM node can store non-content or relationship information through the use of the "properties" feature of the node. The data is represented as key-value pairs; the key being a string and the value being an abstract container called a PValue. PValues can represent integers, strings, DOM nodes, and so on. More...
 
virtual void setProperty (const EDLSysString &propertyName, const PValue &propertyValue)=0
 Sets the value of a property. The EDL DOM node can store non-content or relationship information through the use of the "properties" feature of the node. The data is represented as key-value pairs; the key being a string and the value being an abstract container called a PValue. PValues can represent integers, strings, DOM nodes, and so on. More...
 
virtual void removeProperty (const EDLSysString &propertyName)=0
 Removes property. More...
 
virtual IEDLSysStringCollectionEnumPtr getPropertyCollectionEnum ()=0
 Retrieves a navigable list of the property names stored on this node. More...
 
virtual bool hasChildNodes () const =0
 Function that indicates whether this node is a parent to other nodes. More...
 
virtual IDOMNodePtr getParentNode () const =0
 Gets the parent node of this node. More...
 
virtual IDOMNodePtr getFirstChild () const =0
 Gets the first child node of this node. More...
 
virtual IDOMNodePtr getLastChild () const =0
 Gets the last child node of this node. More...
 
virtual IDOMNodePtr getNextChild (const IDOMNodePtr &child) const =0
 Gets the child node which follows the node passed in. More...
 
virtual IDOMNodePtr getPreviousChild (const IDOMNodePtr &child) const =0
 Gets the child node which precedes the node passed in. More...
 
virtual IDOMNodePtr getPreviousSibling () const =0
 Retrieves the node's previous sibling node. More...
 
virtual IDOMNodePtr getNextSibling () const =0
 Retrieves node's next sibling node. More...
 
virtual void appendChild (const IDOMNodePtr &child)=0
 Appends a node to the end of the node's child list. More...
 
virtual void insertChild (const IDOMNodePtr &ptrPreviousSibling, const IDOMNodePtr &child, bool bCheckComplete=true)=0
 Insert a child node after ptrPreviousSibling. More...
 
virtual IDOMNodePtr extractChild (const IDOMNodePtr &child)=0
 Extracts (that is, finds and removes) a child node from the node children. After extraction the child node is no longer a part of the DOM. If no node is specified, the first available node will be extracted from the node's children. More...
 
virtual void replaceChild (const IDOMNodePtr &oldChild, const IDOMNodePtr &newChild)=0
 Replaces the child node with another. More...
 
virtual bool isComplete () const =0
 Signals the completeness of the node.
A complete node is one that has no more children to be added to it. More...
 
virtual void setComplete ()=0
 Sets the node's completeness status to "true".
 
virtual IDOMNodeFlagsgetFlags ()=0
 Retrieves the node's flags property. More...
 
virtual void setParentNode (const IDOMNodePtr &ptrParent)=0
 Sets the parent node. More...
 
virtual void setPreviousSibling (const IDOMNodePtr &ptrPreviousSibling)=0
 Sets the previous sibling node. More...
 
virtual void setNextSibling (const IDOMNodePtr &ptrNextSibling)=0
 Sets the next sibling node. More...
 
virtual bool isAncestor (const IDOMNodePtr &ptrCandidate)=0
 Function tests whether a candidate node is a descendant of the node. More...
 
virtual FRect getBounds (bool applyTransform=true, bool applyClip=true)
 Find the conservative bounding box of the marking content of the node. More...
 
virtual bool copyNodeData (IDOMNode *pSourceNode)=0
 Copy the properties collection, the flags and the DOM ID from the given source node to this one. More...
 
virtual IDOMNodePtr cloneNode (IEDLClassFactory *pFactory) const =0
 Simpified node cloning. An exception of type IEDLError will be thrown on failure. More...
 
virtual IDOMNodePtr cloneTree (IEDLClassFactory *pFactory) const =0
 Clone the tree of nodes beginning at this node. An exception of type IEDLError will be thrown on failure. More...
 
virtual void cloneTreeAndAppend (IEDLClassFactory *pFactory, const IDOMNodePtr &dest) const =0
 Clone the tree of nodes beginning at this node, and append the result to the destination tree. More...
 
virtual void completeTree ()=0
 Mark the entire tree from this point as complete. You should not ordinarily need to call this function.
 
virtual void removeCompleteFlagFromTree ()=0
 Mark the entire tree from this point as complete.
 
virtual void findChildrenOfType (eDOMNodeType type, CDOMNodeVect &nodes, bool searchForms=false)=0
 Find all children of this node with the given type, appending to the given vector. Does not descend into brushes. More...
 
virtual void walkTree (WalkTreeFunc func, void *priv, bool descendIntoBrushes=false, bool descendIntoForms=false)=0
 Walk through the DOM calling a given function on each node. The function is allowed to: More...
 
virtual void notifyOnDestruct (NodeDeleteFunc func, void *priv)=0
 Register interest in being told when this node is about to be destroyed. More...
 
virtual void unregisterNotify (NodeDeleteFunc func, void *priv)=0
 Unregister interest in being told when this node is about to be destroyed. More...
 
- Public Member Functions inherited from IEDLObject
virtual const CClassIDgetClassID () const =0
 Returns class ID of IEDLObject. More...
 
virtual bool init (CClassParams *pData)
 The init() method is called to perform any post-construction initialization of an IEDLObject that has been created by the EDL class factory, before it is actually returned by the factory. More...
 
virtual bool clone (IEDLObjectPtr &ptrObject, IEDLClassFactory *pFactory)
 Create a copy of EDLObject. More...
 
- Public Member Functions inherited from IRCObject
virtual void addRef () const =0
 Increases the reference count of the actual object pointed to. This would take place during an assignment or copying.
 
virtual bool decRef () const =0
 Decreases the reference count of the actual object pointed to. When the reference count falls to Zero, it deletes the actual object pointed to. More...
 
virtual int32 getRefCount () const =0
 Retrieve the current reference count of the actual object pointed to. More...
 

Static Public Member Functions

static const CClassIDclassID ()
 Retrieves class id of IDOMPathNode. More...
 
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. More...
 
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. More...
 
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. More...
 
- Static Public Member Functions inherited from IDOMNode
static EDL_API FMatrix effectiveTransformationOfNode (const IDOMNodePtr &node)
 Attempt to find the effective transformation matrix external to the specified node relative to either a containing page or ultimate parent. More...
 

Additional Inherited Members

- Protected Member Functions inherited from IRCObject
virtual ~IRCObject ()
 Virtual destructor.
 

Detailed Description

Interface to an EDL path node. A path node specifies a geometry that can be filled with a brush.

Vector graphics are created using the PathNode class. A full set of properties is available to describe the visual characteristics of the graphic. The description of the geometry of the path is described by the Data property. Raster images are included in fixed page markup by specifying a PathNode filled with an ImageBrush.

A PathNode is the sole means of adding vector graphics and images to a fixed page. It defines a single vector graphic to be rendered on a page. Some properties of the PathNode are composable, meaning that the markings rendered to the page are determined by a combination of the property and all of the like-named properties of its parent and ancestor elements.

Member Function Documentation

◆ addStrokeDash()

virtual void IDOMPathNode::addStrokeDash ( double  value)
pure virtual

Append a stroke dash to the stroke dash array.

Parameters
valueThe new stroke dash array item.

◆ classID()

static const CClassID& IDOMPathNode::classID ( )
inlinestatic

Retrieves class id of IDOMPathNode.

Returns
CClassID Class id of the element

◆ createFilled()

static EDL_API IDOMPathNodePtr IDOMPathNode::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 
)
static

Simplified creator for a filled path. Throws an IEDLError on failure.

Parameters
pFactoryThe factory to use.
geometryThe path data/geometry to fill.
brushThe fill brush to use.
renderTransformThe render transform to use.
clipThe geometry to use for clipping. NULL if no clip.
opacityThe opacity to use.
blendModeThe blend mode to use.
edgeModeThe edge mode to use.
Returns
IDOMPathNodePtr The new path.

◆ createImage()

static EDL_API IDOMPathNodePtr IDOMPathNode::createImage ( IEDLClassFactory pFactory,
const IDOMImagePtr &  image,
const FRect &  viewPort,
const FMatrix renderTransform = FMatrix() 
)
static

Convenience creator for a path containing a rectangular image. Throws an IEDLError on failure.

The resulting path will have an image brush which paints the entire image scaled to the given destination rectangle.

Parameters
pFactoryThe factory to use.
imageThe image to use.
viewPortThe destination rectangle.
renderTransformThe render transform to apply.
Returns
IDOMPathNodePtr The new path.

◆ createStroked()

static EDL_API IDOMPathNodePtr IDOMPathNode::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 
)
static

Simplified creator for a stroked path. Throws an IEDLError on failure.

Parameters
pFactoryThe factory to use.
geometryThe path data/geometry to fill.
brushThe fill brush to use.
renderTransformThe render transform to use.
clipThe geometry to use for clipping. NULL if no clip.
strokeThicknessThe stroke thickness. If this value is 0 and zeroWidthLinesAreVisible then treat the stroke as a hairline stroke.
miterLimitThe miter limit to be used, if applicable
joinThe line join to use
startCapThe starting line cap
endCapThe ending line cap
dashCapThe line cap to be used for dashed sections
miterTreatmentHow to treat miters that exceed the miter limit (see setStrokeMiterLimit() for details)
dashOffsetThe dash offset to use if dashing is to be used
dashPatternThe dash pattern to be used. Pass an empty vector is no dashing is required. If strokeThickness is 0 then this is in user units, otherwise this is scaled up by the strokeThickness.
zeroWidthLinesAreVisibleSet to true if zero width lines should mark (see getShouldZeroWidthLinesBeVisible() for details)
opacityThe opacity to use.
edgeModeThe edge mode to use.
blendModeThe blend mode to use.
Returns
IDOMPathNodePtr The new path.

◆ getAutomationPropertiesHelpText()

virtual EDLString IDOMPathNode::getAutomationPropertiesHelpText ( ) const
pure virtual

Retrieves the automation properties help text of the path.

Automation properties help text is a detailed description of the path's content, used for accessibility purposes, particularly if the path is filled with an image brush, or a set of vector graphics and text elements intended to comprise a single vector graphic.

Returns
EDLString Automation properties help text

◆ getAutomationPropertiesName()

virtual EDLString IDOMPathNode::getAutomationPropertiesName ( ) const
pure virtual

Retrieves the automation properties name of the path.

The automation properties name is a brief description of the path's content, used for accessibility purposes, particularly if the path is filled with an image brush, or a set of vector graphics and text elements intended to comprise a single vector graphic.

Returns
EDLString Automation properties name

◆ getBlendMode()

virtual eBlendMode IDOMPathNode::getBlendMode ( ) const
pure virtual

Get the blend mode to be used for rendering this path.

Returns
eBlendMode The blend mode.

◆ getClip()

virtual IDOMPathGeometryPtr IDOMPathNode::getClip ( ) const
pure virtual

Retrieves a smart pointer to the clip geometry node.

The clip geometry node specifies a clipping region which describes the geometric area to be preserved. The remainder is not rendered.

Returns
IDOMPathGeometryPtr The clip, or NULL if there is no clip.

◆ getEdgeMode()

virtual eEdgeMode IDOMPathNode::getEdgeMode ( ) const
pure virtual

Retrieves render options edge mode of the path.

Render options edge mode controls how the edges of the path are painted. The only valid value for edge mode is Aliased. Omitting this attribute causes the edges to be rendered in the consumer's default manner

Returns
eEdgeMode The edge mode of the path.

◆ getFill()

virtual IDOMBrushPtr IDOMPathNode::getFill ( ) const
pure virtual

Retrieves the fill brush for the path.

Returns
IDOMBrushPtr The fill brush, or NULL if not present.

◆ getIsDashed()

virtual bool IDOMPathNode::getIsDashed ( )
pure virtual

Checks to see if the path is dashed. Even if a dash array is provided it may still effectively represent a plain un-dashed line. In this case this member will return false.

Returns
bool True if the stroke is affected by dashing, false otherwise.

◆ getLanguage()

virtual EDLString IDOMPathNode::getLanguage ( ) const
pure virtual

Retrieves the default language of the path node and any of its children.

English is defined as en_GB and American English as en_US. There is no default setting. If the language is not known it is set to und (undetermined). For further information see http://www.w3.org/International/articles/language-tags/.

The language is specified according to RFC 3066.

Returns
EDLString The default language

◆ getNavigateLink()

virtual IDOMTargetPtr IDOMPathNode::getNavigateLink ( ) const
pure virtual

Retrieves the target of a hyperlink.

Returns
IDOMTargetPtr the target, or NULL if there is no target.

◆ getOpacity()

virtual float IDOMPathNode::getOpacity ( ) const
pure virtual

Retrieves the opacity value of the path. The opacity value defines the uniform transparency of the path. This is a number between 0 (fully transparent) and 1 (fully opaque). Default value 1.0.

Returns
float The opacity value

◆ getOpacityMask()

virtual IDOMBrushPtr IDOMPathNode::getOpacityMask ( ) const
pure virtual

Retrieves the opacity mask for the path.

The opacity mask specifies a mask of alpha values that is applied to the path in the same fashion as the simple opacity setting, but allowing different alpha values for different area of the canvas. With an opacity mask, you can combine an object with one or more other objects to define transparent areas of the shape.

Opacity masks use the values of one object or image to define the transparent areas of another. The objects that define the transparency can be any type of visual element - solid objects, strokes, gradients, raster images, text or combinations of all of the above.

Returns
IDOMBrushPtr The opacity mask, or NULL if not present.

◆ getPathData()

virtual IDOMPathGeometryPtr IDOMPathNode::getPathData ( ) const
pure virtual

Retrieves a smart pointer to the path geometry node.

Returns
IDOMPathGeometryPtr The path geometry or NULL if no path data is present.

◆ getRenderTransform()

virtual const FMatrix& IDOMPathNode::getRenderTransform ( ) const
pure virtual

Retrieves the render transform matrix. The render transform matrix establishes a new coordinate frame for all attributes of the path and for all child elements of the path, such as the path geometry.

Returns
FMatrix Render transform matrix.

◆ getShape()

virtual IDOMShapePtr IDOMPathNode::getShape ( const FMatrix transform,
float  resolution,
IEDLClassFactory pFactory 
)
pure virtual

Get the scan-converted shape of this path.

Parameters
transformThe transform that should be applied before scan conversion.
resolutionThe resolution that should be used for scan conversion.
pFactoryThe factory to use.
Returns
IDOMShapePtr The shape.

◆ getShouldZeroWidthLinesBeVisible()

virtual bool IDOMPathNode::getShouldZeroWidthLinesBeVisible ( ) const
pure virtual

Should zero width strokes be visible as cosmetic lines? Zero width lines in XPS files are not visible, but in PDF and PostScript, such lines are rendered as a single pixel cosmetic line. This routine returns true if a zero width stroke for this path should be rendered.

Returns
bool True if a zero width stroke in this path should be visible as a cosmetic line.

◆ getSnapsToDevicePixels()

virtual bool IDOMPathNode::getSnapsToDevicePixels ( ) const
pure virtual

Retrieves the snapsToDevicePixels setting.

The ignorable attribute snapsToDevicePixels can be set to allow consumers or viewers that perform anti-aliasing to "snap" any path control points that are situated on the path bounding box to whole device pixels.

Returns
bool True if control points snap to the nearest device pixels.

◆ getStroke()

virtual IDOMBrushPtr IDOMPathNode::getStroke ( ) const
pure virtual

Retrieves the stroke brush for the path.

Returns
IDOMBrushPtr The stroke brush, or NULL if not present.

◆ getStrokeDashLineCap()

virtual eStrokeLineCap IDOMPathNode::getStrokeDashLineCap ( ) const
pure virtual

Gets the stroke dash line cap.

See also
eStrokeLineCap
Returns
eStrokeLineCap Stroke dash line cap (Flat default)

◆ getStrokeDashOffset()

virtual double IDOMPathNode::getStrokeDashOffset ( ) const
pure virtual

Retrieves the stroke dash offset value. This adjusts the start point for repeating the dash array pattern. If this value is omitted, the dash array aligns with the origin of the stroke. Values are specified as multiples of the stroke thickness.

Returns
double Stroke dash offset (0.0 default)

◆ getStrokeDashPattern()

virtual const CEDLVector<double>& IDOMPathNode::getStrokeDashPattern ( ) const
pure virtual

Retrieves the stroke dash array.

The stroke dash array specifies the length of dashes and gaps of the outline stroke. The dash and gap lengths are specified as multiples of the stroke thickness and are stored in an array containing an even number of non-negative values.

The first argument in the array is the width of the first dash. The second is the width of the gap following the first dash. The third argument is the second dash width, followed by another gap width, and so on. If you specify an odd number of elements, the elements are repeated to produce an even number.

When a stroke is drawn, the dashes and gaps specified by these values are repeated to cover the length of the stroke. If this attribute is omitted, the stroke is drawn solid, without any gaps.

Returns
CEDLVector<double> The stroke dash array

◆ getStrokeDashsCount()

virtual uint32 IDOMPathNode::getStrokeDashsCount ( )
pure virtual

Retrieves the length of the stroke dash array.

Returns
uint32 The number of entries in the stroke dash array.

◆ getStrokeEndLineCap()

virtual eStrokeLineCap IDOMPathNode::getStrokeEndLineCap ( ) const
pure virtual

Retrieves the line cap type for the end of the stroke.

See also
eStrokeLineCap
Returns
eStrokeLineCap The type of line cap to use at the end of the stroke.

◆ getStrokeLineJoin()

virtual eStrokeLineJoin IDOMPathNode::getStrokeLineJoin ( ) const
pure virtual

Retrieves the stroke line join value. The stroke line join specifies how a stroke is drawn at a corner of a path. Valid values are specified by eStrokeLineJoin. If mitered joins are selected, the value of StrokeMiterLimit is used in drawing the stroke.

See also
eStrokeLineJoin
Returns
eStrokeLineJoin Stroke line join (Miter default)

◆ getStrokeMiterLimit()

virtual double IDOMPathNode::getStrokeMiterLimit ( ) const
pure virtual

Retrieves the stroke miter limit. The stroke miter limit is the ratio between the maximum miter length and half of the stroke thickness. This value must be equal to or greater than 1.0. The value is significant only if the StrokeLineJoin attribute specifies mitered joins.

Returns
double Stroke miter limit (10.0 default).

◆ getStrokeMiterLimitTreatment()

virtual eStrokeMiterLimitTreatment IDOMPathNode::getStrokeMiterLimitTreatment ( ) const
pure virtual

Retrieves the miter limit treatment for this path. The stroke miter treatment specifies how miters extending beyond the limit should be treated.

Returns
eStrokeMiterLimitTreatment Stroke miter treatment. (ClipLongMiters default).

◆ getStrokeStartLineCap()

virtual eStrokeLineCap IDOMPathNode::getStrokeStartLineCap ( ) const
pure virtual

Retrieves the line cap type for the start of the stroke.

See also
eStrokeLineCap
Returns
eStrokeLineCap The type of line cap to use at the start of the stroke.

◆ getStrokeThickness()

virtual double IDOMPathNode::getStrokeThickness ( ) const
pure virtual

Retrieves the stroke thickness. The stroke thickness specifies the thickness of a stroke, in units of the effective coordinate space including the path's render transform. The stroke is drawn on top of the boundary of the geometry specified by the path geometry information. Half of the stroke thickness extends outside of the geometry and the other half extends inside of the geometry.

Returns
double Stroke thickness (1.0 default)

◆ setAutomationPropertiesHelpText()

virtual void IDOMPathNode::setAutomationPropertiesHelpText ( const EDLString &  helptext)
pure virtual

Sets the automation properties help text of the path.

Automation properties help text is a detailed description of the path's content, used for accessibility purposes, particularly if the path is filled with an image brush, or a set of vector graphics and text elements intended to comprise a single vector graphic.

Parameters
helptextAutomation properties help text

◆ setAutomationPropertiesName()

virtual void IDOMPathNode::setAutomationPropertiesName ( const EDLString &  propname)
pure virtual

Sets the automation properties name of the path.

Automation properties help text is a detailed description of the path's content, used for accessibility purposes, particularly if the path is filled with an image brush, or a set of vector graphics and text elements intended to comprise a single vector graphic.

Parameters
propnameThe new automation properties name.

◆ setBlendMode()

virtual void IDOMPathNode::setBlendMode ( eBlendMode  blendMode)
pure virtual

Set the blend mode to be used for rendering this path. Note: modes other than Normal are not directly representable in XPS.

Parameters
blendModeThe desired blend mode.

◆ setClip()

virtual void IDOMPathNode::setClip ( const IDOMPathGeometryPtr &  ptrClip)
pure virtual

Sets the clip geometry.

The clip geometry node specifies a clipping region which describes the geometric area to be preserved. The remainder is not rendered.

Parameters
ptrClipSmart pointer to the new clip geometry node, or NULL to clear

◆ setEdgeMode()

virtual void IDOMPathNode::setEdgeMode ( eEdgeMode  em)
pure virtual

Sets render the options edge mode of the path.

The EdgeMode property controls how the edges of the path are rendered. The only valid value is Aliased. Omitting this attribute causes the edges to be rendered in the consumers default manner. The EdgeMode property can be set in a path to instruct anti-aliasing consumers to render the path without performing antialiasing.

Parameters
emThe new edge mode for the canvas.

◆ setFill()

virtual void IDOMPathNode::setFill ( const IDOMBrushPtr &  ptrFill)
pure virtual

Sets the fill brush for the path.

Parameters
ptrFillSmart pointer to the new fill brush, or NULL to clear.

◆ setLanguage()

virtual void IDOMPathNode::setLanguage ( const EDLString &  lang)
pure virtual

Sets default language of the <Path> element and any of its children.

English is defined as en_GB and American English as en_US. There is no default setting. If the language is not known it is set to und (undetermined). For further information see http://www.w3.org/International/articles/language-tags/.

The language is specified according to RFC 3066.

Parameters
langDefault language

◆ setNavigateLink()

virtual void IDOMPathNode::setNavigateLink ( const IDOMTargetPtr &  target)
pure virtual

Sets the target of a hyperlink.

Parameters
targetThe target to associate with the node, or NULL to clear.

◆ setOpacity()

virtual void IDOMPathNode::setOpacity ( float  opc)
pure virtual

Sets the opacity value of the path. The opacity value defines the uniform transparency of the path. This is a number between 0 (fully transparent) and 1 (fully opaque).

Parameters
opcThe new opacity value.

◆ setOpacityMask()

virtual void IDOMPathNode::setOpacityMask ( const IDOMBrushPtr &  ptrOpacityMask)
pure virtual

Sets the opacity mask for the path.

The opacity mask specifies a mask of alpha values that is applied to the path in the same fashion as the simple opacity setting, but allowing different alpha values for different area of the canvas. With an opacity mask, you can combine an object with one or more other objects to define transparent areas of the shape.

Opacity masks use the values of one object or image to define the transparent areas of another. The objects that define the transparency can be any type of visual element - solid objects, strokes, gradients, raster images, text or combinations of all of the above.

Parameters
ptrOpacityMaskSmart pointer to brush to set, or NULL to clear.

◆ setPathData()

virtual void IDOMPathNode::setPathData ( const IDOMPathGeometryPtr &  ptrPathData)
pure virtual

Sets the path geometry node.

Parameters
ptrPathDataSmart pointer to the new path geometry node.

◆ setRenderTransform()

virtual void IDOMPathNode::setRenderTransform ( const FMatrix matrix)
pure virtual

Sets the render transform matrix. The render transform matrix establishes a new coordinate frame for all attributes of the path and for all child elements of the path, such as the path geometry.

Parameters
matrixThe new render transform matrix.

◆ setShouldZeroWidthLinesBeVisible()

virtual void IDOMPathNode::setShouldZeroWidthLinesBeVisible ( bool  visible)
pure virtual

Sets whether or not zero width strokes in this path should be rendered visibly as a cosmetic line.

Parameters
visibleWhether or not zero width strokes should be rendered as a cosmetic line.

◆ setSnapsToDevicePixels()

virtual void IDOMPathNode::setSnapsToDevicePixels ( bool  s2dp)
pure virtual

Sets snapsToDevicePixels.

The ignorable attribute snapsToDevicePixels can be set to allow consumers or viewers that perform anti-aliasing to "snap" any path control points that are situated on the path bounding box to whole device pixels.

Parameters
s2dpNew value of snapsToDevicePixels.

◆ setStroke()

virtual void IDOMPathNode::setStroke ( const IDOMBrushPtr &  ptrStroke)
pure virtual

Sets the stroke brush for the path.

Parameters
ptrStrokeSmart pointer to the new stroke brush, or NULL to clear.

◆ setStrokeDashLineCap()

virtual void IDOMPathNode::setStrokeDashLineCap ( eStrokeLineCap  slc)
pure virtual

Sets the stroke dash line cap.

See also
eStrokeLineCap
Parameters
slcThe stroke dash line cap (Flat default)

◆ setStrokeDashOffset()

virtual void IDOMPathNode::setStrokeDashOffset ( double  sdo)
pure virtual

Sets the stroke dash offset value. This adjusts the start point for repeating the dash array pattern. If this value is omitted, the dash array aligns with the origin of the stroke. Values are specified as multiples of the stroke thickness.

Parameters
sdoStroke dash offset (0.0 default)

◆ setStrokeEndLineCap()

virtual void IDOMPathNode::setStrokeEndLineCap ( eStrokeLineCap  slc)
pure virtual

Sets the line cap type for the end of the stroke.

See also
eStrokeLineCap
Parameters
slcThe stroke end line cap (Flat default)

◆ setStrokeLineJoin()

virtual void IDOMPathNode::setStrokeLineJoin ( eStrokeLineJoin  slj)
pure virtual

Sets the stroke line join value. The stroke line join specifies how a stroke is drawn at a corner of a path. Valid values are specified by eStrokeLineJoin. If mitered joins are selected, the value of StrokeMiterLimit is used in drawing the stroke.

See also
eStrokeLineJoin
Parameters
sljThe stroke line join (Miter default)

◆ setStrokeMiterLimit()

virtual void IDOMPathNode::setStrokeMiterLimit ( double  sml)
pure virtual

Sets the stroke miter limit. The stroke miter limit is the ratio between the maximum miter length and half of the stroke thickness. This value must be equal to or greater than 1.0. The value is significant only if the StrokeLineJoin attribute specifies mitered joins.

Parameters
smlStroke miter limit (10.0 default).

◆ setStrokeMiterLimitTreatment()

virtual void IDOMPathNode::setStrokeMiterLimitTreatment ( eStrokeMiterLimitTreatment  treatment)
pure virtual

Sets the stroke miter limit treatment. The stroke miter treatment specifies how miters extending beyond the limit should be treated.

Parameters
treatmentThe desired stroke miter treatment.

◆ setStrokeStartLineCap()

virtual void IDOMPathNode::setStrokeStartLineCap ( eStrokeLineCap  slc)
pure virtual

Sets the line cap type for the start of the stroke.

See also
eStrokeLineCap
Parameters
slcThe stroke start line cap (Flat default)

◆ setStrokeThickness()

virtual void IDOMPathNode::setStrokeThickness ( double  st)
pure virtual

Sets stroke thickness The stroke thickness specifies the thickness of a stroke, in units of the effective coordinate space including the path's render transform. The stroke is drawn on top of the boundary of the geometry specified by the path geometry information. Half of the stroke thickness extends outside of the geometry and the other half extends inside of the geometry.

Parameters
stStroke thickness (1.0 default)

◆ split()

virtual IDOMNodePtr IDOMPathNode::split ( IEDLClassFactory pFactory)
pure virtual

If the path represents both a fill and a stroke, separate the fill and stroke into separate paths. Throws an IEDLError on failure.

Parameters
pFactoryThe factory to use.
Returns
IDOMNodePtr Either an IDOMGroup, IDOMTransparencyGroup or canvas representing the split results, or the path itself if no splitting is required.

The documentation for this class was generated from the following file: