InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ILowResImageList.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Dave Stephens
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 // The implementation of this interface provides a mechanism for optimizing the
25 // copy/pasting of images. Specifically, it provides a means for NOT creating duplicates
26 // of the low res proxy image which is embedded with each image at Place time. Instead,
27 // the low res is tracked by this list and when an image is copied and pasted, we simply
28 // bump our persistant reference count in the image list instead of duplicating all
29 // of the image data. See also IScrapImageList.h.
30 //
31 //========================================================================================
32 
33 #ifndef __ILowResImageList__
34 #define __ILowResImageList__
35 
36 #include "IPMUnknown.h"
37 
49 {
50 public:
51 
56  virtual int32 PersistAddRef(int32 at) = 0;
57 
62  virtual int32 PersistRelease(int32 at) = 0;
63 
68  virtual int32 FindImage(UID lowResUID) const = 0;
69 
73  virtual void Add(UID lowResUID) = 0;
74 
78  virtual void Remove (int32 at) = 0;
79 
84  virtual UID GetUID(int32 at) const = 0;
85 
90  virtual int32 GetRefCount(int32 at) const = 0;
91 
96  virtual void ReadWrite (IPMStream* iPMStream, ImplementationID prop) = 0;
97 
98 };
99 
100 #endif
101