InDesign SDK
20.5
InDesign SDK
Documentation
Bosses
Sample plug-ins
Class Index
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
LineDescription.h
1
//========================================================================================
2
//
3
// $File$
4
//
5
// Owner:
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
// ADOBE CONFIDENTIAL
24
//
25
//========================================================================================
26
27
#ifndef __LineDescription__
28
#define __LineDescription__
29
30
#include "IInterfaceColors.h"
31
#include "ITextUtils.h"
32
33
34
#ifdef PUBLIC_BUILD
35
#endif
36
class
CDynamicSpellCheckCache;
37
class
RealAGMColor
;
38
class
StoryDescription
;
39
class
PMRealGlyphPoint
;
40
41
45
class
GlyphDrawAddIn
46
{
47
public
:
48
typedef
object_type
data_type
;
49
52
enum
AddInType
53
{
55
kNone
,
56
58
kOwnedItemIcon
,
59
61
kAttributeIcon
62
};
63
65
AddInType
fType
;
66
68
int32
glyphIndex
;
69
};
70
71
class
LineDescriptionME;
72
76
class
DrawingChunkRange
77
{
78
public
:
79
typedef
object_type
data_type
;
80
83
enum
FontDrawStyle
84
{
86
kNormal
= 0x00,
87
89
kBold
= 0x02,
90
92
kItalic
= 0x04,
93
95
kAllCaps
= 0x08,
96
98
kSmallCaps
= 0x10
99
};
100
102
FontDrawStyle
fFontStyle
;
103
105
bool16
fUseModelFont
;
106
108
uint16
fLength
;
109
};
110
111
115
class
StoryRunGlyphs
116
{
117
public
:
119
typedef
object_type
data_type
;
120
125
StoryRunGlyphs
();
126
131
virtual
~StoryRunGlyphs
();
132
134
void
ReadWrite
(
IPMStream
* s,
StoryDescription
*storyDesc);
135
137
K2Vector<PMRealGlyphPoint>
*
fGlyphPoints
;
138
140
K2Vector<GlyphDrawAddIn>
*
fAddIns
;
141
143
K2Vector<DrawingChunkRange>
*
fDrawRanges
;
144
};
145
151
class
RunDescription
152
{
153
public
:
155
typedef
object_type
data_type
;
156
157
162
RunDescription
();
163
169
RunDescription
(
const
RunDescription
& src);
170
175
virtual
~RunDescription
();
176
182
RunDescription
&
operator=
(
const
RunDescription
& src);
183
185
void
ReadWrite
(
IPMStream
* s,
StoryDescription
*storyDesc);
186
187
190
enum
RunType
191
{
193
regularText
= 0,
194
196
addedText
,
197
199
movedText
,
200
201
baselessBeginTag,
202
baselessEndTag,
203
206
endPrimaryStoryTypes
,
207
209
deletedText
,
210
212
inlineNoteText
,
213
215
inlineNoteBeginTag
,
216
218
inlineNoteEndTag
,
219
221
xmlBeginTag
,
222
224
xmlEndTag
,
225
227
xmlStoryTag
,
228
230
footnoteText
,
231
233
footnoteBeginTag
,
234
236
footnoteEndTag
,
237
238
xmlRTLBeginTag,
239
xmlRTLEndTag,
240
footnoteRTLBeginTag,
241
243
tableText
244
};
245
246
// 2008/01/28 MH: WARNING!!! DON'T FORGET TO UPDATE THIS MACRO IN CASE OF ADDING OR REMOVING a RunType
247
#define STORYEDITOR_CONTEXTUALIZED_RUN(runType)\
248
((runType == RunDescription::regularText)\
249
|| (runType == RunDescription::addedText)\
250
|| (runType == RunDescription::movedText)\
251
|| (runType == RunDescription::deletedText)\
252
|| (runType == RunDescription::inlineNoteText)\
253
|| (runType == RunDescription::footnoteText)\
254
|| (runType == RunDescription::tableText))
255
257
TextIndex
startModelOffset
;
258
260
TextIndex
startDisplayOffset
;
261
263
int32
length
;
264
266
TextIndex
anchorPoint
;
267
269
RunType
type
;
270
272
RealAGMColor
color
;
273
275
RealAGMColor
textcolor
;
276
278
PMReal
width
;
279
281
PMReal
xPosition
;
282
284
UIDRef
storyThreadRef
;
285
287
bool16
onlyContainsEndCharacter
;
288
290
CDynamicSpellCheckCache*
fDynamicSpellCheckCache
;
291
293
StoryRunGlyphs
*
fGlyphCache
;
294
296
uint32
fThreadDictKey
;
297
299
RunType
fSecondaryType
;
300
301
int32 level;
// direction level of the run
302
int32 glyphIndex;
// index of the first glyph in LineDescriptionME::fStrikes
303
int32 glyphLength;
// number of glyphs for this run in LineDescriptionME::fStrikes
304
int32 complementaryFontIndex;
305
};
306
309
#define NoPsuedoComposeID 0
310
317
class
LineDescription
318
{
319
public
:
321
typedef
object_type
data_type
;
322
323
virtual
~
LineDescription
();
324
327
enum
LineType
328
{
330
textWithLineNumber
= 0,
331
333
textWithoutLineNumber
,
334
336
pageDivider
,
337
339
columnDivider
,
340
342
frameDivider
,
343
345
oversetDivider
,
346
348
storyBar
,
349
351
paraDivider
,
352
354
tableRowDivider
,
355
357
tableColumnDivider
,
358
};
359
static
const
int32 kMaxViewSpace;
360
363
enum
LineAttributes
364
{
365
none = 0x0,
366
oversetSplitLineStart = 0x1,
367
oversetSplitLineEnd = 0x2
368
};
369
LineDescription
();
373
LineDescription
(
const
LineDescription
& other);
374
376
void
ReadWrite
(
IPMStream
*s,
StoryDescription
*storyDesc);
377
381
TextIndex
lineStartOffset
;
382
385
TextIndex
lineEndOffset
;
386
390
TextIndex
tableThreadStartOffset
;
391
394
TextIndex
tableThreadEndOffset
;
395
399
TextIndex
displayStartOffset
;
400
404
TextIndex
displayEndOffset
;
405
408
PMReal
xPosition
;
409
411
PMReal
lineWidth
;
412
414
int32
lineID
;
415
417
int32
lineNumber
;
418
420
LineType
typeLine
;
421
423
bool16
hyphenAtEnd
;
424
426
bool16
paraEndCharacter
;
427
429
bool16
overlapsWithNext
;
430
432
int32
psuedoLineID
;
433
435
uint32
attributes
;
436
438
K2Vector<RunDescription>
*
fTextRuns
;
439
LineDescriptionME* fMEData;
440
};
441
445
class
UncomposedIDNode
446
{
447
public
:
449
typedef
object_type
data_type
;
450
UncomposedIDNode
();
454
void
ReadWrite(
IPMStream
* s);
455
457
int32
fID
;
458
460
int32
fLineIndexHint
;
461
};
462
467
class
StoryDescription
468
{
469
public
:
471
typedef
object_type
data_type
;
472
478
enum
ViewComposeOptions
479
{
481
kDisplayTextOnly
= 0,
482
484
kDisplayInlineNotes
= 1,
485
487
kDisplayFootnotes
= 2,
488
};
489
StoryDescription
();
493
494
virtual
~
StoryDescription
();
495
497
void
ReadWrite
(
IPMStream
*s);
498
500
UIDRef
fStoryRef
;
501
503
PMReal
fYFirstLineStartPosition
;
504
506
int32
fLastValidIndex
;
507
510
int32
fStoryOversetDividerIndex
;
511
513
bool16
fCollapsed
;
514
517
bool16
fStoryBarSelected
;
518
520
uint32
fViewComposeOptions
;
521
522
bool
operator < (
const
StoryDescription
& other)
const
523
{
return
fStoryRef
.
GetUID
() < other.
fStoryRef
.
GetUID
();}
524
525
bool
operator == (
const
StoryDescription
& other)
const
526
{
return
&other ==
this
;}
527
529
K2Vector<LineDescription>
*
fTextLines
;
530
532
K2Vector<UncomposedIDNode>
*
fUncomposedIDs
;
533
};
534
535
#ifdef PUBLIC_BUILD
536
#endif
537
538
#endif // __LineDescription__
tmpdoxygeninput
LineDescription.h
Generated on Sat Jul 19 2025 02:54:17 for InDesign SDK by
1.8.3.1