InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IOutlineInfo Class Referenceabstract

#include <IOutlineInfo.h>

Inheritance diagram for IOutlineInfo:
GPortOutlineInfoPathBoundsOutlineInfoPathOutlineInfoStrokeBoundsOutlineInfo

Public Member Functions

virtual void BeginPath ()=0
 
virtual void EndPath ()=0
 
virtual void moveto (const PMReal &x, const PMReal &y)=0
 
virtual void lineto (const PMReal &x, const PMReal &y)=0
 
virtual void curveto (const PMReal &x1, const PMReal &y1, const PMReal &x2, const PMReal &y2, const PMReal &x3, const PMReal &y3)=0
 
virtual void closepath ()=0
 

Detailed Description

Abstract class passed to callback functions on various interfaces where path information is required. Defines a basic set of operations for paths in the Adobe imaging model.

BeginPath is called to start a path, followed by a series of moveto, lineto, curveto, and closepath calls for the path's subpaths. EndPath is then called to end the path.

Note: This is not a standard interface and is not reference counted.

See Also
IPathGeometry::GetOutlineInfo
IHandleShape::GetControlPointPathOutlineInfo
IPathPageItem::GetOutlineInfo
IRasterPort::GetPathInfo
IOffsetPath::OffsetPath
IPathStorage::GetPathInfo

Member Function Documentation

virtual void IOutlineInfo::BeginPath ()
pure virtual

Begins a new path. Called before any of the other methods is called.

Implemented in StrokeBoundsOutlineInfo, PathBoundsOutlineInfo, GPortOutlineInfo, and PathOutlineInfo.

virtual void IOutlineInfo::closepath ()
pure virtual

Closes the current subpath. If the first point in the subpath (defined by a prior call to moveto) does not correspond to the current point, this call will implicitly add a line segment from the current point to the first point in the subpath.

The current point is undefined after a call to closepath. The caller must call moveto to start a new subpath and establish the current point before calling either lineto, curveto, or closepath.

Implemented in StrokeBoundsOutlineInfo, PathBoundsOutlineInfo, GPortOutlineInfo, and PathOutlineInfo.

virtual void IOutlineInfo::curveto (const PMRealx1,
const PMRealy1,
const PMRealx2,
const PMRealy2,
const PMRealx3,
const PMRealy3 
)
pure virtual

Adds a new bezier curve segment to the current subpath, using four control points. The current point in user space at the time the call is made is used as the starting point for the curve. (x1, y1) and (x2, y2) are used as control points defining the degree of curvature and magnitude of the curve, and (x3, y3) defines the end point. The current point is implicitly set to (x3, y3).

Parameters
x1IN The x-component for the first control point of the new bezier segment
y1IN The y-component for the first control point of the new bezier segment
x2IN The x-component for the second control point of the new bezier segment
y2IN The y-component for the second control point of the new bezier segment
x3IN The x-component for the end point of the new bezier segment
y3IN The y-component for the end point of the new bezier segment

Implemented in StrokeBoundsOutlineInfo, PathBoundsOutlineInfo, GPortOutlineInfo, and PathOutlineInfo.

virtual void IOutlineInfo::EndPath ()
pure virtual

Ends a path begun by BeginPath.

Implemented in StrokeBoundsOutlineInfo, PathBoundsOutlineInfo, GPortOutlineInfo, and PathOutlineInfo.

virtual void IOutlineInfo::lineto (const PMRealx,
const PMRealy 
)
pure virtual

Adds a line segment to the current subpath. The beginning of the segment is the current point in user space at the time the call is made. The end is (x, y). Implicitly sets the current point to (x, y).

Parameters
xIN The x-component for the end point of the new line segment
yIN The y-component for the end point of the new line segment

Implemented in StrokeBoundsOutlineInfo, PathBoundsOutlineInfo, GPortOutlineInfo, and PathOutlineInfo.

virtual void IOutlineInfo::moveto (const PMRealx,
const PMRealy 
)
pure virtual

Starts a new subpath. The current point in user space is set to (x, y).

Parameters
xIN The x-component of the new current point
yIN The y-component of the new current point

Implemented in StrokeBoundsOutlineInfo, PathBoundsOutlineInfo, GPortOutlineInfo, and PathOutlineInfo.