InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ISprite.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Jack Kirstein
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //
23 // Purpose of interface:
24 // ISprite defines how to draw and manipulate objects dynamically.
25 //
26 //========================================================================================
27 
28 #ifndef __ISprite__
29 #define __ISprite__
30 
31 #include "IPMUnknown.h"
32 #include "GraphicsID.h"
33 
34 #include "PMReal.h"
35 #include "IShape.h"
36 
37 class UIDList;
38 class PMRect;
39 class PMMatrix;
40 
52 class ISprite : public IPMUnknown
53 {
54 public:
55  enum { kDefaultIID = IID_ISPRITE };
56 
73  virtual bool16 CreateSprite(IGraphicsContext* gc, UIDList* itemList, const PMPoint& startPt, bool16 bDrawItems = kTrue) = 0;
74 
80  virtual void DestroySprite(IGraphicsContext* gc) = 0;
81 
90  virtual void DisableShapes (IGraphicsContext* gc, bool16 disable) = 0;
91 
100  virtual bool16 Show(IGraphicsContext* gc, const PMPoint& where, int32 flags, PMMatrix* xForm = nil) = 0;
101 
110  virtual bool16 Scroll(IGraphicsContext* gc, const PMPoint& delta, int32 flags, PMMatrix* xForm = nil) = 0;
111 
125  virtual void Erase(IGraphicsContext* gc, const PMPoint& where, int32 flags, PMMatrix* xForm = nil) = 0;
126 
136  virtual void Hide(IGraphicsContext* gc, bool16 bForceRedraw, PMMatrix* xForm = nil) = 0;
137 
146  virtual SysRect GetDeviceBounds (IGraphicsContext* gc, int32 flags, PMMatrix* xForm = nil) = 0;
147 
150  virtual void InvalidateBBox() = 0;
151 
154  virtual bool16 ValidSprite() const = 0;
155 
159  virtual bool16 NeedsUpdate(const PMPoint& where, int32 flags) const = 0;
160 };
161 #endif