DOM interfaces for path geometry, figures and segments. More...
Classes | |
class | PointTmpl< PointType > |
Geometry primitives including: point, rectangle and matrix types supporting both integer and floating point values within. More... | |
class | BoxTmpl< PointType > |
Template for a PDF-style box. Similar to a rectangle but specified using a left, bottom, right and top coordinate. More... | |
class | IDOMPathNode |
Interface to an EDL path node. A path node specifies a geometry that can be filled or stroked with a brush. More... | |
class | IDOMPathSegment |
Interface to path segment element. The path segment is the smallest unit in a path geometry. More... | |
class | IDOMArcSegment |
Interface to Arc Segment element. More... | |
class | IDOMPolyLineSegment |
Interface to a polyline segment node. A polyline segment describes a polygonal drawing containing an arbitrary number of individual vertices. The Points attribute defines the vertices. More... | |
class | IDOMPolyBezierSegment |
Interface to a path segment node describing a set of cubic Bézier curves. More... | |
class | IDOMPolyQuadraticBezierSegment |
Interface to a polyqualdratic Bézier segment. A polyqualdratic Bézier segment describes a set of quadratic Bézier curves from the starting point defined in the IDOMPathFigure, or from the end point of the previous segment, through a set of vertices, using specified control points. The Points attribute stores an off-curve control point (x2n-1, y2n-1) followed by the end point (x2n, y2n) for each quadratic Bézier curve (where n represents the quadratic Bézier curve). More... | |
class | IDOMPathFigure |
Interface to the path figure element. A path figure is a single shape comprised of continuous path segments. One or more path figures collectively define an entire path geometry. A path geometry may define the fill algorithm to be used on the component path figures. Instances of this type use exceptions of IEDLError for error handling. More... | |
class | IDOMPathGeometry |
Interface to a path geometry node. More... | |
class | IDOMPathGeometryBuilder |
Interface to a path geometry builder. More... | |
class | IDOMShape |
Interface to an IDOMShape. More... | |
class | IDOMShape::CShapeDetails |
Provides a view into the regions that comprise the shape. A region consists of a series of spans, each representing a series of rectangles that share the same y span. More... | |
struct | IDOMShape::CShapeDetails::CSpan |
Representation of a series of rectangles sharing the same y span. More... | |
Enumerations | |
enum | CTransformMatrix< TItem >::eOperationTypes { CTransformMatrix< TItem >::eDoesTranslate = 0x1 , CTransformMatrix< TItem >::eDoesScale = 0x2 , CTransformMatrix< TItem >::eDoesRotate = 0x4 , CTransformMatrix< TItem >::eIsComplex = 0x8 } |
Classification of operation type flags of the transform. More... | |
enum | IDOMPathNode::eStrokeLineJoin { IDOMPathNode::eMiterJoin , IDOMPathNode::eBevelJoin , IDOMPathNode::eRoundJoin } |
Specifies the different ways in which the lines in the path could be joined. More... | |
enum | IDOMPathNode::eStrokeMiterLimitTreatment { IDOMPathNode::eClipLongMiters , IDOMPathNode::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 | IDOMPathNode::eStrokeLineCap { IDOMPathNode::eFlatCap , IDOMPathNode::eSquareCap , IDOMPathNode::eRoundCap , IDOMPathNode::eTriangleCap } |
Specifies the different types of line end caps available. More... | |
enum | IDOMArcSegment::eSweepDirection |
The direction of the sweep-clockwise or counter clockwise-between the start and end points. More... | |
enum | IDOMPathGeometry::eFillRule { IDOMPathGeometry::eFREvenOdd , IDOMPathGeometry::eFRNonZero } |
Specifies the algorithm to determine whether or not a point is inside a shape on the canvas. More... | |
DOM interfaces for path geometry, figures and segments.
Specifies the algorithm to determine whether or not a point is inside a shape on the canvas.
"Insideness" is determined by drawing a ray from the point to infinity in any direction and counting the number of segments from the given shape that the ray crosses. The EvenOdd algorithm determines the "insideness" of a point on the canvas by drawing a ray from the point to infinity in any direction and counting the number of segments from the given shape that the ray crosses. If this number is odd, the point is inside; if it is even, the point is outside. This is the default rule. The NonZero rule determines the "insideness" of a point on the canvas by drawing a ray from the point to infinity in any direction and then examining the places where a segment of the shape crosses the ray. Starting with a count of zero, add one each time a segment crosses the ray from left to right and subtract one each time a path segment crosses the ray from right to left. After counting the crossings, if the result is zero then the point is outside the path; otherwise, it is inside.
Enumerator | |
---|---|
eFREvenOdd | Use the even/odd fill algorithm. |
eFRNonZero | Use the non-zero fill algorithm. |
enum CTransformMatrix::eOperationTypes |
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.
Enumerator | |
---|---|
eClipLongMiters | Clip long miters. |
eBevelLongMiters | Bevel long miters. |
The direction of the sweep-clockwise or counter clockwise-between the start and end points.
The intersection of two ellipses produces four line segments. Generally speaking, two segments will have a sweep of more than 180 degrees, and two segments will have a sweep of less than 180 degrees. Of each pair of segments, one will be drawn in a clockwise direction from the starting point the other in a counter clockwise direction. SweepDirection is used in conjunction with the Boolean member isLargeArc to specify which of the four arcs is required (see getIsLargeArc()).