InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IWaxCollection.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Ric Kamicar
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 
24 #ifndef __IWaxCollection__
25 #define __IWaxCollection__
26 
27 #include "IPMUnknown.h"
28 #include "IWaxLine.h"
29 #include "TextID.h"
30 
31 class IWaxRun;
32 class PMLineSeg;
33 class IWaxGlyphIterator;
34 class IWaxRunIterator;
35 
47 class IWaxCollection : public IPMUnknown
48 {
49 public:
50  enum { kDefaultIID = IID_IWAXCOLLECTION };
51 
55  virtual int32 Count() const = 0;
56 
60  virtual IWaxRun* QueryRun(int32 index) const = 0; // index to WaxRun
64  virtual int32 GetRunIndex(const IWaxRun * run) const = 0; // WaxRun to index
65 
69  virtual TextIndex TextOrigin() const = 0;
70 
74  virtual void GetHeight(PMLineSeg* pHeight) const = 0;
75 
79  virtual IDataBase* GetDataBase() const = 0;
80 
84  virtual const IWaxLine* GetWaxLine() const = 0;
90  virtual void SetWaxLine(const IWaxLine * waxLine) = 0;
91 
99  virtual void AddRun(IWaxRun* run) = 0;
107  virtual void AddRunAt(IWaxRun* run, int32 at) = 0;
108 
112  virtual void RemoveAllRuns() = 0;
113 
117  virtual IWaxRun* QueryPreviousNeighbor(const IWaxRun* waxRun) const = 0; // Previous in collection or nil
121  virtual IWaxRun* QueryNextNeighbor(const IWaxRun* waxRun) const = 0; // Next in collection or nil
122 
127  kWCOAdjacent,
128  kWCOStacked
129  } ;
130 
134  virtual enum WaxCollectionOrientation GetOrientation() const = 0;
138  virtual void SetOrientation(enum IWaxCollection::WaxCollectionOrientation orientation) = 0;
139 
144  virtual IWaxGlyphIterator* QueryWaxGlyphIterator(bool16 includeCollection = kFalse) const = 0;
145 
150  virtual IWaxRunIterator* QueryWaxRunIterator(bool16 includeCollection = kFalse) const = 0;
151 
156  virtual PMMatrix GetTransform() const = 0;
157 
160  virtual PMMatrix GetToParcelMatrix() const = 0;
161 
164  virtual PMMatrix GetToFrameMatrix() const = 0;
165 
168  virtual PMMatrix GetToSpreadMatrix() const = 0;
169 
172  virtual PMMatrix GetToPasteboardMatrix() const = 0;
173 
180  //============================================
189  virtual void ConstructionComplete() = 0;
190 };
191 
192 #endif
193