InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IParcelShape.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Jesse Jones (jejones)
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: Interface used to draw parcels.
24 //
25 //========================================================================================
26 
27 #ifndef __IParcelShape__
28 #define __IParcelShape__
29 
30 #include "IPMUnknown.h"
31 #include "DrawPassInfo.h"
32 
33 class GraphicsData;
34 class PMMatrix;
35 class PMRect;
36 class ICallback;
37 
38 
39 class IParcelShape : public IPMUnknown
40 {
41 public:
42  enum { kDefaultIID = IID_IPARCELSHAPE };
43 
48  virtual void GetInkBounds(PMRect *inkBounds) const = 0;
49 
50 #ifdef ID_DEPRECATED
51  //
52  // Invalidate cached state for the Parcel Shape including the ink bounds.
53  // ## Invalidations will be handled in the future through
54  // ITextParcelListData::InvalidateParcelComposedState().
55  //
56  virtual void Invalidate() = 0;
57 #endif
58 
59  //
60  // areaToDraw is in Frame coordinates.
61  //
62  virtual void Draw(GraphicsData* gd, int32 iShapeFlags,
63  const PMRect* areaToDraw) = 0;
64 
65  //
66  // call callbackInfo->callback for each item in this shape's hierarchy
67  //
68  virtual void IterateParcelShapeDrawOrder( const PMMatrix *xform,
69  ICallback *callbackInfo,
70  int32 iShapeFlags = 0) = 0;
71 
75  virtual bool16 GetHasCachedData() const = 0;
76 
77 };
78 
79 #endif // __IParcelShape__