ntdll: Use MAP_PRIVATE for copy on write mappings.
[wine.git] / include / tom.idl
blobdaa907b47c47dad17d20f58b1a3a8262ce244ac1
1 /*
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
19 import "oaidl.idl";
20 import "ocidl.idl";
22 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
23 cpp_quote("#undef FindText")
24 cpp_quote("#endif")
26 typedef enum tagTomConstants
28 tomFalse = 0,
29 tomTrue = -1,
30 tomUndefined = -9999999,
31 tomToggle = -9999998,
32 tomAutoColor = -9999997,
33 tomDefault = -9999996,
34 tomSuspend = -9999995,
35 tomResume = -9999994,
36 tomApplyNow = 0,
37 tomApplyLater = 1,
38 tomTrackParms = 2,
39 tomCacheParms = 3,
40 tomBackward = 0xc0000001,
41 tomForward = 0x3fffffff,
42 tomMove = 0,
43 tomExtend = 1,
44 tomNoSelection = 0,
45 tomSelectionIP = 1,
46 tomSelectionNormal = 2,
47 tomSelectionFrame = 3,
48 tomSelectionColumn = 4,
49 tomSelectionRow = 5,
50 tomSelectionBlock = 6,
51 tomSelectionInlineShape = 7,
52 tomSelectionShape = 8,
53 tomSelStartActive = 1,
54 tomSelAtEOL = 2,
55 tomSelOvertype = 4,
56 tomSelActive = 8,
57 tomSelReplace = 16,
58 tomEnd = 0,
59 tomStart = 32,
60 tomCollapseEnd = 0,
61 tomCollapseStart = 1,
62 tomClientCoord = 256,
63 tomNone = 0,
64 tomSingle = 1,
65 tomWords = 2,
66 tomDouble = 3,
67 tomDotted = 4,
68 tomDash = 5,
69 tomDashDot = 6,
70 tomDashDotDot = 7,
71 tomWave = 8,
72 tomThick = 9,
73 tomHair = 10,
74 tomLineSpaceSingle = 0,
75 tomLineSpace1pt5 = 1,
76 tomLineSpaceDouble = 2,
77 tomLineSpaceAtLeast = 3,
78 tomLineSpaceExactly = 4,
79 tomLineSpaceMultiple = 5,
80 tomAlignLeft = 0,
81 tomAlignCenter = 1,
82 tomAlignRight = 2,
83 tomAlignJustify = 3,
84 tomAlignDecimal = 3,
85 tomAlignBar = 4,
86 tomAlignInterWord = 3,
87 tomAlignInterLetter = 4,
88 tomAlignScaled = 5,
89 tomAlignGlyphs = 6,
90 tomAlignSnapGrid = 7,
91 tomSpaces = 0,
92 tomDots = 1,
93 tomDashes = 2,
94 tomLines = 3,
95 tomThickLines = 4,
96 tomEquals = 5,
97 tomTabBack = -3,
98 tomTabNext = -2,
99 tomTabHere = -1,
100 tomListBullet = 1,
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,
110 tomCharacter = 1,
111 tomWord = 2,
112 tomSentence = 3,
113 tomParagraph = 4,
114 tomLine = 5,
115 tomStory = 6,
116 tomScreen = 7,
117 tomSection = 8,
118 tomColumn = 9,
119 tomRow = 10,
120 tomWindow = 11,
121 tomCell = 12,
122 tomCharFormat = 13,
123 tomParaFormat = 14,
124 tomTable = 15,
125 tomObject = 16,
126 tomMatchWord = 2,
127 tomMatchCase = 4,
128 tomMatchPattern = 8,
129 tomUnknownStory = 0,
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,
141 tomNoAnimation = 0,
142 tomLasVegasLights = 1,
143 tomBlinkingBackground = 2,
144 tomSparkleText = 3,
145 tomMarchingBlackAnts = 4,
146 tomMarchingRedAnts = 5,
147 tomShimmer = 6,
148 tomWipeDown = 7,
149 tomWipeRight = 8,
150 tomAnimationMax = 8,
151 tomLowerCase = 0,
152 tomUpperCase = 1,
153 tomTitleCase = 2,
154 tomSentenceCase = 4,
155 tomToggleCase = 5,
156 tomReadOnly = 0x100,
157 tomShareDenyRead = 0x200,
158 tomShareDenyWrite = 0x400,
159 tomPasteFile = 0x1000,
160 tomCreateNew = 0x10,
161 tomCreateAlways = 0x20,
162 tomOpenExisting = 0x30,
163 tomOpenAlways = 0x40,
164 tomTruncateExisting = 0x50,
165 tomRTF = 0x1,
166 tomText = 0x2,
167 tomHTML = 0x3,
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,
184 tomNormalCaret = 0,
185 tomKoreanBlockCaret = 0x1,
186 tomIncludeInset = 0x1,
187 tomIgnoreCurrentFont = 0,
188 tomMatchFontCharset = 0x1,
189 tomMatchFontSignature = 0x2,
190 tomCharset = 0x80000000,
191 tomRE10Mode = 0x1,
192 tomNoIME = 0x80000,
193 tomSelfIME = 0x40000
194 } tomConstants;
196 interface ITextRange;
197 interface ITextSelection;
198 interface ITextStoryRanges;
201 object,
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);
214 HRESULT New();
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);
227 interface ITextFont;
228 interface ITextPara;
231 object,
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);
261 HRESULT Select();
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);
290 object,
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);
308 object,
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);
371 object,
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);
427 object,
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);