include: Fixed the tom constant values.
[wine] / include / tom.idl
1 /*
2  * Copyright 2006 Juan Lang
3  *
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.
8  *
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.
13  *
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
17  */
18
19 import "oaidl.idl";
20
21 typedef enum tagTomConstants
22 {
23     tomFalse       = 0,
24     tomTrue        = -1,
25     tomUndefined   = -9999999,
26     tomToggle      = -9999998,
27     tomAutoColor   = -9999997,
28     tomDefault     = -9999996,
29     tomSuspend     = -9999995,
30     tomResume      = -9999994,
31     tomApplyNow    = 0,
32     tomApplyLater  = 1,
33     tomTrackParms  = 2,
34     tomCacheParms  = 3,
35     tomBackward    = 0xc0000001,
36     tomForward     = 0x3fffffff,
37     tomMove        = 0,
38     tomExtend      = 1,
39     tomNoSelection          = 0,
40     tomSelectionIP          = 1,
41     tomSelectionNormal      = 2,
42     tomSelectionFrame       = 3,
43     tomSelectionColumn      = 4,
44     tomSelectionRow         = 5,
45     tomSelectionBlock       = 6,
46     tomSelectionInlineShape = 7,
47     tomSelectionShape       = 8,
48     tomSelStartActive = 1,
49     tomSelAtEOL       = 2,
50     tomSelOvertype    = 4,
51     tomSelActive      = 8,
52     tomSelReplace     = 16,
53     tomEnd   = 0,
54     tomStart = 32,
55     tomCollapseEnd   = 0,
56     tomCollapseStart = 1,
57     tomClientCoord = 256,
58     tomNone       = 0,
59     tomSingle     = 1,
60     tomWords      = 2,
61     tomDouble     = 3,
62     tomDotted     = 4,
63     tomDash       = 5,
64     tomDashDot    = 6,
65     tomDashDotDot = 7,
66     tomWave       = 8,
67     tomThick      = 9,
68     tomHair       = 10,
69     tomLineSpaceSingle   = 0,
70     tomLineSpace1pt5     = 1,
71     tomLineSpaceDouble   = 2,
72     tomLineSpaceAtLeast  = 3,
73     tomLineSpaceExactly  = 4,
74     tomLineSpaceMultiple = 5,
75     tomAlignLeft        = 0,
76     tomAlignCenter      = 1,
77     tomAlignRight       = 2,
78     tomAlignJustify     = 3,
79     tomAlignDecimal     = 3,
80     tomAlignBar         = 4,
81     tomAlignInterWord   = 3,
82     tomAlignInterLetter = 4,
83     tomAlignScaled      = 5,
84     tomAlignGlyphs      = 6,
85     tomAlignSnapGrid    = 7,
86     tomSpaces     = 0,
87     tomDots       = 1,
88     tomDashes     = 2,
89     tomLines      = 3,
90     tomThickLines = 4,
91     tomEquals     = 5,
92     tomTabBack = -3,
93     tomTabNext = -2,
94     tomTabHere = -1,
95     tomListBullet           = 1,
96     tomListNumberAsArabic   = 2,
97     tomListNumberAsLCLetter = 3,
98     tomListNumberAsUCLetter = 4,
99     tomListNumberAsLCRoman  = 5,
100     tomListNumberAsUCRoman  = 6,
101     tomListNumberAsSequence = 7,
102     tomListParentheses      = 0x10000,
103     tomListPeriod           = 0x20000,
104     tomListPlain            = 0x30000,
105     tomCharacter  = 1,
106     tomWord       = 2,
107     tomSentence   = 3,
108     tomParagraph  = 4,
109     tomLine       = 5,
110     tomStory      = 6,
111     tomScreen     = 7,
112     tomSection    = 8,
113     tomColumn     = 9,
114     tomRow        = 10,
115     tomWindow     = 11,
116     tomCell       = 12,
117     tomCharFormat = 13,
118     tomParaFormat = 14,
119     tomTable      = 15,
120     tomObject     = 16,
121     tomMatchWord    = 2,
122     tomMatchCase    = 4,
123     tomMatchPattern = 8,
124     tomUnknownStory         = 0,
125     tomMainTextStory        = 1,
126     tomFootnotesStory       = 2,
127     tomEndnotesStory        = 3,
128     tomCommentsStory        = 4,
129     tomTextFrameStory       = 5,
130     tomEvenPagesHeaderStory = 6,
131     tomPrimaryHeaderStory   = 7,
132     tomEvenPagesFooterStory = 8,
133     tomPrimaryFooterStory   = 9,
134     tomFirstPageHeaderStory = 10,
135     tomFirstPageFooterStory = 11,
136     tomNoAnimation        = 0,
137     tomLasVegasLights     = 1,
138     tomBlinkingBackground = 2,
139     tomSparkleText        = 3,
140     tomMarchingBlackAnts  = 4,
141     tomMarchingRedAnts    = 5,
142     tomShimmer            = 6,
143     tomWipeDown           = 7,
144     tomWipeRight          = 8,
145     tomAnimationMax       = 8,
146     tomLowerCase     = 0,
147     tomUpperCase     = 1,
148     tomTitleCase     = 2,
149     tomSentenceCase  = 4,
150     tomToggleCase    = 5,
151     tomReadOnly         = 0x100,
152     tomShareDenyRead    = 0x200,
153     tomShareDenyWrite   = 0x400,
154     tomPasteFile        = 0x1000,
155     tomCreateNew        = 0x10,
156     tomCreateAlways     = 0x20,
157     tomOpenExisting     = 0x30,
158     tomOpenAlways       = 0x40,
159     tomTruncateExisting = 0x50,
160     tomRTF              = 0x1,
161     tomText             = 0x2,
162     tomHTML             = 0x3,
163     tomWordDocument     = 0x4,
164     tomBold      = 0x80000001,
165     tomItalic    = 0x80000002,
166     tomUnderline = 0x80000004,
167     tomStrikeout = 0x80000008,
168     tomProtected = 0x80000010,
169     tomLink      = 0x80000020,
170     tomSmallCaps = 0x80000040,
171     tomAllCaps   = 0x80000080,
172     tomHidden    = 0x80000100,
173     tomOutline   = 0x80000200,
174     tomShadow    = 0x80000400,
175     tomEmboss    = 0x80000800,
176     tomImprint   = 0x80001000,
177     tomDisabled  = 0x80002000,
178     tomRevised   = 0x80004000,
179     tomNormalCaret      = 0,
180     tomKoreanBlockCaret = 0x1,
181     tomIncludeInset = 0x1,
182     tomIgnoreCurrentFont  = 0,
183     tomMatchFontCharset   = 0x1,
184     tomMatchFontSignature = 0x2,
185     tomCharset = 0x80000000,
186     tomRE10Mode = 0x1,
187     tomNoIME   = 0x80000,
188     tomSelfIME = 0x40000
189 } tomConstants;
190
191 interface ITextRange;
192 interface ITextSelection;
193 interface ITextStoryRanges;
194
195 [
196   object,
197   uuid(8cc497c0-a1df-11ce-8098-00aa0047be5d)
198 ]
199 interface ITextDocument : IDispatch
200 {
201     HRESULT GetName([retval, out]BSTR *pName);
202     HRESULT GetSelection([retval, out]ITextSelection **ppSel);
203     HRESULT GetStoryCount([retval, out]long *pCount);
204     HRESULT GetStoryRanges([retval, out]ITextStoryRanges **ppStories);
205     HRESULT GetSaved([retval, out]long *pValue);
206     HRESULT SetSaved([in]long Value);
207     HRESULT GetDefaultTabStop([retval, out]float *pValue);
208     HRESULT SetDefaultTabStop([in]float Value);
209     HRESULT New();
210     HRESULT Open([in]VARIANT *pVar, [in]long Flags, [in]long CodePage);
211     HRESULT Save([in]VARIANT *pVar, [in]long Flags, [in]long CodePage);
212     HRESULT Freeze([retval, out]long *pCount);
213     HRESULT Unfreeze([retval, out]long *pCount);
214     HRESULT BeginEditCollection();
215     HRESULT EndEditCollection();
216     HRESULT Undo([in]long Count, [retval, out]long *prop);
217     HRESULT Redo([in]long Count, [retval, out]long *prop);
218     HRESULT Range([in]long cp1, [in]long cp2, [retval, out]ITextRange**ppRange);
219     HRESULT RangeFromPoint([in]long x, [in]long y, [retval, out]ITextRange**ppRange);
220 }
221
222 interface ITextFont;
223 interface ITextPara;
224
225 [
226   object,
227   uuid(8cc497c2-a1df-11ce-8098-00aa0047be5d)
228 ]
229 interface ITextRange : IDispatch
230 {
231     HRESULT GetText([retval, out]BSTR *pbstr);
232     HRESULT SetText([in]BSTR bstr);
233     HRESULT GetChar([retval, out]long *pch);
234     HRESULT SetChar([in]long ch);
235     HRESULT GetDuplicate([retval, out]ITextRange **ppRange);
236     HRESULT GetFormattedText([retval, out]ITextRange **ppRange);
237     HRESULT SetFormattedText([in]ITextRange *pRange);
238     HRESULT GetStart([retval, out]long *pcpFirst);
239     HRESULT SetStart([in]long cpFirst);
240     HRESULT GetEnd([retval, out]long *pcpLim);
241     HRESULT SetEnd([in]long cpLim);
242     HRESULT GetFont([retval, out]ITextFont **pFont);
243     HRESULT SetFont([in]ITextFont *pFont);
244     HRESULT GetPara([retval, out]ITextPara **ppPara);
245     HRESULT SetPara([in]ITextPara *pPara);
246     HRESULT GetStoryLength([retval, out]long *pcch);
247     HRESULT GetStoryType([retval, out]long *pValue);
248     HRESULT Collapse([in]long bStart);
249     HRESULT Expand([in]long Unit, [retval, out]long *pDelta);
250     HRESULT GetIndex([in]long Unit, [retval, out]long *pIndex);
251     HRESULT SetIndex([in]long Unit, [in]long Index, [in]long Extend);
252     HRESULT SetRange([in]long cpActive, [in]long cpOther);
253     HRESULT InRange([in]ITextRange *pRange, [retval, out]long *pb);
254     HRESULT InStory([in]ITextRange *pRange, [retval, out]long *pb);
255     HRESULT IsEqual([in]ITextRange *pRange, [retval, out]long *pb);
256     HRESULT Select();
257     HRESULT StartOf([in]long Unit, [in]long Extend, [retval, out]long *pDelta);
258     HRESULT EndOf([in]long Unit, [in]long Extend, [retval, out]long *pDelta);
259     HRESULT Move([in]long Unit, [in]long Count, [retval, out]long *pDelta);
260     HRESULT MoveStart([in]long Unit, [in]long Count, [retval, out]long *pDelta);
261     HRESULT MoveEnd([in]long Unit, [in]long Count, [retval, out]long *pDelta);
262     HRESULT MoveWhile([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
263     HRESULT MoveStartWhile([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
264     HRESULT MoveEndWhile([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
265     HRESULT MoveUntil([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
266     HRESULT MoveStartUntil([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
267     HRESULT MoveEndUntil([in]VARIANT *Cset, [in]long Count, [retval, out]long *pDelta);
268     HRESULT FindText([in]BSTR bstr, [in]long cch, [in]long Flags, [retval, out]long *pLength);
269     HRESULT FindTextStart([in]BSTR bstr, [in]long cch, [in]long Flags, [retval, out]long *pLength);
270     HRESULT FindTextEnd([in]BSTR bstr, [in]long cch, [in]long Flags, [retval, out]long *pLength);
271     HRESULT Delete([in]long Unit, [in]long Count, [retval, out]long *pDelta);
272     HRESULT Cut([out]VARIANT *pVar);
273     HRESULT Copy([out]VARIANT *pVar);
274     HRESULT Paste([in]VARIANT *pVar, [in]long Format);
275     HRESULT CanPaste([in]VARIANT *pVar, [in]long Format, [retval, out]long *pb);
276     HRESULT CanEdit([retval, out]long *pb);
277     HRESULT ChangeCase([in]long Type);
278     HRESULT GetPoint([in]long Type, [out]long *cx, [out]long *cy);
279     HRESULT SetPoint([in]long x, [in]long y, [in]long Type, [in]long Extend);
280     HRESULT ScrollIntoView([in]long Value);
281     HRESULT GetEmbeddedObject([retval, out]IUnknown **ppv);
282 }
283
284 [
285   object,
286   uuid(8cc497c1-a1df-11ce-8098-00aa0047be5d)
287 ]
288 interface ITextSelection : ITextRange
289 {
290     HRESULT GetFlags([retval, out]long *pFlags);
291     HRESULT SetFlags([in]long Flags);
292     HRESULT GetType([retval, out]long *pType);
293     HRESULT MoveLeft([in]long Unit, [in]long Count, [in]long Extend, [retval, out]long *pDelta);
294     HRESULT MoveRight([in]long Unit, [in]long Count, [in]long Extend, [retval, out]long *pDelta);
295     HRESULT MoveUp([in]long Unit, [in]long Count, [in]long Extend, [retval, out]long *pDelta);
296     HRESULT MoveDown([in]long Unit, [in]long Count, [in]long Extend, [retval, out]long *pDelta);
297     HRESULT HomeKey([in]long Unit, [in]long Extend, [retval, out]long *pDelta);
298     HRESULT EndKey([in]long Unit, [in]long Extend, [retval, out]long *pDelta);
299     HRESULT TypeText([in]BSTR bstr);
300 }
301
302 [
303   object,
304   uuid(8cc497c3-a1df-11ce-8098-00aa0047be5d)
305 ]
306 interface ITextFont : IDispatch
307 {
308     HRESULT GetDuplicate([retval, out]ITextFont **ppFont);
309     HRESULT SetDuplicate([in]ITextFont *pFont);
310     HRESULT CanChange([out]long *pB);
311     HRESULT IsEqual([in]ITextFont *pFont, [retval, out]long *pB);
312     HRESULT Reset([in]long Value);
313     HRESULT GetStyle([retval, out]long *pValue);
314     HRESULT SetStyle([in]long Value);
315     HRESULT GetAllCaps([retval, out]long *pValue);
316     HRESULT SetAllCaps([in]long Value);
317     HRESULT GetAnimation([retval, out]long *pValue);
318     HRESULT SetAnimation([in]long Value);
319     HRESULT GetBackColor([retval, out]long *pValue);
320     HRESULT SetBackColor([in]long Value);
321     HRESULT GetBold([retval, out]long *pValue);
322     HRESULT SetBold([in]long Value);
323     HRESULT GetEmboss([retval, out]long *pValue);
324     HRESULT SetEmboss([in]long Value);
325     HRESULT GetForeColor([retval, out]long *pValue);
326     HRESULT SetForeColor([in]long Value);
327     HRESULT GetHidden([retval, out]long *pValue);
328     HRESULT SetHidden([in]long Value);
329     HRESULT GetEngrave([retval, out]long *pValue);
330     HRESULT SetEngrave([in]long Value);
331     HRESULT GetItalic([retval, out]long *pValue);
332     HRESULT SetItalic([in]long Value);
333     HRESULT GetKerning([retval, out]long *pValue);
334     HRESULT SetKerning([in]long Value);
335     HRESULT GetLanguageID([retval, out]long *pValue);
336     HRESULT SetLanguageID([in]long Value);
337     HRESULT GetName([retval, out]BSTR *pValue);
338     HRESULT SetName([in]BSTR Value);
339     HRESULT GetOutline([retval, out]long *pValue);
340     HRESULT SetOutline([in]long Value);
341     HRESULT GetPosition([retval, out]long *pValue);
342     HRESULT SetPosition([in]long Value);
343     HRESULT GetProtected([retval, out]long *pValue);
344     HRESULT SetProtected([in]long Value);
345     HRESULT GetShadow([retval, out]long *pValue);
346     HRESULT SetShadow([in]long Value);
347     HRESULT GetSize([retval, out]long *pValue);
348     HRESULT SetSize([in]long Value);
349     HRESULT GetSmallCaps([retval, out]long *pValue);
350     HRESULT SetSmallCaps([in]long Value);
351     HRESULT GetSpacing([retval, out]float *pValue);
352     HRESULT SetSpacing([in]float Value);
353     HRESULT GetStrikeThrough([retval, out]long *pValue);
354     HRESULT SetStrikeThrough([in]long Value);
355     HRESULT GetSubscript([retval, out]long *pValue);
356     HRESULT SetSubscript([in]long Value);
357     HRESULT GetSuperscript([retval, out]long *pValue);
358     HRESULT SetSuperscript([in]long Value);
359     HRESULT GetUnderline([retval, out]long *pValue);
360     HRESULT SetUnderline([in]long Value);
361     HRESULT GetWeight([retval, out]long *pValue);
362     HRESULT SetWeight([in]long Value);
363 }
364
365 [
366   object,
367   uuid(8cc497c4-a1df-11ce-8098-00aa0047be5d)
368 ]
369 interface ITextPara : IDispatch
370 {
371     HRESULT GetDuplicate([retval, out]ITextPara **ppPara);
372     HRESULT SetDuplicate([in]ITextPara *pPara);
373     HRESULT CanChange([out]long *pB);
374     HRESULT IsEqual([in]ITextPara *pPara, [retval, out]long *pB);
375     HRESULT Reset([in]long Value);
376     HRESULT GetStyle([retval, out]long *pValue);
377     HRESULT SetStyle([in]long Value);
378     HRESULT GetAlignment([retval, out]long *pValue);
379     HRESULT SetAlignment([in]long Value);
380     HRESULT GetHyphenation([retval, out]long *pValue);
381     HRESULT SetHyphenation([in]long Value);
382     HRESULT GetFirstLineIndent([retval, out]float *pValue);
383     HRESULT GetKeepTogether([retval, out]long *pValue);
384     HRESULT SetKeepTogether([in]long Value);
385     HRESULT GetKeepWithNext([retval, out]long *pValue);
386     HRESULT SetKeepWithNext([in]long Value);
387     HRESULT GetLeftIndent([retval, out]float *pValue);
388     HRESULT GetLineSpacing([retval, out]float *pValue);
389     HRESULT GetLineSpacingRule([retval, out]long *pValue);
390     HRESULT GetListAlignment([retval, out]long *pValue);
391     HRESULT SetListAlignment([in]long Value);
392     HRESULT GetListLevelIndex([retval, out]long *pValue);
393     HRESULT SetListLevelIndex([in]long Value);
394     HRESULT GetListStart([retval, out]long *pValue);
395     HRESULT SetListStart([in]long Value);
396     HRESULT GetListTab([retval, out]long *pValue);
397     HRESULT SetListTab([in]long Value);
398     HRESULT GetListType([retval, out]long *pValue);
399     HRESULT SetListType([in]long Value);
400     HRESULT GetNoLineNumber([retval, out]long *pValue);
401     HRESULT SetNoLineNumber([in]long Value);
402     HRESULT GetPageBreakBefore([retval, out]long *pValue);
403     HRESULT SetPageBreakBefore([in]long Value);
404     HRESULT GetRightIndent([retval, out]float *pValue);
405     HRESULT SetRightIndent([in]float Value);
406     HRESULT SetIndents([in]float StartIndent, [in]float LeftIndent, [in]float RightIndent);
407     HRESULT SetLineSpacing([in]long LineSpacingRule, [in]float LineSpacing);
408     HRESULT GetSpaceAfter([retval, out]float *pValue);
409     HRESULT SetSpaceAfter([in]float Value);
410     HRESULT GetSpaceBefore([retval, out]float *pValue);
411     HRESULT SetSpaceBefore([in]float Value);
412     HRESULT GetWindowControl([retval, out]float *pValue);
413     HRESULT SetWindowControl([in]float Value);
414     HRESULT GetTabCount([retval, out]long *pCount);
415     HRESULT AddTab([in]float tbPos, [in]long tbAlign, [in]long tbLeader);
416     HRESULT ClearAllTabs();
417     HRESULT DeleteTab([in]float tbPos);
418     HRESULT GetTab([in]long iTab, [out]float *ptbPos, [out]long *ptbAlign, [out]long *ptbLeader);
419 }
420
421 [
422   object,
423   uuid(8cc497c5-a1df-11ce-8098-00aa0047be5d)
424 ]
425 interface ITextStoryRanges : IDispatch
426 {
427     HRESULT _NewEnum([retval, out]IUnknown **ppUnkEnum);
428     HRESULT Item([in]long Index, [retval, out]ITextRange **ppRange);
429     HRESULT GetCount([retval, out]long *pCount);
430 }