InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ICJKGridManager.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: Geometric grid calculations.
24 //
25 //========================================================================================
26 
27 #ifndef __ICJKGridManager__
28 #define __ICJKGridManager__
29 
30 #include "PMMatrix.h"
31 #include "PMRect.h"
32 
33 #include "IPMUnknown.h"
34 #include "IDrawCJKGrid.h"
35 
37 
43 {
44 public:
45  enum { kDefaultIID = IID_ICJKGRIDMANAGER };
46 
50  virtual void RecalcGrid() = 0;
51 
59  virtual bool16 IsActive() const = 0;
60 
64  virtual bool16 IsGridVertical() const = 0;
65 
69  virtual bool16 IsGridRectangular() const = 0;
70 
75  virtual void GetGridBounds(PMRect & rect) const = 0;
76 
82  virtual const Int32List& GetCharsPerLine() const = 0;
83 
87  virtual int32 GetNumOfLines() const = 0;
88 
92  virtual int32 GetRectCount() const = 0;
93 
98  virtual PMRect GetNthEmBoxRect(const int32 cellNumber) const = 0;
99 
104  virtual PMRect GetNthICFBoxRect(const int32 cellNumber) const = 0;
105 
106 
110  virtual PMReal GetHCellSize() const = 0;
111 
115  virtual PMReal GetVCellSize() const = 0;
116 
117 
124  virtual bool16 DrawVisibleEmBoxRects( const IDrawCJKGrid * drawCJKGrid,const PMRect * viewRect = nil) const = 0;
130  virtual bool16 DrawVisibleICFBoxRects( const IDrawCJKGrid * drawCJKGrid,const PMRect * viewRect = nil) const = 0;
131 
137  virtual void GetICFAdjustments(PMReal & xAdjustment, PMReal & yAdjustment) const = 0;
138 
145  virtual bool16 MoveToClosestEmBoxLeft(PMPoint & thePoint, const PMMatrix * transform = nil, const PMReal& extra = PMReal(0.0)) const = 0;
146 
153  virtual bool16 MoveToClosestEmBoxTop(PMPoint & thePoint, const PMMatrix * transform = nil, const PMReal& extra = PMReal(0.0)) const = 0;
154 
161  virtual bool16 MoveToClosestEmBoxRight(PMPoint & thePoint, const PMMatrix * transform = nil, const PMReal& extra = PMReal(0.0)) const = 0;
162 
169  virtual bool16 MoveToClosestEmBoxBottom(PMPoint & thePoint, const PMMatrix * transform = nil, const PMReal& extra = PMReal(0.0)) const = 0;
170 
177  virtual bool16 MoveToClosestICFBoxLeft(PMPoint & thePoint, const PMMatrix * transform = nil, const PMReal& extra = PMReal(0.0)) const = 0;
178 
185  virtual bool16 MoveToClosestICFBoxTop(PMPoint & thePoint, const PMMatrix * transform = nil, const PMReal& extra = PMReal(0.0)) const = 0;
186 
193  virtual bool16 MoveToClosestICFBoxRight(PMPoint & thePoint, const PMMatrix * transform = nil, const PMReal& extra = PMReal(0.0)) const = 0;
194 
201  virtual bool16 MoveToClosestICFBoxBottom(PMPoint & thePoint, const PMMatrix * transform = nil, const PMReal& extra = PMReal(0.0)) const = 0;
202 
203 
210  virtual bool16 MoveToClosestBaseline(PMPoint & thePoint, const PMMatrix * transform = nil, const PMReal& extra = PMReal(0.0)) const = 0;
211 
218  virtual bool16 MoveToClosestCenter(PMPoint & thePoint, const PMMatrix * transform = nil, const PMReal& extra = PMReal(0.0)) const = 0;
219 
220 };
221 
222 #endif