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

Classes | |
| class | ConcatTransformInScope |
Public Types | |
| enum | LockedItemTreatment { kDontSeeLockedItems = 0, kSeeLockedItems } |
| enum | LockedLayerTreatment { kDontSeeLockedLayers = 0, kSeeLockedLayers } |
| enum | MasterPageHandlerTreatment { kDontSeeMPItems = 0, kSeeAndOverrideMPItems, kOnlySeeMPItems, kSeeAndOverrideMPItemsAndThreads } |
Public Member Functions | |
| BaseHitTestHandlerImpl (IPMUnknown *boss) | |
| virtual void | InitHandler (GraphicsData *gd, IShape *theShape) |
| virtual void | TerminateHandler (void) |
| virtual const PMRect | GetHandlerIntersectionRect (void) const |
| virtual const GraphicsData * | GetHandlerGraphicsDataPtr (void) const |
| virtual bool16 | HandleSpread (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleSpreadLayer (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleInlineItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleSplineItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleMultiColumnFrameItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleFrameItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleGroupItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleGuideItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandlePage (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleImageItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleHTMLItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleEPSTextItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleEPSItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandlePICTItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleWMFItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandlePDFItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleTOPItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleOwnedItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleWaxAnchoredElementItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleParcelItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HandleUnknownItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
Protected Member Functions | |
| virtual bool16 | HandleAdornments (IAdornmentShape::AdornmentDrawOrder drawOrder, IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| void | InitAssociatedData (void) |
| virtual bool16 | StandardPageItemHandler (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | StandardLeafNodeHandler (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | HitTestTextOnPath (IShape *iShape, IAdornmentShape::AdornmentDrawOrder drawOrder, GraphicsData *gd, const PMRect &r) const |
| virtual bool16 | HandleSpreadOMP (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor) |
| virtual bool16 | DoHandleSpreadLayer (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor, MasterPageHandlerTreatment mph, LockedLayerTreatment llt=kDontSeeLockedLayers) |
| virtual bool16 | DoHandleSplineItem (IVisitorHelper *pVisitable, IBaseVisitor *theVisitor, LockedItemTreatment lit=kDontSeeLockedItems) |
| virtual bool16 | IsItemLocked (IPMUnknown *item) |
Protected Attributes | |
| GraphicsData * | fHitTestHandlerGrarphicsData |
| PMRect | fTheHitTestRectangle |
| UIDList * | fThingsHit |
| IShape * | fShape |
Friends | |
| class | ConcatTransformInScope |
Base implementation for IBaseHandler to accomplish hit-testing in InDesign. This implements the most widely-used handler routines for basic hit-testing. Several specialized subclasses exist, and in fact none of the hit-test handler bosses in InDesign derive solely from this implementation.
When a hit is found by a handler routine, it appends the item UID to the UIDList pointed to by fThingsHit, for access by the top-level caller to the item hit. This mechanism could support the storage of more than one hit item, though in practice this handler typically stops hit-testing after one hit is found.
Situations requiring hit-testing behavior other than this implementation should subclass and override the HandleXXX routines as necessary. See related files for information on adding hit-testing support for new types of pageitems.
Flags for how to treat master page items while hit-testing.
| protectedvirtual |
Hit-test a SplineItem, with control over how to handle locked items
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
| mph | IN specifies how to treat masterpage items |
| llt | IN specifies how to treat locked layers |
| protectedvirtual |
Hit-test a spread layer, with control over how to handle masterpage items and locked layers
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
| mph | IN specifies how to treat masterpage items |
| llt | IN specifies how to treat locked layers |
| inlinevirtual |
Get the GraphicsData pointer provided to InitHandler()
Implements IBaseHandler.
| virtual |
Get the hit-testing rectangle stored in IBaseSelectionHandlerData.
Implements IBaseHandler.
| protectedvirtual |
Subclasses can handle adornments here.
| virtual |
Invoke StandardLeafNodeHandler for an EPS item.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardLeafNodeHandler for an EPS text item.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardPageItemHandler for a text frame.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardPageItemHandler for a group item.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Check for a hit in the area occupied by a ruler guide.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardLeafNodeHandler for an embedded HTML item.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardLeafNodeHandler for an image.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Hit-test an inline item
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardPageItemHandler for a multi-column frame.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Hit-test an owned item, such as a graphic anchored in a text frame or a table
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardLeafNodeHandler for a page.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Hit-test a text parcel
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardLeafNodeHandler for a PDF item.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardLeafNodeHandler for a PICT.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Hit-test a spline item
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Hit-test a spread
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Hit-test a spread layer
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| protectedvirtual |
Hit-tests a spread, while passing a flag to master pages code to override any hit item
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
| virtual |
Invoke StandardPageItemHandler for a text on a path item.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardPageItemHandler for an unknown item.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Hit-test a wax anchored element, such as a footnote
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| virtual |
Invoke StandardLeafNodeHandler for a Windows metafile.
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
Implements IBaseHandler.
| protectedvirtual |
Test for a hit using IMainItemTOPData::PointIsInTOPTextArea
| iShape | IN pointer to the shape having the text on a path |
| drawOrder | UNUSED pass a dummy value |
| gd | IN GraphicsData pointer |
| r | IN the hit-test rectangle |
| protected |
Cache some information from other interfaces on this boss.
| virtual |
Do some caching, do a gsave, and concatenate theShape's ParentToPasteboardMatrix into the gport.
| gd | IN GraphicsData pointer for drawing environment |
| theShape | IN IShape pointer for initial shape to hit-test from, typically a spread |
Implements IBaseHandler.
| protectedvirtual |
Apply simple hit-testing logic to an item that has graphic data by checking adornments, any clipping path, and the item's shape itself.
Steps:
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
| protectedvirtual |
Apply bare-bones hit-testing logic to a pageitem by only checking adornments and children, but not the item itself.
Steps:
| pVisitable | IN the IVisitorHelper interface on the item |
| theVisitor | IN the IBaseVisitor interface used for traversal |
| virtual |
Do a grestore to match the gsave performed in InitHandler().
Implements IBaseHandler.