InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IColumns.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Paul Sorrick
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 __ICOLUMNS__
25 #define __ICOLUMNS__
26 
28 #define kMinColumnWidth 1
29 
31 #define kMaxNumColumns 216
32 
34 #define kMinNumColumns 1
35 
37 #define kMaxGutter 1440.0
38 
40 #define kMinGutter 0.0
41 
42 #ifndef __ODFRC__ // when used for core resource compilation, provide just the parameter range constants
43 
44 #include "IPMUnknown.h"
45 #include "SpreadID.h"
46 #include "PMReal.h"
47 #include "PMRect.h"
48 #include "K2Vector.h"
49 class IGeometry;
50 
52 
57 class IColumns : public IPMUnknown
58 {
59 public:
60  enum { kDefaultIID = IID_ICOLUMNS };
61 
62  enum ColumnOrientation {
63  kVerticalColumnOrientation = 0,
64  kHorizontalColumnOrientation = 1,
65  kRomanColumnOrientation = kVerticalColumnOrientation,
66  kTraditionalCJKColumnOrientation = kHorizontalColumnOrientation
67  };
68 
69  enum MasterColumnRequest { kRequestPerhapsInvalidFirstColumnData = 0, kRequestValidColumnData = 1};
70 
71 
81  virtual void SetColumns(const PMRealList& pageCols) = 0;
82 
92  virtual void GetColumns_(PMRealList *outputColumns, MasterColumnRequest wantMaster = kRequestValidColumnData) const= 0;
93 
99  virtual int32 GetNumberColumns_( MasterColumnRequest wantMaster = kRequestValidColumnData) const = 0;
100 
105  virtual void SetGutter(const PMReal& theGutter) = 0;
106 
111  virtual PMReal GetGutter_( MasterColumnRequest wantMaster = kRequestValidColumnData) const = 0;
112 
118  virtual void SetColumnOrientation_0( ColumnOrientation direction) = 0;
119 
124  virtual ColumnOrientation GetColumnOrientation_0( MasterColumnRequest wantMaster = kRequestValidColumnData) const= 0;
125 
134  virtual void ChangeColumnAtIndex(int32 columnIndex, const PMReal& newValue) = 0;
135 
141  virtual int32 GetColumnAtLocation_(const PMReal& location) const = 0;
142 
153  virtual PMRect GetNthColumnBoundingBox_(IGeometry *pageGeom, const int32 n, const PMRect& marginRect) const = 0;
154 
159  virtual void SetCustom(bool16 b) = 0;
160 
165  virtual void ResetColumns() = 0;
166 
171  virtual bool16 ColumnsAreValid_() const = 0;
172 
178  virtual void SetColumnsAreValid(bool16 valid) = 0;
179 
184  virtual bool16 ColumnsAreCustom_( MasterColumnRequest wantMaster = kRequestValidColumnData) const= 0;
185 
199  virtual void GetColumnAttributes_hmm( MasterColumnRequest wantMaster/* = kTrue*/, PMRealList *outputColumns/* = nil*/, PMReal* gutter/* = nil*/, ColumnOrientation* direction/* = nil*/, bool16* custom/* = nil*/, bool16* valid/* = nil*/) const= 0;
200 
210  virtual PMRect GetPageBoundingBox_(IGeometry *pageGeometry, const PMRect& marginRect) const = 0;
211 };
212 #endif // __ODFRC__
213 
214 #endif