InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IAdornmentVisibility.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Heath Lynn
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:
24 // Sometimes you may want to leave an adornment on a shape. However, you may
25 // not want it to draw. Add your own implementation of this interface to the
26 // shapes boss (along with a unique Interface ID) and have your adornment query
27 // for it to check if it should draw.
28 //
29 // You also may want to have an adornment draw in some circumstances, but not
30 // others. For instance, we want to allow the user to set grids to draw all in
31 // one view regardless of how they appear on screen.
32 //
33 //========================================================================================
34 
35 #ifndef __IAdornmentVisibility__
36 #define __IAdornmentVisibility__
37 
38 #include "GraphicsData.h"
39 #include "K2Vector.h"
40 
41 #include "IPMUnknown.h"
42 #include "IGraphicsPort.h"
43 
45 {
46 
47 public:
48 
49  virtual void SetVisible(bool16 isVisible) = 0;
50 
51  // Should the adornment be visible in the given gPort?
52  // A nil gPort which is the default simply returns a
53  // the value as set.
54  // emptyFrames array is expected to come in sorted order
55  typedef K2Vector<int32> FrameList;
56  virtual bool16 IsVisible(GraphicsData * gd = nil, int32 flags = 0, FrameList * emptyFrames = nil) = 0;
57 
58  // emptyFrames array is expected to come in sorted order
59  virtual bool16 IsEmpty(K2Vector<int32> * emptyFrames = nil) = 0;
60 };
61 
62 #endif
63