MathSpeechEnums.idl
6.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
// MathSpeechEnums.idl --- Copyright (c) 2013 by Design Science, Inc.
// purpose: Interface enum definitions for the IMathSpeak, IMathSynchronization, IMathNavigation
// $Header: $
// This file includes definitions/types that are implemented by both
// MathPlayer and EqnLib.
// This file should be imported into MathPlayer and EqnLib .idl files.
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// MathSpeech.h")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// (C) Copyright (c) 2004-2103 by Design Science, Inc. All rights reserved.")
cpp_quote("//")
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
cpp_quote("// PARTICULAR PURPOSE.")
cpp_quote("//=--------------------------------------------------------------------------=")
import "oaidl.idl";
cpp_quote("")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Flags to determine what level of verbosity/highlighting should happen")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
cpp_quote("")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Flags to determine what level of verbosity/highlighting should happen")
cpp_quote("// These end up as '#define MS_XXX ...' in a header file")
cpp_quote("//=--------------------------------------------------------------------------=")
const long MS_NONE = 0;
const long MS_WORD = 1; // identifiers, numbers, operators, ...
const long MS_FRACTION = 2;
const long MS_SCRIPT = 4;
const long MS_LIMIT = 8;
const long MS_RADICAL = 16;
const long MS_TABLE = 32;
const long MS_EXPRESSION = 64; // Entire expression (useful for context highlighting)
const long MS_ALL = MS_WORD | MS_FRACTION | MS_SCRIPT | MS_LIMIT | MS_RADICAL | MS_TABLE;
cpp_quote("")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Enum to specify what type, if any, of speech tags should be used for prosidy")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
// Type of speech tags to use to control prosidy
typedef
[
helpstring("Speech tag control enum for IMathSpeech"),
v1_enum
]
enum {
msSpeechTagsNone = 0,
msSpeechTagsSAPI4 = 1,
msSpeechTagsSAPI5 = 2,
msSpeechTagsMac = 3,
msSpeechTagsSSML = 4,
msSpeechTagsHTML = 5,
msSpeechTagsEloquence= 6,
msSpeechTagsCount
} SpeechTagsEnum;
cpp_quote("")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Enum to specify the amount of verbosity to use when speaking")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
// Verbosity values
// other values are reserved for future use
typedef
[
helpstring("Deprecated: Verbosity control enum for IMathSpeech"),
v1_enum
]
enum {
msVerbosityLow = 0,
msVerbosityMedium = 3,
msVerbosityHigh = 5
} VerbosityEnum;
cpp_quote("")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Enum to specify the type of highlighting to use")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
// Word/Context and Forground/Background values
typedef
[
helpstring("Highlight type enum for IMathSynchronization"),
v1_enum
]
enum {
msWordForeground = 0,
msWordBackground = 1,
msContextForeground = 2,
msContextBackground = 3,
msHighlightCount
} HighlightTypeEnum;
cpp_quote("")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Word/Context and Forground/Background values")
cpp_quote("// Style of highlighting is done")
cpp_quote("//=--------------------------------------------------------------------------=")
typedef
[
helpstring("Highlight style enum for IMathSynchronization"),
v1_enum
]enum {
hsHighlight = 0, // highlighting
hsOutline = 1, // outline (not yet implemented)
hsUnderline = 2, // underline (not yet implemented)
hsCount
} HighlightStyleEnum;
cpp_quote("")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Supported speech navigation commands")
cpp_quote("// These commands can be sent directly, or key presses can be sent")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
// Supported speech navigation commands
// Most commands have a potential left and right meaning
typedef
[
helpstring("Navigation command type enum for IMathNavigation methods"),
v1_enum
]
enum {
ncMoveChunk = 0, // move chunk cursor (previous/next/start/end)
ncZoom = 1, // change zoom level (in/out)
ncMoveLastLocation = 2, // go back to previous location
ncRead = 3, // read (previous/current/next) chunk location
ncDescribe = 4, // describe (previous/current/next) chunk location
ncReadTo = 5, // read from/to chunk cursor to(start/end)
ncLocate = 6, // read/describe chunk wrt parent/enclosing chunk
ncChangeNavMode = 7, // change to (previous/next) read cursor (currently character/placeholder)
ncToggleSpeakMode = 8, // toggle between read and describe as default after moving
ncSetPlacemarker = 9, // set placemarker number (-1, 0-9) -- -1 set next unset placemarker
ncUnsetPlacemarker = 10,// unset placemarker number (-1, 0-9) -- -1 unset placemarker at current location
ncExit = 11, // exit math
ncMax // number of commands
} NavigationCommand;
cpp_quote("")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// Supported speech navigation command parameters")
cpp_quote("// These parameters are used with the commands above")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")
typedef
[
helpstring("Navigation parameters type enum for IMathNavigation methods"),
v1_enum
]
enum {
// the following enums allow all paramaters, including ones to name placemarkers to be this enum
npPlacemarkerUnnamed=-1,// for setting/unsetting next/current placemaker
npPlacemarker0 = 0,
npPlacemarker1 = 1,
npPlacemarker2 = 2,
npPlacemarker3 = 3,
npPlacemarker4 = 4,
npPlacemarker5 = 5,
npPlacemarker6 = 6,
npPlacemarker7 = 7,
nplacemarker8 = 8,
npPlacemarker9 = 9,
// parameters for other commands
npPrevious = 10, // used with ncZoom to mean up/out a level
npCurrent = 11,
npNext = 12, // used with ncZoom to mean down/in a level
npStart = 13, // used with ncZoom to mean zoom all the way to root
npEnd = 14, // used with ncZoom to mean zoom to the leftmost leaf
npLineStart = 15,
npLineEnd = 16,
npMax
} NavigationParam;