2 * Copyright 2006 Juan Lang
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
23 cpp_quote
("#undef FindText")
26 typedef enum tagTomConstants
30 tomUndefined
= -9999999,
32 tomAutoColor
= -9999997,
33 tomDefault
= -9999996,
34 tomSuspend
= -9999995,
40 tomBackward
= 0xc0000001,
41 tomForward
= 0x3fffffff,
46 tomSelectionNormal
= 2,
47 tomSelectionFrame
= 3,
48 tomSelectionColumn
= 4,
50 tomSelectionBlock
= 6,
51 tomSelectionInlineShape
= 7,
52 tomSelectionShape
= 8,
53 tomSelStartActive
= 1,
74 tomLineSpaceSingle
= 0,
76 tomLineSpaceDouble
= 2,
77 tomLineSpaceAtLeast
= 3,
78 tomLineSpaceExactly
= 4,
79 tomLineSpaceMultiple
= 5,
86 tomAlignInterWord
= 3,
87 tomAlignInterLetter
= 4,
101 tomListNumberAsArabic
= 2,
102 tomListNumberAsLCLetter
= 3,
103 tomListNumberAsUCLetter
= 4,
104 tomListNumberAsLCRoman
= 5,
105 tomListNumberAsUCRoman
= 6,
106 tomListNumberAsSequence
= 7,
107 tomListParentheses
= 0x10000,
108 tomListPeriod
= 0x20000,
109 tomListPlain
= 0x30000,
130 tomMainTextStory
= 1,
131 tomFootnotesStory
= 2,
132 tomEndnotesStory
= 3,
133 tomCommentsStory
= 4,
134 tomTextFrameStory
= 5,
135 tomEvenPagesHeaderStory
= 6,
136 tomPrimaryHeaderStory
= 7,
137 tomEvenPagesFooterStory
= 8,
138 tomPrimaryFooterStory
= 9,
139 tomFirstPageHeaderStory
= 10,
140 tomFirstPageFooterStory
= 11,
142 tomLasVegasLights
= 1,
143 tomBlinkingBackground
= 2,
145 tomMarchingBlackAnts
= 4,
146 tomMarchingRedAnts
= 5,
157 tomShareDenyRead
= 0x200,
158 tomShareDenyWrite
= 0x400,
159 tomPasteFile
= 0x1000,
161 tomCreateAlways
= 0x20,
162 tomOpenExisting
= 0x30,
163 tomOpenAlways
= 0x40,
164 tomTruncateExisting
= 0x50,
168 tomWordDocument
= 0x4,
169 tomBold
= 0x80000001,
170 tomItalic
= 0x80000002,
171 tomUnderline
= 0x80000004,
172 tomStrikeout
= 0x80000008,
173 tomProtected
= 0x80000010,
174 tomLink
= 0x80000020,
175 tomSmallCaps
= 0x80000040,
176 tomAllCaps
= 0x80000080,
177 tomHidden
= 0x80000100,
178 tomOutline
= 0x80000200,
179 tomShadow
= 0x80000400,
180 tomEmboss
= 0x80000800,
181 tomImprint
= 0x80001000,
182 tomDisabled
= 0x80002000,
183 tomRevised
= 0x80004000,
185 tomKoreanBlockCaret
= 0x1,
186 tomIncludeInset
= 0x1,
187 tomIgnoreCurrentFont
= 0,
188 tomMatchFontCharset
= 0x1,
189 tomMatchFontSignature
= 0x2,
190 tomCharset
= 0x80000000,
196 interface ITextRange
;
197 interface ITextSelection
;
198 interface ITextStoryRanges
;
202 uuid(8cc497c0
-a1df
-11ce
-8098-00aa0047be5d
)
204 interface ITextDocument
: IDispatch
206 HRESULT GetName
([retval, out]BSTR *pName
);
207 HRESULT GetSelection
([retval, out]ITextSelection
**ppSel
);
208 HRESULT GetStoryCount
([retval, out]LONG *pCount
);
209 HRESULT GetStoryRanges
([retval, out]ITextStoryRanges
**ppStories
);
210 HRESULT GetSaved
([retval, out]LONG *pValue
);
211 HRESULT SetSaved
([in]LONG Value
);
212 HRESULT GetDefaultTabStop
([retval, out]float *pValue
);
213 HRESULT SetDefaultTabStop
([in]float Value
);
215 HRESULT Open
([in]VARIANT *pVar
, [in]LONG Flags
, [in]LONG CodePage
);
216 HRESULT Save
([in]VARIANT *pVar
, [in]LONG Flags
, [in]LONG CodePage
);
217 HRESULT Freeze
([retval, out]LONG *pCount
);
218 HRESULT Unfreeze
([retval, out]LONG *pCount
);
219 HRESULT BeginEditCollection
();
220 HRESULT EndEditCollection
();
221 HRESULT Undo
([in]LONG Count
, [retval, out]LONG *prop
);
222 HRESULT Redo
([in]LONG Count
, [retval, out]LONG *prop
);
223 HRESULT Range([in]LONG cp1
, [in]LONG cp2
, [retval, out]ITextRange
**ppRange
);
224 HRESULT RangeFromPoint
([in]LONG x
, [in]LONG y
, [retval, out]ITextRange
**ppRange
);
232 uuid(8cc497c2
-a1df
-11ce
-8098-00aa0047be5d
)
234 interface ITextRange
: IDispatch
236 HRESULT GetText
([retval, out]BSTR *pbstr
);
237 HRESULT SetText
([in]BSTR bstr);
238 HRESULT GetChar
([retval, out]LONG *pch
);
239 HRESULT SetChar
([in]LONG ch
);
240 HRESULT GetDuplicate
([retval, out]ITextRange
**ppRange
);
241 HRESULT GetFormattedText
([retval, out]ITextRange
**ppRange
);
242 HRESULT SetFormattedText
([in]ITextRange
*pRange
);
243 HRESULT GetStart
([retval, out]LONG *pcpFirst
);
244 HRESULT SetStart
([in]LONG cpFirst
);
245 HRESULT GetEnd
([retval, out]LONG *pcpLim
);
246 HRESULT SetEnd
([in]LONG cpLim
);
247 HRESULT GetFont
([retval, out]ITextFont
**pFont
);
248 HRESULT SetFont
([in]ITextFont
*pFont
);
249 HRESULT GetPara
([retval, out]ITextPara
**ppPara
);
250 HRESULT SetPara
([in]ITextPara
*pPara
);
251 HRESULT GetStoryLength
([retval, out]LONG *pcch
);
252 HRESULT GetStoryType
([retval, out]LONG *pValue
);
253 HRESULT Collapse
([in]LONG bStart
);
254 HRESULT Expand
([in]LONG Unit
, [retval, out]LONG *pDelta
);
255 HRESULT GetIndex
([in]LONG Unit
, [retval, out]LONG *pIndex
);
256 HRESULT SetIndex
([in]LONG Unit
, [in]LONG Index
, [in]LONG Extend
);
257 HRESULT SetRange
([in]LONG cpActive
, [in]LONG cpOther
);
258 HRESULT InRange
([in]ITextRange
*pRange
, [retval, out]LONG *pb
);
259 HRESULT InStory
([in]ITextRange
*pRange
, [retval, out]LONG *pb
);
260 HRESULT IsEqual
([in]ITextRange
*pRange
, [retval, out]LONG *pb
);
262 HRESULT StartOf
([in]LONG Unit
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
263 HRESULT EndOf
([in]LONG Unit
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
264 HRESULT Move
([in]LONG Unit
, [in]LONG Count
, [retval, out]LONG *pDelta
);
265 HRESULT MoveStart
([in]LONG Unit
, [in]LONG Count
, [retval, out]LONG *pDelta
);
266 HRESULT MoveEnd
([in]LONG Unit
, [in]LONG Count
, [retval, out]LONG *pDelta
);
267 HRESULT MoveWhile
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
268 HRESULT MoveStartWhile
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
269 HRESULT MoveEndWhile
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
270 HRESULT MoveUntil
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
271 HRESULT MoveStartUntil
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
272 HRESULT MoveEndUntil
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
273 HRESULT FindText
([in]BSTR bstr, [in]LONG cch
, [in]LONG Flags
, [retval, out]LONG *pLength
);
274 HRESULT FindTextStart
([in]BSTR bstr, [in]LONG cch
, [in]LONG Flags
, [retval, out]LONG *pLength
);
275 HRESULT FindTextEnd
([in]BSTR bstr, [in]LONG cch
, [in]LONG Flags
, [retval, out]LONG *pLength
);
276 HRESULT Delete
([in]LONG Unit
, [in]LONG Count
, [retval, out]LONG *pDelta
);
277 HRESULT Cut
([out]VARIANT *pVar
);
278 HRESULT Copy
([out]VARIANT *pVar
);
279 HRESULT Paste
([in]VARIANT *pVar
, [in]LONG Format
);
280 HRESULT CanPaste
([in]VARIANT *pVar
, [in]LONG Format
, [retval, out]LONG *pb
);
281 HRESULT CanEdit
([retval, out]LONG *pb
);
282 HRESULT ChangeCase
([in]LONG Type
);
283 HRESULT GetPoint
([in]LONG Type
, [out]LONG *cx
, [out]LONG *cy
);
284 HRESULT SetPoint
([in]LONG x
, [in]LONG y
, [in]LONG Type
, [in]LONG Extend
);
285 HRESULT ScrollIntoView
([in]LONG Value
);
286 HRESULT GetEmbeddedObject
([retval, out]IUnknown
**ppv
);
291 uuid(8cc497c1
-a1df
-11ce
-8098-00aa0047be5d
)
293 interface ITextSelection
: ITextRange
295 HRESULT GetFlags
([retval, out]LONG *pFlags
);
296 HRESULT SetFlags
([in]LONG Flags
);
297 HRESULT GetType
([retval, out]LONG *pType
);
298 HRESULT MoveLeft
([in]LONG Unit
, [in]LONG Count
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
299 HRESULT MoveRight
([in]LONG Unit
, [in]LONG Count
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
300 HRESULT MoveUp
([in]LONG Unit
, [in]LONG Count
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
301 HRESULT MoveDown
([in]LONG Unit
, [in]LONG Count
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
302 HRESULT HomeKey
([in]LONG Unit
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
303 HRESULT EndKey
([in]LONG Unit
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
304 HRESULT TypeText
([in]BSTR bstr);
309 uuid(8cc497c3
-a1df
-11ce
-8098-00aa0047be5d
)
311 interface ITextFont
: IDispatch
313 HRESULT GetDuplicate
([retval, out]ITextFont
**ppFont
);
314 HRESULT SetDuplicate
([in]ITextFont
*pFont
);
315 HRESULT CanChange
([out]LONG *pB
);
316 HRESULT IsEqual
([in]ITextFont
*pFont
, [retval, out]LONG *pB
);
317 HRESULT Reset
([in]LONG Value
);
318 HRESULT GetStyle
([retval, out]LONG *pValue
);
319 HRESULT SetStyle
([in]LONG Value
);
320 HRESULT GetAllCaps
([retval, out]LONG *pValue
);
321 HRESULT SetAllCaps
([in]LONG Value
);
322 HRESULT GetAnimation
([retval, out]LONG *pValue
);
323 HRESULT SetAnimation
([in]LONG Value
);
324 HRESULT GetBackColor
([retval, out]LONG *pValue
);
325 HRESULT SetBackColor
([in]LONG Value
);
326 HRESULT GetBold
([retval, out]LONG *pValue
);
327 HRESULT SetBold
([in]LONG Value
);
328 HRESULT GetEmboss
([retval, out]LONG *pValue
);
329 HRESULT SetEmboss
([in]LONG Value
);
330 HRESULT GetForeColor
([retval, out]LONG *pValue
);
331 HRESULT SetForeColor
([in]LONG Value
);
332 HRESULT GetHidden
([retval, out]LONG *pValue
);
333 HRESULT SetHidden
([in]LONG Value
);
334 HRESULT GetEngrave
([retval, out]LONG *pValue
);
335 HRESULT SetEngrave
([in]LONG Value
);
336 HRESULT GetItalic
([retval, out]LONG *pValue
);
337 HRESULT SetItalic
([in]LONG Value
);
338 HRESULT GetKerning
([retval, out]LONG *pValue
);
339 HRESULT SetKerning
([in]LONG Value
);
340 HRESULT GetLanguageID
([retval, out]LONG *pValue
);
341 HRESULT SetLanguageID
([in]LONG Value
);
342 HRESULT GetName
([retval, out]BSTR *pValue
);
343 HRESULT SetName
([in]BSTR Value
);
344 HRESULT GetOutline
([retval, out]LONG *pValue
);
345 HRESULT SetOutline
([in]LONG Value
);
346 HRESULT GetPosition
([retval, out]LONG *pValue
);
347 HRESULT SetPosition
([in]LONG Value
);
348 HRESULT GetProtected
([retval, out]LONG *pValue
);
349 HRESULT SetProtected
([in]LONG Value
);
350 HRESULT GetShadow
([retval, out]LONG *pValue
);
351 HRESULT SetShadow
([in]LONG Value
);
352 HRESULT GetSize
([retval, out]LONG *pValue
);
353 HRESULT SetSize
([in]LONG Value
);
354 HRESULT GetSmallCaps
([retval, out]LONG *pValue
);
355 HRESULT SetSmallCaps
([in]LONG Value
);
356 HRESULT GetSpacing
([retval, out]float *pValue
);
357 HRESULT SetSpacing
([in]float Value
);
358 HRESULT GetStrikeThrough
([retval, out]LONG *pValue
);
359 HRESULT SetStrikeThrough
([in]LONG Value
);
360 HRESULT GetSubscript
([retval, out]LONG *pValue
);
361 HRESULT SetSubscript
([in]LONG Value
);
362 HRESULT GetSuperscript
([retval, out]LONG *pValue
);
363 HRESULT SetSuperscript
([in]LONG Value
);
364 HRESULT GetUnderline
([retval, out]LONG *pValue
);
365 HRESULT SetUnderline
([in]LONG Value
);
366 HRESULT GetWeight
([retval, out]LONG *pValue
);
367 HRESULT SetWeight
([in]LONG Value
);
372 uuid(8cc497c4
-a1df
-11ce
-8098-00aa0047be5d
)
374 interface ITextPara
: IDispatch
376 HRESULT GetDuplicate
([retval, out]ITextPara
**ppPara
);
377 HRESULT SetDuplicate
([in]ITextPara
*pPara
);
378 HRESULT CanChange
([out]LONG *pB
);
379 HRESULT IsEqual
([in]ITextPara
*pPara
, [retval, out]LONG *pB
);
380 HRESULT Reset
([in]LONG Value
);
381 HRESULT GetStyle
([retval, out]LONG *pValue
);
382 HRESULT SetStyle
([in]LONG Value
);
383 HRESULT GetAlignment
([retval, out]LONG *pValue
);
384 HRESULT SetAlignment
([in]LONG Value
);
385 HRESULT GetHyphenation
([retval, out]LONG *pValue
);
386 HRESULT SetHyphenation
([in]LONG Value
);
387 HRESULT GetFirstLineIndent
([retval, out]float *pValue
);
388 HRESULT GetKeepTogether
([retval, out]LONG *pValue
);
389 HRESULT SetKeepTogether
([in]LONG Value
);
390 HRESULT GetKeepWithNext
([retval, out]LONG *pValue
);
391 HRESULT SetKeepWithNext
([in]LONG Value
);
392 HRESULT GetLeftIndent
([retval, out]float *pValue
);
393 HRESULT GetLineSpacing
([retval, out]float *pValue
);
394 HRESULT GetLineSpacingRule
([retval, out]LONG *pValue
);
395 HRESULT GetListAlignment
([retval, out]LONG *pValue
);
396 HRESULT SetListAlignment
([in]LONG Value
);
397 HRESULT GetListLevelIndex
([retval, out]LONG *pValue
);
398 HRESULT SetListLevelIndex
([in]LONG Value
);
399 HRESULT GetListStart
([retval, out]LONG *pValue
);
400 HRESULT SetListStart
([in]LONG Value
);
401 HRESULT GetListTab
([retval, out]LONG *pValue
);
402 HRESULT SetListTab
([in]LONG Value
);
403 HRESULT GetListType
([retval, out]LONG *pValue
);
404 HRESULT SetListType
([in]LONG Value
);
405 HRESULT GetNoLineNumber
([retval, out]LONG *pValue
);
406 HRESULT SetNoLineNumber
([in]LONG Value
);
407 HRESULT GetPageBreakBefore
([retval, out]LONG *pValue
);
408 HRESULT SetPageBreakBefore
([in]LONG Value
);
409 HRESULT GetRightIndent
([retval, out]float *pValue
);
410 HRESULT SetRightIndent
([in]float Value
);
411 HRESULT SetIndents
([in]float StartIndent
, [in]float LeftIndent
, [in]float RightIndent
);
412 HRESULT SetLineSpacing
([in]LONG LineSpacingRule
, [in]float LineSpacing
);
413 HRESULT GetSpaceAfter
([retval, out]float *pValue
);
414 HRESULT SetSpaceAfter
([in]float Value
);
415 HRESULT GetSpaceBefore
([retval, out]float *pValue
);
416 HRESULT SetSpaceBefore
([in]float Value
);
417 HRESULT GetWindowControl
([retval, out]float *pValue
);
418 HRESULT SetWindowControl
([in]float Value
);
419 HRESULT GetTabCount
([retval, out]LONG *pCount
);
420 HRESULT AddTab
([in]float tbPos
, [in]LONG tbAlign
, [in]LONG tbLeader
);
421 HRESULT ClearAllTabs
();
422 HRESULT DeleteTab
([in]float tbPos
);
423 HRESULT GetTab
([in]LONG iTab
, [out]float *ptbPos
, [out]LONG *ptbAlign
, [out]LONG *ptbLeader
);
428 uuid(8cc497c5
-a1df
-11ce
-8098-00aa0047be5d
)
430 interface ITextStoryRanges
: IDispatch
432 HRESULT _NewEnum
([retval, out]IUnknown
**ppUnkEnum
);
433 HRESULT Item
([in]LONG Index
, [retval, out]ITextRange
**ppRange
);
434 HRESULT GetCount
([retval, out]LONG *pCount
);