2 * Copyright 2006 Juan Lang
3 * Copyright 2015 Nikolay Sivov for CodeWeavers
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
24 #pragma makedep regtypelib
26 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
27 cpp_quote
("#undef FindText")
31 uuid(8cc497c9
-a1df
-11ce
-8098-00aa0047be5d
),
37 importlib
("stdole2.tlb");
39 typedef enum tagTomConstants
43 tomUndefined
= -9999999,
45 tomAutoColor
= -9999997,
46 tomDefault
= -9999996,
47 tomSuspend
= -9999995,
50 /* ITextFont::Reset() modes */
56 tomDisableSmartFont
= 8,
57 tomEnableSmartFont
= 9,
61 tomBackward
= 0xc0000001,
62 tomForward
= 0x3fffffff,
67 tomSelectionNormal
= 2,
68 tomSelectionFrame
= 3,
69 tomSelectionColumn
= 4,
71 tomSelectionBlock
= 6,
72 tomSelectionInlineShape
= 7,
73 tomSelectionShape
= 8,
74 tomSelStartActive
= 1,
95 tomLineSpaceSingle
= 0,
97 tomLineSpaceDouble
= 2,
98 tomLineSpaceAtLeast
= 3,
99 tomLineSpaceExactly
= 4,
100 tomLineSpaceMultiple
= 5,
107 tomAlignInterWord
= 3,
108 tomAlignInterLetter
= 4,
111 tomAlignSnapGrid
= 7,
122 tomListNumberAsArabic
= 2,
123 tomListNumberAsLCLetter
= 3,
124 tomListNumberAsUCLetter
= 4,
125 tomListNumberAsLCRoman
= 5,
126 tomListNumberAsUCRoman
= 6,
127 tomListNumberAsSequence
= 7,
128 tomListParentheses
= 0x10000,
129 tomListPeriod
= 0x20000,
130 tomListPlain
= 0x30000,
151 /* ITextRange story type values */
153 tomMainTextStory
= 1,
154 tomFootnotesStory
= 2,
155 tomEndnotesStory
= 3,
156 tomCommentsStory
= 4,
157 tomTextFrameStory
= 5,
158 tomEvenPagesHeaderStory
= 6,
159 tomPrimaryHeaderStory
= 7,
160 tomEvenPagesFooterStory
= 8,
161 tomPrimaryFooterStory
= 9,
162 tomFirstPageHeaderStory
= 10,
163 tomFirstPageFooterStory
= 11,
165 /* ITextFont animation property */
167 tomLasVegasLights
= 1,
168 tomBlinkingBackground
= 2,
170 tomMarchingBlackAnts
= 4,
171 tomMarchingRedAnts
= 5,
183 tomShareDenyRead
= 0x200,
184 tomShareDenyWrite
= 0x400,
185 tomPasteFile
= 0x1000,
187 tomCreateAlways
= 0x20,
188 tomOpenExisting
= 0x30,
189 tomOpenAlways
= 0x40,
190 tomTruncateExisting
= 0x50,
194 tomWordDocument
= 0x4,
195 tomBold
= 0x80000001,
196 tomItalic
= 0x80000002,
197 tomUnderline
= 0x80000004,
198 tomStrikeout
= 0x80000008,
199 tomProtected
= 0x80000010,
200 tomLink
= 0x80000020,
201 tomSmallCaps
= 0x80000040,
202 tomAllCaps
= 0x80000080,
203 tomHidden
= 0x80000100,
204 tomOutline
= 0x80000200,
205 tomShadow
= 0x80000400,
206 tomEmboss
= 0x80000800,
207 tomImprint
= 0x80001000,
208 tomDisabled
= 0x80002000,
209 tomRevised
= 0x80004000,
211 tomKoreanBlockCaret
= 0x1,
212 tomIncludeInset
= 0x1,
213 tomIgnoreCurrentFont
= 0,
214 tomMatchFontCharset
= 0x1,
215 tomMatchFontSignature
= 0x2,
216 tomCharset
= 0x80000000,
222 interface ITextRange
;
223 interface ITextSelection
;
224 interface ITextStoryRanges
;
227 uuid(8cc497c0
-a1df
-11ce
-8098-00aa0047be5d
),
232 interface ITextDocument
: IDispatch
234 [propget, id(DISPID_VALUE
)]
235 HRESULT Name
([retval, out] BSTR *name
);
238 HRESULT Selection
([retval, out] ITextSelection
**selection
);
241 HRESULT StoryCount
([retval, out] LONG *count
);
244 HRESULT StoryRanges
([retval, out] ITextStoryRanges
**ranges
);
247 HRESULT Saved
([retval, out] LONG *value
);
250 HRESULT Saved
([in] LONG value
);
253 HRESULT DefaultTabStop
([retval, out] float *value
);
256 HRESULT DefaultTabStop
([in] float value
);
260 HRESULT Open
([in] VARIANT *var
, [in] LONG flags
, [in] LONG codepage
);
262 HRESULT Save
([in] VARIANT *var
, [in] LONG flags
, [in] LONG codepage
);
264 HRESULT Freeze
([retval, out] LONG *count
);
265 HRESULT Unfreeze
([retval, out] LONG *count
);
266 HRESULT BeginEditCollection
();
267 HRESULT EndEditCollection
();
268 HRESULT Undo
([in] LONG count
, [retval, out] LONG *prop
);
269 HRESULT Redo
([in] LONG count
, [retval, out] LONG *prop
);
270 HRESULT Range([in] LONG start
, [in] LONG end
, [retval, out] ITextRange
**range);
271 HRESULT RangeFromPoint
([in] LONG x
, [in] LONG y
, [retval, out] ITextRange
**range);
278 uuid(8cc497c2
-a1df
-11ce
-8098-00aa0047be5d
),
283 interface ITextRange
: IDispatch
285 [propget, id(DISPID_VALUE
)]
286 HRESULT Text
([retval, out] BSTR *text
);
288 [propput, id(DISPID_VALUE
)]
289 HRESULT Text
([in] BSTR text
);
292 HRESULT Char([retval, out] LONG *ch
);
295 HRESULT Char([in] LONG ch
);
298 HRESULT Duplicate
([retval, out] ITextRange
**range);
301 HRESULT FormattedText
([retval, out] ITextRange
**range);
304 HRESULT FormattedText
([in] ITextRange
*range);
307 HRESULT Start
([retval, out] LONG *start
);
310 HRESULT Start
([in] LONG start
);
313 HRESULT End
([retval, out] LONG *end
);
316 HRESULT End
([in] LONG end
);
319 HRESULT Font
([retval, out] ITextFont
**font
);
322 HRESULT Font
([in] ITextFont
*font
);
325 HRESULT Para
([retval, out] ITextPara
**para
);
328 HRESULT Para
([in] ITextPara
*para
);
331 HRESULT StoryLength
([retval, out] LONG *len
);
334 HRESULT StoryType
([retval, out] LONG *value
);
336 HRESULT Collapse
([in] LONG start
);
337 HRESULT Expand
([in] LONG unit
, [retval, out] LONG *delta
);
338 HRESULT GetIndex
([in] LONG unit
, [retval, out] LONG *index
);
339 HRESULT SetIndex
([in] LONG unit
, [in] LONG index
, [in] LONG extend
);
340 HRESULT SetRange
([in] LONG anchor
, [in] LONG active
);
341 HRESULT InRange
([in] ITextRange
*range, [retval, out] LONG *pb
);
342 HRESULT InStory
([in] ITextRange
*range, [retval, out] LONG *pb
);
343 HRESULT IsEqual
([in] ITextRange
*range, [retval, out] LONG *pb
);
345 HRESULT StartOf
([in] LONG unit
, [in] LONG extend
, [retval, out] LONG *delta
);
346 HRESULT EndOf
([in] LONG unit
, [in] LONG extend
, [retval, out] LONG *delta
);
347 HRESULT Move
([in] LONG unit
, [in] LONG count
, [retval, out] LONG *delta
);
348 HRESULT MoveStart
([in] LONG unit
, [in] LONG count
, [retval, out] LONG *delta
);
349 HRESULT MoveEnd
([in] LONG unit
, [in] LONG count
, [retval, out] LONG *delta
);
350 HRESULT MoveWhile
([in] VARIANT *charset
, [in] LONG count
, [retval, out] LONG *delta
);
351 HRESULT MoveStartWhile
([in] VARIANT *charset
, [in] LONG count
, [retval, out] LONG *delta
);
352 HRESULT MoveEndWhile
([in] VARIANT *charset
, [in] LONG count
, [retval, out] LONG *delta
);
353 HRESULT MoveUntil
([in] VARIANT *charset
, [in] LONG count
, [retval, out] LONG *delta
);
354 HRESULT MoveStartUntil
([in] VARIANT *charset
, [in] LONG count
, [retval, out] LONG *delta
);
355 HRESULT MoveEndUntil
([in] VARIANT *charset
, [in] LONG count
, [retval, out] LONG *delta
);
356 HRESULT FindText
([in] BSTR str
, [in] LONG ch
, [in] LONG flags
, [retval, out] LONG *len
);
357 HRESULT FindTextStart
([in] BSTR str
, [in] LONG cch
, [in] LONG flags
, [retval, out] LONG *len
);
358 HRESULT FindTextEnd
([in] BSTR str
, [in] LONG ch
, [in] LONG flags
, [retval, out] LONG *len
);
359 HRESULT Delete
([in] LONG unit
, [in] LONG count
, [retval, out] LONG *delta
);
360 HRESULT Cut
([out] VARIANT *var
);
361 HRESULT Copy
([out] VARIANT *var
);
362 HRESULT Paste
([in] VARIANT *var
, [in] LONG format
);
363 HRESULT CanPaste
([in] VARIANT *var
, [in] LONG format
, [retval, out] LONG *pb
);
364 HRESULT CanEdit
([retval, out] LONG *pb
);
365 HRESULT ChangeCase
([in] LONG type
);
366 HRESULT GetPoint
([in] LONG type
, [out] LONG *cx
, [out] LONG *cy
);
367 HRESULT SetPoint
([in] LONG x
, [in] LONG y
, [in] LONG type
, [in] LONG extend
);
368 HRESULT ScrollIntoView
([in] LONG value
);
369 HRESULT GetEmbeddedObject
([retval, out] IUnknown
**ppv
);
373 uuid(8cc497c1
-a1df
-11ce
-8098-00aa0047be5d
),
378 interface ITextSelection
: ITextRange
381 HRESULT Flags
([retval, out] LONG *flags
);
384 HRESULT Flags
([in] LONG flags
);
387 HRESULT Type
([retval, out] LONG *type
);
389 HRESULT MoveLeft
([in] LONG unit
, [in] LONG count
, [in] LONG extend
, [retval, out] LONG *delta
);
390 HRESULT MoveRight
([in] LONG unit
, [in] LONG count
, [in] LONG extend
, [retval, out] LONG *delta
);
391 HRESULT MoveUp
([in] LONG unit
, [in] LONG count
, [in] LONG extend
, [retval, out] LONG *delta
);
392 HRESULT MoveDown
([in] LONG unit
, [in] LONG count
, [in] LONG extend
, [retval, out] LONG *delta
);
393 HRESULT HomeKey
([in] LONG unit
, [in] LONG extend
, [retval, out] LONG *delta
);
394 HRESULT EndKey
([in] LONG unit
, [in] LONG extend
, [retval, out] LONG *delta
);
395 HRESULT TypeText
([in] BSTR str
);
399 uuid(8cc497c3
-a1df
-11ce
-8098-00aa0047be5d
),
404 interface ITextFont
: IDispatch
406 [propget, id(DISPID_VALUE
)]
407 HRESULT Duplicate
([retval, out] ITextFont
**font
);
409 [propput, id(DISPID_VALUE
)]
410 HRESULT Duplicate
([in] ITextFont
*font
);
412 HRESULT CanChange
([out] LONG *pB
);
413 HRESULT IsEqual
([in] ITextFont
*font
, [retval, out] LONG *pB
);
414 HRESULT Reset
([in] LONG value
);
417 HRESULT GetStyle
([retval, out] LONG *value
);
420 HRESULT SetStyle
([in] LONG value
);
423 HRESULT AllCaps
([retval, out] LONG *value
);
426 HRESULT AllCaps
([in] LONG value
);
429 HRESULT Animation
([retval, out] LONG *value
);
432 HRESULT Animation
([in] LONG value
);
435 HRESULT BackColor
([retval, out] LONG *value
);
438 HRESULT BackColor
([in] LONG value
);
441 HRESULT Bold
([retval, out] LONG *value
);
444 HRESULT Bold
([in] LONG value
);
447 HRESULT Emboss
([retval, out] LONG *value
);
450 HRESULT Emboss
([in] LONG value
);
453 HRESULT ForeColor
([retval, out] LONG *value
);
456 HRESULT ForeColor
([in] LONG value
);
459 HRESULT Hidden([retval, out] LONG *value
);
462 HRESULT Hidden([in] LONG value
);
465 HRESULT Engrave
([retval, out] LONG *value
);
468 HRESULT Engrave
([in] LONG value
);
471 HRESULT Italic
([retval, out] LONG *value
);
474 HRESULT Italic
([in] LONG value
);
477 HRESULT Kerning
([retval, out] float *value
);
480 HRESULT Kerning
([in] float value
);
483 HRESULT LanguageID
([retval, out] LONG *value
);
486 HRESULT LanguageID
([in] LONG value
);
489 HRESULT Name
([retval, out] BSTR *value
);
492 HRESULT Name
([in] BSTR value
);
495 HRESULT Outline
([retval, out] LONG *value
);
498 HRESULT Outline
([in] LONG value
);
501 HRESULT Position
([retval, out] float *value
);
504 HRESULT Position
([in] float value
);
507 HRESULT Protected
([retval, out] LONG *value
);
510 HRESULT Protected
([in] LONG value
);
513 HRESULT Shadow
([retval, out] LONG *value
);
516 HRESULT Shadow
([in] LONG value
);
519 HRESULT Size
([retval, out] float *value
);
522 HRESULT Size
([in] float value
);
525 HRESULT SmallCaps
([retval, out] LONG *value
);
528 HRESULT SmallCaps
([in] LONG value
);
531 HRESULT Spacing
([retval, out] float *value
);
534 HRESULT Spacing
([in] float value
);
537 HRESULT StrikeThrough
([retval, out] LONG *value
);
540 HRESULT StrikeThrough
([in] LONG value
);
543 HRESULT Subscript
([retval, out] LONG *value
);
546 HRESULT Subscript
([in] LONG value
);
549 HRESULT Superscript
([retval, out] LONG *value
);
552 HRESULT Superscript
([in] LONG value
);
555 HRESULT Underline
([retval, out] LONG *value
);
558 HRESULT Underline
([in] LONG value
);
561 HRESULT Weight
([retval, out] LONG *value
);
564 HRESULT Weight
([in] LONG value
);
568 uuid(8cc497c4
-a1df
-11ce
-8098-00aa0047be5d
),
573 interface ITextPara
: IDispatch
575 [propget, id(DISPID_VALUE
)]
576 HRESULT Duplicate
([retval, out] ITextPara
**para
);
578 [propput, id(DISPID_VALUE
)]
579 HRESULT Duplicate
([in] ITextPara
*para
);
581 HRESULT CanChange
([out, retval] LONG *pB
);
582 HRESULT IsEqual
([in] ITextPara
*para
, [retval, out] LONG *pB
);
583 HRESULT Reset
([in] LONG value
);
586 HRESULT Style
([retval, out] LONG *value
);
589 HRESULT Style
([in] LONG value
);
592 HRESULT Alignment
([retval, out] LONG *value
);
595 HRESULT Alignment
([in] LONG value
);
598 HRESULT Hyphenation
([retval, out]LONG *value
);
601 HRESULT Hyphenation
([in] LONG value
);
604 HRESULT FirstLineIndent
([retval, out] float *value
);
607 HRESULT KeepTogether
([retval, out] LONG *value
);
610 HRESULT KeepTogether
([in] LONG value
);
613 HRESULT KeepWithNext
([retval, out] LONG *value
);
616 HRESULT KeepWithNext
([in] LONG value
);
619 HRESULT LeftIndent
([retval, out] float *value
);
622 HRESULT LineSpacing
([retval, out] float *value
);
625 HRESULT LineSpacingRule
([retval, out] LONG *value
);
628 HRESULT ListAlignment
([retval, out] LONG *value
);
631 HRESULT ListAlignment
([in] LONG value
);
634 HRESULT ListLevelIndex
([retval, out] LONG *value
);
637 HRESULT ListLevelIndex
([in] LONG value
);
640 HRESULT ListStart
([retval, out] LONG *value
);
643 HRESULT ListStart
([in] LONG value
);
646 HRESULT ListTab
([retval, out] float *value
);
649 HRESULT ListTab
([in] float value
);
652 HRESULT ListType
([retval, out] LONG *value
);
655 HRESULT ListType
([in] LONG value
);
658 HRESULT NoLineNumber
([retval, out] LONG *value
);
661 HRESULT NoLineNumber
([in] LONG value
);
664 HRESULT PageBreakBefore
([retval, out] LONG *value
);
667 HRESULT PageBreakBefore
([in] LONG value
);
670 HRESULT RightIndent
([retval, out] float *value
);
673 HRESULT RightIndent
([in] float value
);
675 HRESULT SetIndents
([in] float StartIndent
, [in] float LeftIndent
, [in] float RightIndent
);
676 HRESULT SetLineSpacing
([in] LONG LineSpacingRule
, [in] float LineSpacing
);
679 HRESULT SpaceAfter
([retval, out] float *value
);
682 HRESULT SpaceAfter
([in] float value
);
685 HRESULT SpaceBefore
([retval, out] float *value
);
688 HRESULT SpaceBefore
([in] float value
);
691 HRESULT WidowControl
([retval, out] LONG *value
);
694 HRESULT WidowControl
([in] LONG value
);
697 HRESULT TabCount
([retval, out] LONG *count
);
699 HRESULT AddTab
([in] float tbPos
, [in] LONG tbAlign
, [in] LONG tbLeader
);
700 HRESULT ClearAllTabs
();
701 HRESULT DeleteTab
([in] float tbPos
);
702 HRESULT GetTab
([in] LONG iTab
, [out] float *ptbPos
, [out] LONG *ptbAlign
, [out] LONG *ptbLeader
);
706 uuid(8cc497c5
-a1df
-11ce
-8098-00aa0047be5d
),
711 interface ITextStoryRanges
: IDispatch
713 [restricted, hidden, id(DISPID_NEWENUM
)]
714 HRESULT _NewEnum
([retval, out] IUnknown
**ppEnum
);
717 HRESULT Item
([in] LONG index
, [retval, out] ITextRange
**range);
720 HRESULT Count
([retval, out] LONG *count
);