InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ICJKLayoutGridDefaults.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 __ICJKLayoutGridDefaults__
25 #define __ICJKLayoutGridDefaults__
26 
27 #include "IPMUnknown.h"
28 #include "ICJKLayoutGridData.h"
29 #include "ICJKGridData.h"
30 #include "ICompositionStyle.h"
31 #include "CTextEnum.h"
32 #include "IDrawingStyle.h"
33 
35 {
36 
37 public:
38 
39  enum { kDefaultIID = IID_ICJKLAYOUTGRIDDEFAULTS};
40 
41  //---------------------------------------
42  // Get and Set Methods
43  //---------------------------------------
44 
45  // Grid FontUID and Style(variant)
46  virtual void SetFontUID(UID font) = 0;
47  virtual UID GetFontUID() const = 0;
48 
49  virtual void SetFontStyleName(const PMString& name) = 0;
50  virtual const PMString& GetFontStyleName() const = 0;
51 
52  virtual void SetMMAxes(int32 num, const Fixed* buffer) = 0;
53  virtual int32 GetNumMMAxes() const = 0;
54  virtual const Fixed* GetMMAxes() const = 0;
55 
56  // Grid cell size in points
57  virtual void SetTextSize(PMReal size) = 0;
58  virtual PMReal GetTextSize() const = 0;
59 
60  // Character and line aki (em box end to next em box start)
61  virtual void SetCharAki(PMReal amount) = 0;
62  virtual PMReal GetCharAki() const = 0;
63  virtual void SetLineAki(PMReal space) = 0;
64  virtual PMReal GetLineAki() const = 0;
65 
66  virtual PMReal GetCharOkuri(bool16 isVertical) const = 0;
67  virtual PMReal GetLineOkuri(bool16 isVertical) const = 0;
68 
69  // Character scaling
70  virtual void SetHScale(PMReal value) = 0;
71  virtual PMReal GetHScale() const = 0;
72 
73  virtual void SetVScale(PMReal value) = 0;
74  virtual PMReal GetVScale() const = 0;
75 
76  // Text Alignment
77  virtual void SetTextAlignment(ICompositionStyle::TextAlignment alignBody) = 0;
79 
80  // Grid Alignment
81 
82  virtual void SetGridAlignment(Text::GridAlignmentMetric gridAlignment) = 0;
83  virtual Text::GridAlignmentMetric GetGridAlignment() const = 0;
84 
85  // Character Hang
86  virtual void SetCharacterHang(IDrawingStyle::CharacterHang characterHang) = 0;
88 
89  // Grid Starting point and margins
90  virtual void SetGridStartingPoint(ICJKLayoutGridData::GridStartingPoint choice) = 0;
91  virtual ICJKLayoutGridData::GridStartingPoint GetGridStartingPoint() const = 0;
92 
93  //---------------------------------------
94  // Utility
95  //---------------------------------------
96 
97  virtual void CopyFrom(const ICJKGridData * source, bool16 doDirty = kTrue) = 0;
98  virtual void CopyFrom(const IFilteredCJKGridCmdData * source, bool16 doDirty = kTrue) = 0;
99  virtual void CopyFrom(const ICJKLayoutGridDefaults * source, bool16 doDirty = kTrue) = 0;
100 
101  virtual bool16 GridDataMatches(const ICJKGridData *g2) const = 0;
102  virtual bool16 NonAlignmentGridDataMatches(const ICJKGridData *g2) const = 0;
103 };
104 
105 #endif