InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IStoryPropertiesSuite.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Rich Gartland
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 __IStoryPropertiesSuite__
25 #define __IStoryPropertiesSuite__
26 
27 #include "IPMUnknown.h"
28 #include "ITextOptions.h" // for WritingDirection enum
29 #include "K2Vector.h"
30 #include "ShuksanID.h"
31 
32 //========================================================================================
33 // Forward declarations
34 //========================================================================================
35 
36 
37 //========================================================================================
38 // CLASS IStoryPropertiesSuite
39 //========================================================================================
40 
46 {
47 public:
48  enum { kDefaultIID = IID_ISTORYPROPERTIESSUITE };
49 
50  enum GenericBooleanState { kStateUnknown, kStateOff, kStateOn, kStateMixed };
51 
55  virtual bool16 ShouldEnableOpticalMarginAlignment() const = 0;
59  virtual GenericBooleanState GetOpticalMarginAlignment() const = 0;
64  virtual ErrorCode SetOpticalMarginAlignment(GenericBooleanState bAlign) = 0;
65 
69  virtual bool16 ShouldEnableOpticalMarginAlignmentSize() const = 0;
78  virtual ErrorCode SetOpticalMarginAlignmentSize(PMReal alignmentSize) = 0;
79 
80  //-----------------------------------------------------------------------------------------------
81  enum TextDirection { kDirUnknown, kDirHorizontal, kDirVertical, kDirMixed };
85  virtual bool16 ShouldEnableTextDirection() const = 0;
89  virtual TextDirection GetTextDirection() const = 0;
94  virtual ErrorCode SetTextDirection(TextDirection dir) = 0;
95 
96  //-----------------------------------------------------------------------------------------------
97  enum StoryDir { kLTRDirection = 0, kRTLDirection = 1, kUnknownDirection = 2, kMixedDirection = 3 };
98 
99  // Abilities
100  virtual bool16 ShouldEnableStoryDirection() const = 0;
101  virtual StoryDir GetStoryDirection() const = 0;
102 
103  // Manipulators
104  virtual ErrorCode SetStoryDirection(StoryDir dir) = 0;
105 
106  //-----------------------------------------------------------------------------------------------
107  enum FrameType { kFrameTypeUnknown, kFrameTypePlain, kFrameTypeCJKGrid, kFrameTypeMixed };
111  virtual bool16 ShouldEnableFrameType() const = 0;
115  virtual FrameType GetFrameType() const = 0;
120  virtual ErrorCode SetFrameType(FrameType frameType) = 0;
121 
125  virtual bool16 CanSetStoryAttributeLock() const = 0;
129  virtual bool16 CanSetStoryInsertLock() const = 0;
130 
134  virtual GenericBooleanState GetStoryAttributeLock() const = 0;
138  virtual GenericBooleanState GetStoryInsertLock() const = 0;
139 
144  virtual ErrorCode SetStoryAttributeLock(GenericBooleanState locked) = 0;
149  virtual ErrorCode SetStoryInsertLock(GenericBooleanState locked) = 0;
150 };
151 
152 #endif