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
21 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
22 cpp_quote
("#undef FindText")
25 typedef enum tagTomConstants
29 tomUndefined
= -9999999,
31 tomAutoColor
= -9999997,
32 tomDefault
= -9999996,
33 tomSuspend
= -9999995,
39 tomBackward
= 0xc0000001,
40 tomForward
= 0x3fffffff,
45 tomSelectionNormal
= 2,
46 tomSelectionFrame
= 3,
47 tomSelectionColumn
= 4,
49 tomSelectionBlock
= 6,
50 tomSelectionInlineShape
= 7,
51 tomSelectionShape
= 8,
52 tomSelStartActive
= 1,
73 tomLineSpaceSingle
= 0,
75 tomLineSpaceDouble
= 2,
76 tomLineSpaceAtLeast
= 3,
77 tomLineSpaceExactly
= 4,
78 tomLineSpaceMultiple
= 5,
85 tomAlignInterWord
= 3,
86 tomAlignInterLetter
= 4,
100 tomListNumberAsArabic
= 2,
101 tomListNumberAsLCLetter
= 3,
102 tomListNumberAsUCLetter
= 4,
103 tomListNumberAsLCRoman
= 5,
104 tomListNumberAsUCRoman
= 6,
105 tomListNumberAsSequence
= 7,
106 tomListParentheses
= 0x10000,
107 tomListPeriod
= 0x20000,
108 tomListPlain
= 0x30000,
129 tomMainTextStory
= 1,
130 tomFootnotesStory
= 2,
131 tomEndnotesStory
= 3,
132 tomCommentsStory
= 4,
133 tomTextFrameStory
= 5,
134 tomEvenPagesHeaderStory
= 6,
135 tomPrimaryHeaderStory
= 7,
136 tomEvenPagesFooterStory
= 8,
137 tomPrimaryFooterStory
= 9,
138 tomFirstPageHeaderStory
= 10,
139 tomFirstPageFooterStory
= 11,
141 tomLasVegasLights
= 1,
142 tomBlinkingBackground
= 2,
144 tomMarchingBlackAnts
= 4,
145 tomMarchingRedAnts
= 5,
156 tomShareDenyRead
= 0x200,
157 tomShareDenyWrite
= 0x400,
158 tomPasteFile
= 0x1000,
160 tomCreateAlways
= 0x20,
161 tomOpenExisting
= 0x30,
162 tomOpenAlways
= 0x40,
163 tomTruncateExisting
= 0x50,
167 tomWordDocument
= 0x4,
168 tomBold
= 0x80000001,
169 tomItalic
= 0x80000002,
170 tomUnderline
= 0x80000004,
171 tomStrikeout
= 0x80000008,
172 tomProtected
= 0x80000010,
173 tomLink
= 0x80000020,
174 tomSmallCaps
= 0x80000040,
175 tomAllCaps
= 0x80000080,
176 tomHidden
= 0x80000100,
177 tomOutline
= 0x80000200,
178 tomShadow
= 0x80000400,
179 tomEmboss
= 0x80000800,
180 tomImprint
= 0x80001000,
181 tomDisabled
= 0x80002000,
182 tomRevised
= 0x80004000,
184 tomKoreanBlockCaret
= 0x1,
185 tomIncludeInset
= 0x1,
186 tomIgnoreCurrentFont
= 0,
187 tomMatchFontCharset
= 0x1,
188 tomMatchFontSignature
= 0x2,
189 tomCharset
= 0x80000000,
195 interface ITextRange
;
196 interface ITextSelection
;
197 interface ITextStoryRanges
;
201 uuid(8cc497c0
-a1df
-11ce
-8098-00aa0047be5d
)
203 interface ITextDocument
: IDispatch
205 HRESULT GetName
([retval, out]BSTR *pName
);
206 HRESULT GetSelection
([retval, out]ITextSelection
**ppSel
);
207 HRESULT GetStoryCount
([retval, out]LONG *pCount
);
208 HRESULT GetStoryRanges
([retval, out]ITextStoryRanges
**ppStories
);
209 HRESULT GetSaved
([retval, out]LONG *pValue
);
210 HRESULT SetSaved
([in]LONG Value
);
211 HRESULT GetDefaultTabStop
([retval, out]float *pValue
);
212 HRESULT SetDefaultTabStop
([in]float Value
);
214 HRESULT Open
([in]VARIANT *pVar
, [in]LONG Flags
, [in]LONG CodePage
);
215 HRESULT Save
([in]VARIANT *pVar
, [in]LONG Flags
, [in]LONG CodePage
);
216 HRESULT Freeze
([retval, out]LONG *pCount
);
217 HRESULT Unfreeze
([retval, out]LONG *pCount
);
218 HRESULT BeginEditCollection
();
219 HRESULT EndEditCollection
();
220 HRESULT Undo
([in]LONG Count
, [retval, out]LONG *prop
);
221 HRESULT Redo
([in]LONG Count
, [retval, out]LONG *prop
);
222 HRESULT Range([in]LONG cp1
, [in]LONG cp2
, [retval, out]ITextRange
**ppRange
);
223 HRESULT RangeFromPoint
([in]LONG x
, [in]LONG y
, [retval, out]ITextRange
**ppRange
);
231 uuid(8cc497c2
-a1df
-11ce
-8098-00aa0047be5d
)
233 interface ITextRange
: IDispatch
235 HRESULT GetText
([retval, out]BSTR *pbstr
);
236 HRESULT SetText
([in]BSTR bstr);
237 HRESULT GetChar
([retval, out]LONG *pch
);
238 HRESULT SetChar
([in]LONG ch
);
239 HRESULT GetDuplicate
([retval, out]ITextRange
**ppRange
);
240 HRESULT GetFormattedText
([retval, out]ITextRange
**ppRange
);
241 HRESULT SetFormattedText
([in]ITextRange
*pRange
);
242 HRESULT GetStart
([retval, out]LONG *pcpFirst
);
243 HRESULT SetStart
([in]LONG cpFirst
);
244 HRESULT GetEnd
([retval, out]LONG *pcpLim
);
245 HRESULT SetEnd
([in]LONG cpLim
);
246 HRESULT GetFont
([retval, out]ITextFont
**pFont
);
247 HRESULT SetFont
([in]ITextFont
*pFont
);
248 HRESULT GetPara
([retval, out]ITextPara
**ppPara
);
249 HRESULT SetPara
([in]ITextPara
*pPara
);
250 HRESULT GetStoryLength
([retval, out]LONG *pcch
);
251 HRESULT GetStoryType
([retval, out]LONG *pValue
);
252 HRESULT Collapse
([in]LONG bStart
);
253 HRESULT Expand
([in]LONG Unit
, [retval, out]LONG *pDelta
);
254 HRESULT GetIndex
([in]LONG Unit
, [retval, out]LONG *pIndex
);
255 HRESULT SetIndex
([in]LONG Unit
, [in]LONG Index
, [in]LONG Extend
);
256 HRESULT SetRange
([in]LONG cpActive
, [in]LONG cpOther
);
257 HRESULT InRange
([in]ITextRange
*pRange
, [retval, out]LONG *pb
);
258 HRESULT InStory
([in]ITextRange
*pRange
, [retval, out]LONG *pb
);
259 HRESULT IsEqual
([in]ITextRange
*pRange
, [retval, out]LONG *pb
);
261 HRESULT StartOf
([in]LONG Unit
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
262 HRESULT EndOf
([in]LONG Unit
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
263 HRESULT Move
([in]LONG Unit
, [in]LONG Count
, [retval, out]LONG *pDelta
);
264 HRESULT MoveStart
([in]LONG Unit
, [in]LONG Count
, [retval, out]LONG *pDelta
);
265 HRESULT MoveEnd
([in]LONG Unit
, [in]LONG Count
, [retval, out]LONG *pDelta
);
266 HRESULT MoveWhile
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
267 HRESULT MoveStartWhile
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
268 HRESULT MoveEndWhile
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
269 HRESULT MoveUntil
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
270 HRESULT MoveStartUntil
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
271 HRESULT MoveEndUntil
([in]VARIANT *Cset
, [in]LONG Count
, [retval, out]LONG *pDelta
);
272 HRESULT FindText
([in]BSTR bstr, [in]LONG cch
, [in]LONG Flags
, [retval, out]LONG *pLength
);
273 HRESULT FindTextStart
([in]BSTR bstr, [in]LONG cch
, [in]LONG Flags
, [retval, out]LONG *pLength
);
274 HRESULT FindTextEnd
([in]BSTR bstr, [in]LONG cch
, [in]LONG Flags
, [retval, out]LONG *pLength
);
275 HRESULT Delete
([in]LONG Unit
, [in]LONG Count
, [retval, out]LONG *pDelta
);
276 HRESULT Cut
([out]VARIANT *pVar
);
277 HRESULT Copy
([out]VARIANT *pVar
);
278 HRESULT Paste
([in]VARIANT *pVar
, [in]LONG Format
);
279 HRESULT CanPaste
([in]VARIANT *pVar
, [in]LONG Format
, [retval, out]LONG *pb
);
280 HRESULT CanEdit
([retval, out]LONG *pb
);
281 HRESULT ChangeCase
([in]LONG Type
);
282 HRESULT GetPoint
([in]LONG Type
, [out]LONG *cx
, [out]LONG *cy
);
283 HRESULT SetPoint
([in]LONG x
, [in]LONG y
, [in]LONG Type
, [in]LONG Extend
);
284 HRESULT ScrollIntoView
([in]LONG Value
);
285 HRESULT GetEmbeddedObject
([retval, out]IUnknown
**ppv
);
290 uuid(8cc497c1
-a1df
-11ce
-8098-00aa0047be5d
)
292 interface ITextSelection
: ITextRange
294 HRESULT GetFlags
([retval, out]LONG *pFlags
);
295 HRESULT SetFlags
([in]LONG Flags
);
296 HRESULT GetType
([retval, out]LONG *pType
);
297 HRESULT MoveLeft
([in]LONG Unit
, [in]LONG Count
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
298 HRESULT MoveRight
([in]LONG Unit
, [in]LONG Count
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
299 HRESULT MoveUp
([in]LONG Unit
, [in]LONG Count
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
300 HRESULT MoveDown
([in]LONG Unit
, [in]LONG Count
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
301 HRESULT HomeKey
([in]LONG Unit
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
302 HRESULT EndKey
([in]LONG Unit
, [in]LONG Extend
, [retval, out]LONG *pDelta
);
303 HRESULT TypeText
([in]BSTR bstr);
308 uuid(8cc497c3
-a1df
-11ce
-8098-00aa0047be5d
)
310 interface ITextFont
: IDispatch
312 HRESULT GetDuplicate
([retval, out]ITextFont
**ppFont
);
313 HRESULT SetDuplicate
([in]ITextFont
*pFont
);
314 HRESULT CanChange
([out]LONG *pB
);
315 HRESULT IsEqual
([in]ITextFont
*pFont
, [retval, out]LONG *pB
);
316 HRESULT Reset
([in]LONG Value
);
317 HRESULT GetStyle
([retval, out]LONG *pValue
);
318 HRESULT SetStyle
([in]LONG Value
);
319 HRESULT GetAllCaps
([retval, out]LONG *pValue
);
320 HRESULT SetAllCaps
([in]LONG Value
);
321 HRESULT GetAnimation
([retval, out]LONG *pValue
);
322 HRESULT SetAnimation
([in]LONG Value
);
323 HRESULT GetBackColor
([retval, out]LONG *pValue
);
324 HRESULT SetBackColor
([in]LONG Value
);
325 HRESULT GetBold
([retval, out]LONG *pValue
);
326 HRESULT SetBold
([in]LONG Value
);
327 HRESULT GetEmboss
([retval, out]LONG *pValue
);
328 HRESULT SetEmboss
([in]LONG Value
);
329 HRESULT GetForeColor
([retval, out]LONG *pValue
);
330 HRESULT SetForeColor
([in]LONG Value
);
331 HRESULT GetHidden
([retval, out]LONG *pValue
);
332 HRESULT SetHidden
([in]LONG Value
);
333 HRESULT GetEngrave
([retval, out]LONG *pValue
);
334 HRESULT SetEngrave
([in]LONG Value
);
335 HRESULT GetItalic
([retval, out]LONG *pValue
);
336 HRESULT SetItalic
([in]LONG Value
);
337 HRESULT GetKerning
([retval, out]LONG *pValue
);
338 HRESULT SetKerning
([in]LONG Value
);
339 HRESULT GetLanguageID
([retval, out]LONG *pValue
);
340 HRESULT SetLanguageID
([in]LONG Value
);
341 HRESULT GetName
([retval, out]BSTR *pValue
);
342 HRESULT SetName
([in]BSTR Value
);
343 HRESULT GetOutline
([retval, out]LONG *pValue
);
344 HRESULT SetOutline
([in]LONG Value
);
345 HRESULT GetPosition
([retval, out]LONG *pValue
);
346 HRESULT SetPosition
([in]LONG Value
);
347 HRESULT GetProtected
([retval, out]LONG *pValue
);
348 HRESULT SetProtected
([in]LONG Value
);
349 HRESULT GetShadow
([retval, out]LONG *pValue
);
350 HRESULT SetShadow
([in]LONG Value
);
351 HRESULT GetSize
([retval, out]LONG *pValue
);
352 HRESULT SetSize
([in]LONG Value
);
353 HRESULT GetSmallCaps
([retval, out]LONG *pValue
);
354 HRESULT SetSmallCaps
([in]LONG Value
);
355 HRESULT GetSpacing
([retval, out]float *pValue
);
356 HRESULT SetSpacing
([in]float Value
);
357 HRESULT GetStrikeThrough
([retval, out]LONG *pValue
);
358 HRESULT SetStrikeThrough
([in]LONG Value
);
359 HRESULT GetSubscript
([retval, out]LONG *pValue
);
360 HRESULT SetSubscript
([in]LONG Value
);
361 HRESULT GetSuperscript
([retval, out]LONG *pValue
);
362 HRESULT SetSuperscript
([in]LONG Value
);
363 HRESULT GetUnderline
([retval, out]LONG *pValue
);
364 HRESULT SetUnderline
([in]LONG Value
);
365 HRESULT GetWeight
([retval, out]LONG *pValue
);
366 HRESULT SetWeight
([in]LONG Value
);
371 uuid(8cc497c4
-a1df
-11ce
-8098-00aa0047be5d
)
373 interface ITextPara
: IDispatch
375 HRESULT GetDuplicate
([retval, out]ITextPara
**ppPara
);
376 HRESULT SetDuplicate
([in]ITextPara
*pPara
);
377 HRESULT CanChange
([out]LONG *pB
);
378 HRESULT IsEqual
([in]ITextPara
*pPara
, [retval, out]LONG *pB
);
379 HRESULT Reset
([in]LONG Value
);
380 HRESULT GetStyle
([retval, out]LONG *pValue
);
381 HRESULT SetStyle
([in]LONG Value
);
382 HRESULT GetAlignment
([retval, out]LONG *pValue
);
383 HRESULT SetAlignment
([in]LONG Value
);
384 HRESULT GetHyphenation
([retval, out]LONG *pValue
);
385 HRESULT SetHyphenation
([in]LONG Value
);
386 HRESULT GetFirstLineIndent
([retval, out]float *pValue
);
387 HRESULT GetKeepTogether
([retval, out]LONG *pValue
);
388 HRESULT SetKeepTogether
([in]LONG Value
);
389 HRESULT GetKeepWithNext
([retval, out]LONG *pValue
);
390 HRESULT SetKeepWithNext
([in]LONG Value
);
391 HRESULT GetLeftIndent
([retval, out]float *pValue
);
392 HRESULT GetLineSpacing
([retval, out]float *pValue
);
393 HRESULT GetLineSpacingRule
([retval, out]LONG *pValue
);
394 HRESULT GetListAlignment
([retval, out]LONG *pValue
);
395 HRESULT SetListAlignment
([in]LONG Value
);
396 HRESULT GetListLevelIndex
([retval, out]LONG *pValue
);
397 HRESULT SetListLevelIndex
([in]LONG Value
);
398 HRESULT GetListStart
([retval, out]LONG *pValue
);
399 HRESULT SetListStart
([in]LONG Value
);
400 HRESULT GetListTab
([retval, out]LONG *pValue
);
401 HRESULT SetListTab
([in]LONG Value
);
402 HRESULT GetListType
([retval, out]LONG *pValue
);
403 HRESULT SetListType
([in]LONG Value
);
404 HRESULT GetNoLineNumber
([retval, out]LONG *pValue
);
405 HRESULT SetNoLineNumber
([in]LONG Value
);
406 HRESULT GetPageBreakBefore
([retval, out]LONG *pValue
);
407 HRESULT SetPageBreakBefore
([in]LONG Value
);
408 HRESULT GetRightIndent
([retval, out]float *pValue
);
409 HRESULT SetRightIndent
([in]float Value
);
410 HRESULT SetIndents
([in]float StartIndent
, [in]float LeftIndent
, [in]float RightIndent
);
411 HRESULT SetLineSpacing
([in]LONG LineSpacingRule
, [in]float LineSpacing
);
412 HRESULT GetSpaceAfter
([retval, out]float *pValue
);
413 HRESULT SetSpaceAfter
([in]float Value
);
414 HRESULT GetSpaceBefore
([retval, out]float *pValue
);
415 HRESULT SetSpaceBefore
([in]float Value
);
416 HRESULT GetWindowControl
([retval, out]float *pValue
);
417 HRESULT SetWindowControl
([in]float Value
);
418 HRESULT GetTabCount
([retval, out]LONG *pCount
);
419 HRESULT AddTab
([in]float tbPos
, [in]LONG tbAlign
, [in]LONG tbLeader
);
420 HRESULT ClearAllTabs
();
421 HRESULT DeleteTab
([in]float tbPos
);
422 HRESULT GetTab
([in]LONG iTab
, [out]float *ptbPos
, [out]LONG *ptbAlign
, [out]LONG *ptbLeader
);
427 uuid(8cc497c5
-a1df
-11ce
-8098-00aa0047be5d
)
429 interface ITextStoryRanges
: IDispatch
431 HRESULT _NewEnum
([retval, out]IUnknown
**ppUnkEnum
);
432 HRESULT Item
([in]LONG Index
, [retval, out]ITextRange
**ppRange
);
433 HRESULT GetCount
([retval, out]LONG *pCount
);