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

Public Types | |
| enum | { kDefaultIID = IID_ISPLINEUTILS } |
Public Member Functions | |
| virtual void | FilterMakeCompoundPathList (UIDList &selectedItems)=0 |
| virtual void | FilterReleaseCompoundPathList (UIDList &selectedItems)=0 |
| virtual void | StripTOPSpline (const UIDList &itemList, UIDList *pNewItemList, bool16 bReplaceByMainIfNeeded=kFalse)=0 |
| virtual ICommand * | CreateCopySubPathPipelineCmd (const UIDRef &pathItem, int32 pathIndex)=0 |
| virtual PMRect | ComputeInnerContentBBox (const IGraphicFrameData *gfd)=0 |
| virtual void | GetInnerContentBoundsData (const IGraphicFrameData *gfd, PMRect *pTextInset, PMReal *pStrokeWeight, int32 *pStrokeAlignment, PMReal *pEffectiveStrokeWeight=nil)=0 |
| virtual void | ComputeMinimumInnerDimensionsFor (PMReal leftTextInset, PMReal topTextInset, PMReal rightTextInset, PMReal bottomTextInset, PMReal strokeWeight, int32 strokeAlignment, PMReal *pSplineLeftWidth, PMReal *pSplineTopHeight, PMReal *pSplineRightWidth, PMReal *pSplineBottomHeight)=0 |
| virtual bool16 | ComputeInnerContentBounds (const PMRect &splinePathBBox, PMReal leftTextInset, PMReal topTextInset, PMReal rightTextInset, PMReal bottomTextInset, PMReal strokeWeight, int32 strokeAlignment, PMReal *pInnerPathLeft, PMReal *pInnerPathTop, PMReal *pInnerPathRight, PMReal *pInnerPathBottom)=0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
Utilities related to the model for splines.
| pure virtual |
This method will compute the inset bounding box of the specified Spline. The inset bounding box is defined as the inner bounds of the stroke further inset by the TextInset.
Note that the returned inner bounds will always be at least 1 high and 1 wide. This property allows us the MCF to not have to deal with cases where the stroke or inset give it no space. So in effect the MCF will not ever be smaller than 1x1.
| gfd | Pointer to IGraphicFrameData interface on a spline boss. |
| pure virtual |
This method will compute the inset bounding box relative to the specified spline path bbox. Note that the returned inner bounds will always be at least 1 high and 1 wide even if the calculated inner bounds are overlapping or less than one. This property allows us the MCF to not have to deal with cases where the stroke or inset give it no space. So in effect the MCF will not ever be smaller than 1x1. When this adaptation occurs this method returns kFalse.
| splinePathBBox | |
| leftTextInset | |
| topTextInset | |
| rightTextInset | |
| bottomTextInset | |
| strokeWeight | |
| strokeAlignment | |
| pInnerPathLeft | |
| pInnerPathTop | |
| pInnerRight | |
| pInnerPathBottom |
| pure virtual |
This method will compute the minimum inner dimension for the specified spline data to be effective.
| leftTextInset | |
| topTextInset | |
| rightTextInset | |
| bottomTextInset | |
| strokeWeight | |
| strokeAlignment | |
| pSplineLeftWidth | |
| pSplineTopHeight | |
| pSplineRightWidth | |
| pSplineBottomHeight |
| pure virtual |
Returns a pipeline command that copies the path object and deletes all but one of its paths (it keeps the pathIndex path)
| pathItem | the path page item to creat a command for |
| pathIndex | the path index of this item to operate on |
| pure virtual |
Filter out items that are no elibigle for making compound paths. Locked items are also filtered out.
| selectedItems | the UIDList to operate on. |
| pure virtual |
Filter out items that are no elibigle for releasing compound paths. Locked items are also filtered out.
| selectedItems | the UIDList to operate on. |
| pure virtual |
Return the parameters/properties of use in computing the inner content bounds of the Spline.
| gfd | Pointer to IGraphicFrameData interface on a spline boss. |
| pTextInset | OUT Pointer to PMRect which will be filled in with text inset |
| pStrokeWeight | OUT Pointer to PMReal which will be filled in with stroke weight |
| pStrokeAlignment | OUT Pointer to int32 which will be filled in with stroke alignment if stroke weight is non-zero, otherwise kStrokeAlignCenter. |
| pEffectiveInnerStrokeWeight | OUT Optional Pointer to PMReal which will be filled in with effective inner stroke weight |
| pure virtual |
Given an item list, make a new item list replacing TOP splines with their main item as requested.
| &itemList,original | item list to operate on |
| *pNewItemList | [OUT] output list, could be empty |
| bReplaceByMainIfNeeded | if kTrue, replace TOP splines with their main item. If kFalse, all items are put into pNewItemList |