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

Public Types | |
| enum | { kDefaultIID = IID_IRENDERINGOBJECTAPPLYACTION } |
Public Member Functions | |
| virtual void | PreGraphicApply (IPMUnknown *newAttr, IAttributePrePost::ActionType attrActionType, UIDRef pageItem, IClassIDListData *, IPMUnknown *origAttr, ClassID origRendObjClassID, ClassID newRendObjClassID) const =0 |
| virtual void | PostGraphicApply (IPMUnknown *newAttr, IAttributePrePost::ActionType, UIDRef pageItem, IClassIDListData *, IPMUnknown *origAttr, ClassID origRendObjClassID, ClassID newRendObjClassID) const =0 |
| virtual void | CleanUpPageItemAttr (K2Vector< IPMUnknown * > *origAttrs, K2Vector< IPMUnknown * > *newAttrs, UIDList *pageItemList, IClassIDListData *iClassIDList)=0 |
| virtual void | PreTextApply (ITextModel *model, TextIndex start, int32 len, ClassID textRenderAttrClass, IFocusCache *listOfAll) const =0 |
| virtual void | PostTextApply (ITextModel *model, TextIndex start, int32 len, ClassID textRenderAttrClass, IFocusCache *listOfAll) const =0 |
| virtual void | SwapGraphicStrokeAndFill (IPMUnknown *iFillRenderingObject, ClassID fillRenderingClassID, IPMUnknown *iStrokeRenderingObject, ClassID strokeRenderingClassID, UIDRef pageItem, IClassIDListData *iAttributesModified) const =0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
This interface is required on rendering objects. The rendering attribute's PrePost interface will call PreGraphicApply() before the attribute is applied and PostGraphicApply() afterwards. If the original and new rendering classIDs are different it will call CleanUpPageItemAttr() in PostGraphicApply().
The SwapGraphicStrokeAndFill function is called anytime that a page item's stroke and fill need to be swapped and the rendering object class is used for one or both of the rendering objects involved.
The IClassIDListData* is used to notify the graphic state of the attributes that were changed within the Pre and Post member functions. It is a list of ClassIDs. The implementations should check to see the class they are modifying is already list (using GetIndex()). If it is not currently listed use Append(modifiedClassID) for the attribute's classID.
| pure virtual |
This is called only if original attributes exist and are different from the ones replacing them. This is when the rendering object can clean up those attributes on the page item that are no longer needed.
| origAttrs | specifies the list of original attributes. This should be all of the same attribute class and same rendering class. |
| newAttrs | specifies the list of new attributes. This should be all of the same attribute class and same rendering class. |
| iClassIDList | contains a list of attribute class ID that were modified. |
| pure virtual |
Apply whatever updates are neccessary after rendering attribute is applied.
| newAttr | is the new rendering attribute applied. |
| attrActionType | specifies the attribute action type. |
| pageItem | specifies the page item UIDRef that the attribute is applied to. |
| origRendObjClassID | is the corresponding orginal rendering type for the attribute. |
| newRendObjClassID | is the corresponding new rendering type for the attribute. |
| pure virtual |
Apply whatever updates are neccessary after rendering attribute is applied to text.
| model | is the affected text model. |
| start | specifies starting index in the text model. |
| len | specifies length of the text affected in the text model. |
| textRenderAttrClass | specifies the text rendering attribute class being applied. |
| listOfAll | is the text focus cache. |
| pure virtual |
Apply whatever updates are neccessary before rendering attribute is applied.
| newAttr | is the new rendering attribute that will be applied. |
| attrActionType | specifies the attribute action type. |
| pageItem | specifies the page item UIDRef that the attribute will be applied to. |
| origRendObjClassID | is the corresponding orginal rendering type for the attribute. |
| newRendObjClassID | is the corresponding new rendering type for the attribute. |
| pure virtual |
Apply whatever updates are neccessary before rendering attribute is applied to text.
| model | is the affected text model. |
| start | specifies starting index in the text model. |
| len | specifies length of the text affected in the text model. |
| textRenderAttrClass | specifies the text rendering attribute class being applied. |
| listOfAll | is the text focus cache. |
| pure virtual |
Called when the stroke and fill rendering objects are swapped. The rendering object must make sure the page item is in the correct state. One or both of the rendering objects may be of the classID of the implementor. Any attributes that are added/changed/deleted must be added to the "iAttributesModified" list. If the stroke and fill rendering classes are the same this function will only be called once. It is called twice only if the rendering classes are different.
| iFillRenderingObject | is the fill rendering object to swap with. |
| fillRenderingClassID | is the fill rendering class ID corresponding to iFillrenderingObject. |
| iStrokeRenderingObject | is the stroke rendering object to swap with. |
| strokeRenderingClassID | is the stroke rendering class ID corresponding to iStrokeRenderingObject. |
| pageItem | specifies the page item UIDRef whose fill and stroke are being swapped. |
| iAttributesModified | specifies the list of attribute modified. |