InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IGraphicLayerInfo.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: David Berggren
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 // Stores info about layers read in from a placed graphic (i.e. PSD or AI file)
25 // Assumes layer names are unique
26 //
27 //========================================================================================
28 
29 #ifndef __IGraphicLayerInfo__
30 #define __IGraphicLayerInfo__
31 
32 #include "IPMUnknown.h"
33 #include "ImageID.h"
34 #include "PMString.h"
35 
42 {
43 public:
44  enum { kDefaultIID = IID_IGRAPHICLAYERINFO };
45 
49  typedef enum
50  {
54 
59 
64 
66 
70  typedef enum
71  {
74  kNoFlags = 0,
75 
78  kNeedsValidation = (1L << 1),
79 
82  kValidationFailed = (1L << 2),
83 
87 
90  kInternalUseOnly = (1L << 28)
91 
93 
98  typedef enum
99  {
109 
111 
115  typedef enum
116  {
120 
126  kLayerSeparator = (1L << 0),
127 
130  kLayerAdjustment = (1L << 1),
131 
134  kLayerHasFX = (1L << 2),
135 
138  kLayerIsLocked = (1L << 3),
139 
143  kLayerHasViewState = (1L << 4),
144 
148  kLayerViewStateON = (1L << 5),
149 
153  kLayerHasExportState = (1L << 6),
154 
158  kLayerExportStateON = (1L << 7),
159 
163  kLayerHasPrintState = (1L << 8),
164 
168  kLayerPrintStateON = (1L << 9),
169 
174  kLayerSectionDivider = (1L << 10),
175 
179  kLayerIsTextLayer = (1L << 11)
180 
181  } LayerAttributes;
182 
183  // ***********************
184  // Set methods for interface
185  // ***********************
186 
190  virtual void SetIsInitialized (bool16 bIsInitialized) = 0;
194  virtual void SetUpdateLinkOption (const UpdateLinkOption newOption) = 0;
199  virtual void SetGraphicLayerFlags (const GraphicLayerFlags newFlags) = 0;
200 
201  // ***********************
202  // Get methods for interface
203  // ***********************
204 
208  virtual bool16 GetIsInitialized () const = 0;
212  virtual UpdateLinkOption GetUpdateLinkOption () const = 0;
216  virtual GraphicLayerFlags GetGraphicLayerFlags () const = 0;
217 
218  // ***********************
219  // Add/Remove/Copy/Utilities methods for layers
220  // ***********************
221 
234  virtual void InsertLayer ( const PMString& layerName,
235  int32 layerUniqueID,
236  const GraphicVisibilityState origVisState,
237  int32 parentID = -1,
238  const LayerAttributes layerAttributes = kNoAttributes
239  ) = 0;
240 
253  virtual void AppendLayer ( const PMString& layerName,
254  int32 layerUniqueID,
255  const GraphicVisibilityState origVisState,
256  int32 parentID = -1,
257  const LayerAttributes layerAttributes = kNoAttributes
258  ) = 0;
259 
263  virtual void RemoveNthLayer (int32 layerIndex) = 0;
268  virtual void RemoveLayer (int32 layerUniqueID) = 0;
269 
272  virtual void Clear() = 0;
277  virtual void Copy(const IGraphicLayerInfo* srcLayerInfo) = 0;
282  virtual bool16 CompareAll(const IGraphicLayerInfo* otherLayerInfo) const = 0;
289  virtual bool16 CompareVisibility(const IGraphicLayerInfo* otherLayerInfo) const = 0;
297  virtual bool16 ValidateGraphicLayers(const IGraphicLayerInfo* srcLayerInfo) = 0;
301  virtual bool16 VisibilityChanged() const = 0;
304  virtual void ResetLayerVisiblity() = 0;
310  virtual void Preallocate(int32 preallocSize) = 0;
311 
312  // ***********************
313  // Set methods for each layer
314  // ***********************
315 
320  virtual void SetNthLayerName (int32 layerIndex, const PMString& newName) = 0;
325  virtual void SetLayerName (int32 layerUniqueID, const PMString& newName) = 0;
326 
332  virtual void SetNthLayerUniqueID (int32 layerIndex, int32 newID) = 0;
333 
338  virtual void SetNthLayerOriginalVisibility (int32 layerIndex, const GraphicVisibilityState newState) = 0;
343  virtual void SetLayerOriginalVisibility (int32 layerUniqueID, const GraphicVisibilityState newState) = 0;
344 
349  virtual void SetNthLayerCurrentVisibility (int32 layerIndex, const GraphicVisibilityState newState) = 0;
354  virtual void SetLayerCurrentVisibility (int32 layerUniqueID, const GraphicVisibilityState newState) = 0;
355 
360  virtual void SetNthLayerParentID (int32 layerIndex, int32 newParentID) = 0;
365  virtual void SetLayerParentID (int32 layerUniqueID, int32 newParentID) = 0;
366 
372  virtual void SetNthLayerAttributes (int32 layerIndex, const LayerAttributes newAttributes) = 0;
378  virtual void SetLayerAttributes (int32 layerUniqueID, const LayerAttributes newAttributes) = 0;
379 
380  // ***********************
381  // Get methods
382  // ***********************
383 
388  virtual int32 GetNumberLayers () const = 0;
389 
394  virtual PMString GetNthLayerName (int32 layerIndex) const = 0;
399  virtual PMString GetLayerName (int32 layerUniqueID) const = 0;
400 
405  virtual int32 GetNthLayerUniqueID (int32 layerIndex) const = 0;
410  virtual int32 GetLayerIndex (int32 layerUniqueID) const = 0;
411 
417  virtual GraphicVisibilityState GetNthLayerOriginalVisibility (int32 layerIndex) const = 0;
423  virtual GraphicVisibilityState GetLayerOriginalVisibility (int32 layerUniqueID) const = 0;
424 
430  virtual GraphicVisibilityState GetNthLayerCurrentVisibility (int32 layerIndex) const = 0;
436  virtual GraphicVisibilityState GetLayerCurrentVisibility (int32 layerUniqueID) const = 0;
437 
442  virtual int32 GetNthLayerParentID (int32 layerIndex) const = 0;
447  virtual int32 GetLayerParentID (int32 layerUniqueID) const = 0;
448 
453  virtual LayerAttributes GetNthLayerAttributes (int32 layerIndex) const = 0;
458  virtual LayerAttributes GetLayerAttributes (int32 layerUniqueID) const = 0;
459 
468  virtual bool16 ValidateGraphicLayersByName(const IGraphicLayerInfo* srcLayerInfo) = 0;
469 
478  virtual void SetLayerVisibilityFromSource(const IGraphicLayerInfo* srcLayerInfo, GraphicVisibilityState newLayersState, bool16& hasNewLayers) = 0;
479 };
480 
481 #endif