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,
37 /* ITextFont::Reset() modes */
43 tomDisableSmartFont = 8,
44 tomEnableSmartFont = 9,
48 tomBackward = 0xc0000001,
49 tomForward = 0x3fffffff,
54 tomSelectionNormal = 2,
55 tomSelectionFrame = 3,
56 tomSelectionColumn = 4,
58 tomSelectionBlock = 6,
59 tomSelectionInlineShape = 7,
60 tomSelectionShape = 8,
61 tomSelStartActive = 1,
82 tomLineSpaceSingle = 0,
84 tomLineSpaceDouble = 2,
85 tomLineSpaceAtLeast = 3,
86 tomLineSpaceExactly = 4,
87 tomLineSpaceMultiple = 5,
94 tomAlignInterWord = 3,
95 tomAlignInterLetter = 4,
109 tomListNumberAsArabic = 2,
110 tomListNumberAsLCLetter = 3,
111 tomListNumberAsUCLetter = 4,
112 tomListNumberAsLCRoman = 5,
113 tomListNumberAsUCRoman = 6,
114 tomListNumberAsSequence = 7,
115 tomListParentheses = 0x10000,
116 tomListPeriod = 0x20000,
117 tomListPlain = 0x30000,
138 /* ITextRange story type values */
140 tomMainTextStory = 1,
141 tomFootnotesStory = 2,
142 tomEndnotesStory = 3,
143 tomCommentsStory = 4,
144 tomTextFrameStory = 5,
145 tomEvenPagesHeaderStory = 6,
146 tomPrimaryHeaderStory = 7,
147 tomEvenPagesFooterStory = 8,
148 tomPrimaryFooterStory = 9,
149 tomFirstPageHeaderStory = 10,
150 tomFirstPageFooterStory = 11,
152 /* ITextFont animation property */
154 tomLasVegasLights = 1,
155 tomBlinkingBackground = 2,
157 tomMarchingBlackAnts = 4,
158 tomMarchingRedAnts = 5,
170 tomShareDenyRead = 0x200,
171 tomShareDenyWrite = 0x400,
172 tomPasteFile = 0x1000,
174 tomCreateAlways = 0x20,
175 tomOpenExisting = 0x30,
176 tomOpenAlways = 0x40,
177 tomTruncateExisting = 0x50,
181 tomWordDocument = 0x4,
182 tomBold = 0x80000001,
183 tomItalic = 0x80000002,
184 tomUnderline = 0x80000004,
185 tomStrikeout = 0x80000008,
186 tomProtected = 0x80000010,
187 tomLink = 0x80000020,
188 tomSmallCaps = 0x80000040,
189 tomAllCaps = 0x80000080,
190 tomHidden = 0x80000100,
191 tomOutline = 0x80000200,
192 tomShadow = 0x80000400,
193 tomEmboss = 0x80000800,
194 tomImprint = 0x80001000,
195 tomDisabled = 0x80002000,
196 tomRevised = 0x80004000,
198 tomKoreanBlockCaret = 0x1,
199 tomIncludeInset = 0x1,
200 tomIgnoreCurrentFont = 0,
201 tomMatchFontCharset = 0x1,
202 tomMatchFontSignature = 0x2,
203 tomCharset = 0x80000000,
209 interface ITextRange;
210 interface ITextSelection;
211 interface ITextStoryRanges;
215 uuid(8cc497c0-a1df-11ce-8098-00aa0047be5d)
217 interface ITextDocument : IDispatch
219 HRESULT GetName([retval, out]BSTR *pName);
220 HRESULT GetSelection([retval, out]ITextSelection **ppSel);
221 HRESULT GetStoryCount([retval, out]LONG *pCount);
222 HRESULT GetStoryRanges([retval, out]ITextStoryRanges **ppStories);
223 HRESULT GetSaved([retval, out]LONG *pValue);
224 HRESULT SetSaved([in]LONG Value);
225 HRESULT GetDefaultTabStop([retval, out]float *pValue);
226 HRESULT SetDefaultTabStop([in]float Value);
228 HRESULT Open([in]VARIANT *pVar, [in]LONG Flags, [in]LONG CodePage);
229 HRESULT Save([in]VARIANT *pVar, [in]LONG Flags, [in]LONG CodePage);
230 HRESULT Freeze([retval, out]LONG *pCount);
231 HRESULT Unfreeze([retval, out]LONG *pCount);
232 HRESULT BeginEditCollection();
233 HRESULT EndEditCollection();
234 HRESULT Undo([in]LONG Count, [retval, out]LONG *prop);
235 HRESULT Redo([in]LONG Count, [retval, out]LONG *prop);
236 HRESULT Range([in]LONG cp1, [in]LONG cp2, [retval, out]ITextRange **ppRange);
237 HRESULT RangeFromPoint([in]LONG x, [in]LONG y, [retval, out]ITextRange **ppRange);
245 uuid(8cc497c2-a1df-11ce-8098-00aa0047be5d)
247 interface ITextRange : IDispatch
249 HRESULT GetText([retval, out]BSTR *pbstr);
250 HRESULT SetText([in]BSTR bstr);
251 HRESULT GetChar([retval, out]LONG *pch);
252 HRESULT SetChar([in]LONG ch);
253 HRESULT GetDuplicate([retval, out]ITextRange **ppRange);
254 HRESULT GetFormattedText([retval, out]ITextRange **ppRange);
255 HRESULT SetFormattedText([in]ITextRange *pRange);
256 HRESULT GetStart([retval, out]LONG *pcpFirst);
257 HRESULT SetStart([in]LONG cpFirst);
258 HRESULT GetEnd([retval, out]LONG *pcpLim);
259 HRESULT SetEnd([in]LONG cpLim);
260 HRESULT GetFont([retval, out]ITextFont **pFont);
261 HRESULT SetFont([in]ITextFont *pFont);
262 HRESULT GetPara([retval, out]ITextPara **ppPara);
263 HRESULT SetPara([in]ITextPara *pPara);
264 HRESULT GetStoryLength([retval, out]LONG *pcch);
265 HRESULT GetStoryType([retval, out]LONG *pValue);
266 HRESULT Collapse([in]LONG bStart);
267 HRESULT Expand([in]LONG Unit, [retval, out]LONG *pDelta);
268 HRESULT GetIndex([in]LONG Unit, [retval, out]LONG *pIndex);
269 HRESULT SetIndex([in]LONG Unit, [in]LONG Index, [in]LONG Extend);
270 HRESULT SetRange([in]LONG anchor, [in]LONG active);
271 HRESULT InRange([in]ITextRange *pRange, [retval, out]LONG *pb);
272 HRESULT InStory([in]ITextRange *pRange, [retval, out]LONG *pb);
273 HRESULT IsEqual([in]ITextRange *pRange, [retval, out]LONG *pb);
275 HRESULT StartOf([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
276 HRESULT EndOf([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
277 HRESULT Move([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
278 HRESULT MoveStart([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
279 HRESULT MoveEnd([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
280 HRESULT MoveWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
281 HRESULT MoveStartWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
282 HRESULT MoveEndWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
283 HRESULT MoveUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
284 HRESULT MoveStartUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
285 HRESULT MoveEndUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
286 HRESULT FindText([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
287 HRESULT FindTextStart([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
288 HRESULT FindTextEnd([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
289 HRESULT Delete([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
290 HRESULT Cut([out]VARIANT *pVar);
291 HRESULT Copy([out]VARIANT *pVar);
292 HRESULT Paste([in]VARIANT *pVar, [in]LONG Format);
293 HRESULT CanPaste([in]VARIANT *pVar, [in]LONG Format, [retval, out]LONG *pb);
294 HRESULT CanEdit([retval, out]LONG *pb);
295 HRESULT ChangeCase([in]LONG Type);
296 HRESULT GetPoint([in]LONG Type, [out]LONG *cx, [out]LONG *cy);
297 HRESULT SetPoint([in]LONG x, [in]LONG y, [in]LONG Type, [in]LONG Extend);
298 HRESULT ScrollIntoView([in]LONG Value);
299 HRESULT GetEmbeddedObject([retval, out]IUnknown **ppv);
304 uuid(8cc497c1-a1df-11ce-8098-00aa0047be5d)
306 interface ITextSelection : ITextRange
308 HRESULT GetFlags([retval, out]LONG *pFlags);
309 HRESULT SetFlags([in]LONG Flags);
310 HRESULT GetType([retval, out]LONG *pType);
311 HRESULT MoveLeft([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
312 HRESULT MoveRight([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
313 HRESULT MoveUp([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
314 HRESULT MoveDown([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
315 HRESULT HomeKey([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
316 HRESULT EndKey([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
317 HRESULT TypeText([in]BSTR bstr);
322 uuid(8cc497c3-a1df-11ce-8098-00aa0047be5d)
324 interface ITextFont : IDispatch
326 HRESULT GetDuplicate([retval, out]ITextFont **ppFont);
327 HRESULT SetDuplicate([in]ITextFont *pFont);
328 HRESULT CanChange([out]LONG *pB);
329 HRESULT IsEqual([in]ITextFont *pFont, [retval, out]LONG *pB);
330 HRESULT Reset([in]LONG Value);
331 HRESULT GetStyle([retval, out]LONG *pValue);
332 HRESULT SetStyle([in]LONG Value);
333 HRESULT GetAllCaps([retval, out]LONG *pValue);
334 HRESULT SetAllCaps([in]LONG Value);
335 HRESULT GetAnimation([retval, out]LONG *pValue);
336 HRESULT SetAnimation([in]LONG Value);
337 HRESULT GetBackColor([retval, out]LONG *pValue);
338 HRESULT SetBackColor([in]LONG Value);
339 HRESULT GetBold([retval, out]LONG *pValue);
340 HRESULT SetBold([in]LONG Value);
341 HRESULT GetEmboss([retval, out]LONG *pValue);
342 HRESULT SetEmboss([in]LONG Value);
343 HRESULT GetForeColor([retval, out]LONG *pValue);
344 HRESULT SetForeColor([in]LONG Value);
345 HRESULT GetHidden([retval, out]LONG *pValue);
346 HRESULT SetHidden([in]LONG Value);
347 HRESULT GetEngrave([retval, out]LONG *pValue);
348 HRESULT SetEngrave([in]LONG Value);
349 HRESULT GetItalic([retval, out]LONG *pValue);
350 HRESULT SetItalic([in]LONG Value);
351 HRESULT GetKerning([retval, out]float *pValue);
352 HRESULT SetKerning([in]float Value);
353 HRESULT GetLanguageID([retval, out]LONG *pValue);
354 HRESULT SetLanguageID([in]LONG Value);
355 HRESULT GetName([retval, out]BSTR *pValue);
356 HRESULT SetName([in]BSTR Value);
357 HRESULT GetOutline([retval, out]LONG *pValue);
358 HRESULT SetOutline([in]LONG Value);
359 HRESULT GetPosition([retval, out]float *pValue);
360 HRESULT SetPosition([in]float Value);
361 HRESULT GetProtected([retval, out]LONG *pValue);
362 HRESULT SetProtected([in]LONG Value);
363 HRESULT GetShadow([retval, out]LONG *pValue);
364 HRESULT SetShadow([in]LONG Value);
365 HRESULT GetSize([retval, out]float *pValue);
366 HRESULT SetSize([in]float Value);
367 HRESULT GetSmallCaps([retval, out]LONG *pValue);
368 HRESULT SetSmallCaps([in]LONG Value);
369 HRESULT GetSpacing([retval, out]float *pValue);
370 HRESULT SetSpacing([in]float Value);
371 HRESULT GetStrikeThrough([retval, out]LONG *pValue);
372 HRESULT SetStrikeThrough([in]LONG Value);
373 HRESULT GetSubscript([retval, out]LONG *pValue);
374 HRESULT SetSubscript([in]LONG Value);
375 HRESULT GetSuperscript([retval, out]LONG *pValue);
376 HRESULT SetSuperscript([in]LONG Value);
377 HRESULT GetUnderline([retval, out]LONG *pValue);
378 HRESULT SetUnderline([in]LONG Value);
379 HRESULT GetWeight([retval, out]LONG *pValue);
380 HRESULT SetWeight([in]LONG Value);
385 uuid(8cc497c4-a1df-11ce-8098-00aa0047be5d)
387 interface ITextPara : IDispatch
389 HRESULT GetDuplicate([retval, out]ITextPara **ppPara);
390 HRESULT SetDuplicate([in]ITextPara *pPara);
391 HRESULT CanChange([out]LONG *pB);
392 HRESULT IsEqual([in]ITextPara *pPara, [retval, out]LONG *pB);
393 HRESULT Reset([in]LONG Value);
394 HRESULT GetStyle([retval, out]LONG *pValue);
395 HRESULT SetStyle([in]LONG Value);
396 HRESULT GetAlignment([retval, out]LONG *pValue);
397 HRESULT SetAlignment([in]LONG Value);
398 HRESULT GetHyphenation([retval, out]LONG *pValue);
399 HRESULT SetHyphenation([in]LONG Value);
400 HRESULT GetFirstLineIndent([retval, out]float *pValue);
401 HRESULT GetKeepTogether([retval, out]LONG *pValue);
402 HRESULT SetKeepTogether([in]LONG Value);
403 HRESULT GetKeepWithNext([retval, out]LONG *pValue);
404 HRESULT SetKeepWithNext([in]LONG Value);
405 HRESULT GetLeftIndent([retval, out]float *pValue);
406 HRESULT GetLineSpacing([retval, out]float *pValue);
407 HRESULT GetLineSpacingRule([retval, out]LONG *pValue);
408 HRESULT GetListAlignment([retval, out]LONG *pValue);
409 HRESULT SetListAlignment([in]LONG Value);
410 HRESULT GetListLevelIndex([retval, out]LONG *pValue);
411 HRESULT SetListLevelIndex([in]LONG Value);
412 HRESULT GetListStart([retval, out]LONG *pValue);
413 HRESULT SetListStart([in]LONG Value);
414 HRESULT GetListTab([retval, out]float *pValue);
415 HRESULT SetListTab([in]float Value);
416 HRESULT GetListType([retval, out]LONG *pValue);
417 HRESULT SetListType([in]LONG Value);
418 HRESULT GetNoLineNumber([retval, out]LONG *pValue);
419 HRESULT SetNoLineNumber([in]LONG Value);
420 HRESULT GetPageBreakBefore([retval, out]LONG *pValue);
421 HRESULT SetPageBreakBefore([in]LONG Value);
422 HRESULT GetRightIndent([retval, out]float *pValue);
423 HRESULT SetRightIndent([in]float Value);
424 HRESULT SetIndents([in]float StartIndent, [in]float LeftIndent, [in]float RightIndent);
425 HRESULT SetLineSpacing([in]LONG LineSpacingRule, [in]float LineSpacing);
426 HRESULT GetSpaceAfter([retval, out]float *pValue);
427 HRESULT SetSpaceAfter([in]float Value);
428 HRESULT GetSpaceBefore([retval, out]float *pValue);
429 HRESULT SetSpaceBefore([in]float Value);
430 HRESULT GetWidowControl([retval, out]LONG *pValue);
431 HRESULT SetWidowControl([in]LONG Value);
432 HRESULT GetTabCount([retval, out]LONG *pCount);
433 HRESULT AddTab([in]float tbPos, [in]LONG tbAlign, [in]LONG tbLeader);
434 HRESULT ClearAllTabs();
435 HRESULT DeleteTab([in]float tbPos);
436 HRESULT GetTab([in]LONG iTab, [out]float *ptbPos, [out]LONG *ptbAlign, [out]LONG *ptbLeader);
441 uuid(8cc497c5-a1df-11ce-8098-00aa0047be5d)
443 interface ITextStoryRanges : IDispatch
445 HRESULT _NewEnum([retval, out]IUnknown **ppUnkEnum);
446 HRESULT Item([in]LONG Index, [retval, out]ITextRange **ppRange);
447 HRESULT GetCount([retval, out]LONG *pCount);