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);