![]() | InDesign SDK 20.5 |
#include <IGeometry.h>

Public Types | |
| enum | { kDefaultIID = IID_IGEOMETRY } |
Public Member Functions | |
| virtual PMRect | GetStrokeBoundingBox (const PMMatrix &theMatrix) const =0 |
| virtual PMRect | GetStrokeBoundingBox () const =0 |
| virtual ErrorCode | SetStrokeBoundingBox (const PMRect &newBBox)=0 |
| virtual ErrorCode | SetStrokeBoundingBox (const PMMatrix &theMatrix, const PMRect &newBBox)=0 |
| virtual PMRect | GetPathBoundingBox (const PMMatrix &theMatrix) const =0 |
| virtual PMRect | GetPathBoundingBox () const =0 |
| virtual ErrorCode | SetPathBoundingBox (const PMRect &newBBox)=0 |
| virtual ErrorCode | SetPathBoundingBox (const PMMatrix &theMatrix, const PMRect &newBBox)=0 |
| virtual PMReal | GetStrokeProportion () const =0 |
| virtual PMReal | GetPathProportion () const =0 |
| PMRect | GetBoundingBox (Geometry::BoundsKind kind, const PMMatrix &theMatrix) const |
| PMRect | GetBoundingBox (Geometry::BoundsKind kind) const |
| ErrorCode | SetBoundingBox (Geometry::BoundsKind kind, const PMRect &newBBox) |
| ErrorCode | SetBoundingBox (Geometry::BoundsKind kind, const PMMatrix &theMatrix, const PMRect &newBBox) |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
IGeometry is designed to be a "geometry independent" way of defining an object, meaning that nothing in the interface makes any assumption as to the item being rectangular, linear, etc.
PageItems are defined by one or more points. It is up to the implementer to decide how to interpret these point in order to get a BoundingBox, etc. As a convenience there are two sets of methods, one for bounding box with stroke and one for bounding box without stroke. For certain pageitems, such as images, the path bounds and stroke bounds will be the same.
Note: IGeometry does NOT draw. IShape is used for drawing and is implemented in terms of IGeometry.
IGeometry is a required interface of page items.
| pure virtual |
| pure virtual |
| pure virtual |
| pure virtual |
| pure virtual |
Set the bounding box without stroke in inner coordinates.
| newBBox | [In] parameter used to set the new bounding box. |
| whichAction | [In] parameter used to specify the action for children when doing this operation. |
Implemented in CGeometry.
| pure virtual |
Set the bounding box without stroke.
| theMatrix | [In] parameter that may change the transform of the item depending on the implementation of IGeometry |
| newBBox | [In] parameter used to set the new bounding box. |
| whichAction | [In] parameter used to specify the action for children when doing this operation. |
Implemented in CGeometry.
| pure virtual |
Set the bounding box with stroke in inner coordinates.
| newBBox | [In] parameter used to set the new bounding box. |
| whichAction | [In] parameter used to specify the action for children when doing this operation. |
Implemented in CGeometry.
| pure virtual |
Set the bounding box with stroke.
| theMatrix | [In] parameter that may change the transform of the item depending on the implementation of IGeometry |
| newBBox | [In] parameter used to set the new bounding box. |
| whichAction | [In] parameter used to specify the action for children when doing this operation. |
Implemented in CGeometry.