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

#include <IPathFinder.h>

Inheritance diagram for IPathFinder:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IPATHFINDER }
 
enum  PathType { kNon_zero, kEven_odd }
 
enum  CombineType { kIntersect, kUnion, kDifference, kXOr }
 

Public Member Functions

virtual ErrorCode AddPath (const IPathGeometry *pathData, PathType pathType=kEven_odd)=0
 
virtual ErrorCode Combine (IPathGeometry *result, CombineType combineType, PathType resultType=kEven_odd, PMReal flatness=PMReal(kDefaultFlatness))=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

IPathFinder is an interface for intersecting, unioning, differencing or xoring

multiple paths.

Member Enumeration Documentation

anonymous enum

default IID for this interface

CombineType defines the various ways to combine multiple paths

PathType is used to determine whether interior paths are holes or not.
Enumerator
kNon_zero 

Use non-zero winding rule to determine insideness

kEven_odd 

Use even-odd rule to determine insideness

Member Function Documentation

virtual ErrorCode IPathFinder::AddPath (const IPathGeometrypathData,
PathType pathType = kEven_odd 
)
pure virtual

Add a path to the PathFinder engine - Call this once for each input path

Parameters
pathData- IN: A source path.
pathType- IN: Rule used to determine insideness.
Returns
ErrorCode if failure or 0 if success.
virtual ErrorCode IPathFinder::Combine (IPathGeometryresult,
CombineType combineType,
PathType resultType = kEven_odd,
PMReal flatness = PMReal(kDefaultFlatness) 
)
pure virtual

Combine the paths supplied via AddPath() in the order supplied.

Parameters
result- OUT: The resulting path.
combineType- IN: How you want the input paths combined.
resultType- IN: Insideness rule to assign to the resulting path.
flatness- IN: Postscript flatness value between kMinFlatness and kMaxFlatness
Returns
ErrorCode if failure or 0 if success.