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

Classes | |
| class | ClippingOrFilteringDisabler |
| struct | FilterInfo |
Public Types | |
| enum | { kDefaultIID = IID_IDRAWMGR } |
Public Member Functions | |
| virtual void | BeginInterruptableDraw (DrawInterrupter *interruptChecker=nil)=0 |
| virtual void | EndInterruptableDraw ()=0 |
| virtual void | EnableInterruptableDraw (bool16 enable=kTrue)=0 |
| virtual void | DisableInterruptableDraw ()=0 |
| virtual bool16 | IsDrawingInterruptable ()=0 |
| virtual void | Abort ()=0 |
| virtual bool16 | DrawAtOnce (IGraphicsContext *gc, const UIDRef &thing, int32 flags)=0 |
| virtual bool16 | DrawIncrementallyUsingDrawbot (IGraphicsContext *gc, const UIDRef &thing, int32 flags, IDVPlatformOffscreen *srcOffscreen, dvaui::drawbot::Drawbot *dstDrawbot, SysRect updateBounds, int32 tickCount)=0 |
| virtual void | BeginCullToViewRect (const PMRect &r)=0 |
| virtual void | BeginCullToViewRegion (const SysRgn &rgn)=0 |
| virtual bool16 | EndLatestViewSpaceCulling ()=0 |
| virtual SysRgn | GetViewCullRegion () const =0 |
| virtual uint32 | GetSpreadFilterCount () const =0 |
| virtual uint32 | BeginFilterToSpreadRect (const PMRect &r, const PMMatrix &m=PMMatrix(1., 0., 0., 1., 0., 0.), const PMMatrix &rest=PMMatrix(0., 0., 0., 0., 0., 0.))=0 |
| virtual uint32 | EndFilterToSpreadRect (PMRect *r=nil, PMMatrix *m=nil, PMMatrix *rest=nil)=0 |
| virtual FilterInfo | GetNthSpreadFilter (uint32 which) const =0 |
| virtual bool16 | IsDrawAborted ()=0 |
| virtual bool16 | IsDrawClipped (IPMUnknown *thing, const PMMatrix *pb2view)=0 |
| virtual bool16 | BeginShape (IPMUnknown *theShape)=0 |
| virtual void | EndShape (IPMUnknown *theShape)=0 |
| virtual void | FlushOffscreenIfNecessary ()=0 |
| virtual void | Disable (UID item, bool16 disable)=0 |
| virtual bool16 | IsItemDisabled (UID item) const =0 |
| virtual bool16 | WasDrawAborted () const =0 |
| virtual void | ClearAborted ()=0 |
| virtual void | IterateDrawOrder_ (const PMMatrix *xform, const UIDRef &thing, ICallback *callbackInfo, int32 flags)=0 |
| void | IterateDrawOrder (const UIDRef &thing, ICallback *callbackInfo, int32 flags) |
| virtual bool16 | DisableClippingOrFiltering ()=0 |
| virtual void | EnableClippingOrFiltering ()=0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
The DrawMgr is a class that exists on each port and is used to set clipping areas as well as to initiate the drawing of any page element and its children. Optionally, this class can be used to iterate the draw order, calling a client provided callback routine for every page item in the hierarchy.
| anonymous enum |
default enum
| pure virtual |
Interrupts drawing, with the side effect that the current update area will be invalidated, causing an update/paint event to occur such that the drawing will start again in the future.
| pure virtual |
Set "clipping" region. Draw not called for items that fall outside the clip rect Beginning a new clip while a clip is already installed will push the new clip onto the draw mgr stack. The new clip does not union or intersect with the previous clip, it simply supercedes it. When endclip is called the clip is popped off the stack and the old clip takes over.
| r | IN specifies clipping rect |
| pure virtual |
Set "clipping" region. Draw not called for items that fall outside the clip rect Beginning a new clip while a clip is already installed will push the new clip onto the draw mgr stack. The new clip does not union or intersect with the previous clip, it simply supercedes it. When endclip is called the clip is popped off the stack and the old clip takes over. Makes a copy of rgn.
| rgn | IN specifies clipping region |
| pure virtual |
A filter is a PMRect which specifies an area which must be intersected by a page item before it will be drawn. This filter does not affect how the page item is drawn (i.e. it does not clip). To clip the page item, use BeginClip.
| r | IN the filter rect |
| pure virtual |
Sets an interrupt checker before drawing to a port. If this method is called before calling Draw(), then the interrupt checker will periodically (usually before each page item in the hierarchy is drawn) be called to see if the draw should be aborted.
| interruptChecker | IN the DrawInterrupter |
| pure virtual |
Do not use, this method is called by the Draw Event Handler at the beginning of every IShape::Draw implementation.
| theShape | IN the shape being drawn |
| pure virtual |
Clears flag if Draw was aborted during the last Begin/End Interruptable draw sequence.
| pure virtual |
Disable an item. It is up to the page item to call back and ask if it is in fact disabled.
| item | IN UID of the page item to disable |
| disable | IN specifies whether to disable item |
| pure virtual |
Does a "global" disabling of any clipping or filtering. This method is useful for situations where a piece of content, such as a PageItem child or even Text content knows that it needs to draw but by the rules of the hierarchy it will get either clipped or filtered out.
| pure virtual |
Same as EnableInterruptableDraw(kFalse).
| pure virtual |
Main entry point - if kFalse is returned, any loops (ie hierarchy loops) should immediately abort.
| gc | IN the graphics context. Contains info about the port. |
| thing | IN the page item to draw |
| flags | IN see IShape.h for the drawing flags |
| pure virtual |
Draw with timed updates to the screen. The client passes in a droverized platform offscreen and a pointer to the screen. Make sure the update bounds encompasses the entire region that will be painted by thing and its children. tickCount is the update interval. Too small and the screen is updated far too often. Too large and the benefit is minimal. Suggested value is 1/2 second (500 ticks).
| gc | IN the graphics context. Contains info about the port. |
| thing | IN the page item to draw |
| flags | IN see IShape.h for the drawing flags |
| srcOffscreen | IN a pointer to the droverized offscreen we are drawing to |
| dstDrawbot | IN a pointer to the destination drawbot we are drawing to |
| updateBounds | IN the area of the port or offscreen we are updating |
| tickCount | IN how frequently to update the port using the srcOffscreen |
| pure virtual |
Re-enables clipping or filtering disabled by a call to the previous method.
| pure virtual |
Enables/disables the ability to interrupt drawing. When enabled, BeginInterruptableDraw() has no effect. Useful in some tracking situations.
| enable | IN whether to enable drawing interrupt |
| pure virtual |
End the current filter.
| pure virtual |
Removes the interrupt checker set by BeginInterruptableDraw.
| pure virtual |
Removes the current clipping from the stack.
| pure virtual |
Do not use, this method is called by the Draw Event Handler at the end of every IShape::Draw implementation. Every call to BeginShape should be paired with a call to EndShape, even if the drawing was aborted.
| theShape | IN the shape being drawn |
| pure virtual |
IsDrawAborted flushes the offscreen to the screen every few seconds. Sometimes, you want to flush the offscreen, but you don't want to set the aborted flag, even if the user has done something to abort. This will accomplish that. You can call it alot, it will only have an effect every few seconds or so, just like IsDrawAborted.
| pure virtual |
Returns a copy of the current clipping region. If there is no clipping region, then nil is returned. Caller is responsible for disposing of the result if non-nil.
| pure virtual |
Do not use, use ProcessEvent() with the kAbortCheckMessage event to check for interruption.
| pure virtual |
Do not use, use ProcessEvent() with the kFilterCheckMessage event to check for clipping.
| pure virtual |
Used to determine whether or not interruptable drawing has been disabled via a call to EnableInterruptableDraw() or DisableInterruptableDraw().
| pure virtual |
Returns whether page item is disabled.
| item | UID of the page item |
| pure virtual |
To walk the display hierarchy in the same order as Draw, use this. the transform matrix is passed instead of a graphics context (which may not exist); callees can modify the transform for their own purposes (e.g. master pages will concatenate a translation).
| pure virtual |
Returns whether draw was aborted or not during the last Begin/End Interruptable draw sequence. The flag is cleared either by a successful Begin/End Interruptable draw or by calling ClearAborted()