InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ICJKFrameGridDefaults.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 
24 #ifndef __ICJKFrameGridDefaults__
25 #define __ICJKFrameGridDefaults__
26 
27 #include "IPMUnknown.h"
28 #include "ICJKCharCountOptions.h"
29 #include "ICJKGridData.h"
30 #include "ICompositionStyle.h"
31 #include "CTextEnum.h"
32 #include "IDrawingStyle.h"
33 
35 {
36 public:
37 
38  enum { kDefaultIID = IID_ICJKFRAMEGRIDDEFAULTS};
39 
40  enum View
41  {
42  kGridView,
43  kZNView,
44  kAlignView,
45  kGridAndZNView
46  };
47 
48  //---------------------------------------
49  // Get and Set Methods
50  //---------------------------------------
51 
52  // Grid FontUID and Style(variant)
53  virtual void SetFontUID(UID font) = 0;
54  virtual UID GetFontUID() const = 0;
55 
56  virtual void SetFontStyleName(const PMString& name) = 0;
57  virtual const PMString& GetFontStyleName() const = 0;
58  virtual void SetMMAxes(int32 num, const Fixed* buffer) = 0;
59  virtual int32 GetNumMMAxes() const = 0;
60  virtual const Fixed* GetMMAxes() const = 0;
61 
62  // Grid cell size in points
63  virtual void SetTextSize(PMReal size) = 0;
64  virtual PMReal GetTextSize() const = 0;
65 
66  // Character and line aki (em box end to next em box start)
67  virtual void SetCharAki(PMReal amount) = 0;
68  virtual PMReal GetCharAki() const = 0;
69  virtual void SetLineAki(PMReal space) = 0;
70  virtual PMReal GetLineAki() const = 0;
71 
72  virtual PMReal GetCharOkuri(bool16 isVertical) const = 0;
73  virtual PMReal GetLineOkuri(bool16 isVertical) const = 0;
74 
75  // Character scaling
76  virtual void SetHScale(PMReal value) = 0;
77  virtual PMReal GetHScale() const = 0;
78 
79  virtual void SetVScale(PMReal value) = 0;
80  virtual PMReal GetVScale() const = 0;
81 
82  // Text Alignment
83  virtual void SetTextAlignment(ICompositionStyle::TextAlignment alignBody) = 0;
85 
86  // Grid Alignment
87 
88  virtual void SetGridAlignment(Text::GridAlignmentMetric gridAlignment) = 0;
89  virtual Text::GridAlignmentMetric GetGridAlignment() const = 0;
90 
91  // Character Hang
92  virtual void SetCharacterHang(IDrawingStyle::CharacterHang characterHang) = 0;
94 
95  // View
96  virtual void SetView(ICJKFrameGridDefaults::View view) = 0;
97  virtual ICJKFrameGridDefaults::View GetView() const = 0;
98 
99  // Character Count
100  virtual PMReal GetCharacterCountTextSize() const = 0;
101  virtual void SetCharacterCountTextSize(const PMReal & size) = 0;
102 
106  virtual void SetCharacterCountLocation( ICJKCharCountOptions::Location location ) =0;
107 
111  virtual ICJKCharCountOptions::Location GetCharacterCountLocation() const = 0;
112 
113  //---------------------------------------
114  // Utility
115  //---------------------------------------
116 
117  virtual void CopyFrom(const ICJKGridData * source, bool16 doDirty = kTrue) = 0;
118  virtual void CopyFrom(const IFilteredCJKGridCmdData * source, bool16 doDirty = kTrue) = 0;
119  virtual void CopyFrom(const ICJKFrameGridDefaults * source, bool16 doDirty = kTrue) = 0;
120 
121  virtual bool16 GridDataMatches(const ICJKGridData *g2) const = 0;
122  virtual bool16 NonAlignmentGridDataMatches(const ICJKGridData *g2) const = 0;
123 };
124 
125 DECLARE_BASE_TYPE(ICJKFrameGridDefaults::View);
126 
127 #endif