xref: /reactos/sdk/include/psdk/tom.idl (revision f5580f4c)
1c2c66affSColin Finck/*
2c2c66affSColin Finck * Copyright 2006 Juan Lang
3c2c66affSColin Finck *
4c2c66affSColin Finck * This library is free software; you can redistribute it and/or
5c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public
6c2c66affSColin Finck * License as published by the Free Software Foundation; either
7c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version.
8c2c66affSColin Finck *
9c2c66affSColin Finck * This library is distributed in the hope that it will be useful,
10c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of
11c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12c2c66affSColin Finck * Lesser General Public License for more details.
13c2c66affSColin Finck *
14c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public
15c2c66affSColin Finck * License along with this library; if not, write to the Free Software
16c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17c2c66affSColin Finck */
18c2c66affSColin Finck
19c2c66affSColin Finckimport "oaidl.idl";
20c2c66affSColin Finckimport "ocidl.idl";
21c2c66affSColin Finck
22c2c66affSColin Finckcpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
23c2c66affSColin Finckcpp_quote("#undef FindText")
24c2c66affSColin Finckcpp_quote("#endif")
25c2c66affSColin Finck
26c2c66affSColin Fincktypedef enum tagTomConstants
27c2c66affSColin Finck{
28c2c66affSColin Finck    tomFalse       = 0,
29c2c66affSColin Finck    tomTrue        = -1,
30c2c66affSColin Finck    tomUndefined   = -9999999,
31c2c66affSColin Finck    tomToggle      = -9999998,
32c2c66affSColin Finck    tomAutoColor   = -9999997,
33c2c66affSColin Finck    tomDefault     = -9999996,
34c2c66affSColin Finck    tomSuspend     = -9999995,
35c2c66affSColin Finck    tomResume      = -9999994,
36c2c66affSColin Finck
37c2c66affSColin Finck    /* ITextFont::Reset() modes */
38c2c66affSColin Finck    tomApplyNow         = 0,
39c2c66affSColin Finck    tomApplyLater       = 1,
40c2c66affSColin Finck    tomTrackParms       = 2,
41c2c66affSColin Finck    tomCacheParms       = 3,
42c2c66affSColin Finck    tomApplyTmp         = 4,
43c2c66affSColin Finck    tomDisableSmartFont = 8,
44c2c66affSColin Finck    tomEnableSmartFont  = 9,
45c2c66affSColin Finck    tomUsePoints        = 10,
46c2c66affSColin Finck    tomUseTwips         = 11,
47c2c66affSColin Finck
48c2c66affSColin Finck    tomBackward    = 0xc0000001,
49c2c66affSColin Finck    tomForward     = 0x3fffffff,
50c2c66affSColin Finck    tomMove        = 0,
51c2c66affSColin Finck    tomExtend      = 1,
52c2c66affSColin Finck    tomNoSelection          = 0,
53c2c66affSColin Finck    tomSelectionIP          = 1,
54c2c66affSColin Finck    tomSelectionNormal      = 2,
55c2c66affSColin Finck    tomSelectionFrame       = 3,
56c2c66affSColin Finck    tomSelectionColumn      = 4,
57c2c66affSColin Finck    tomSelectionRow         = 5,
58c2c66affSColin Finck    tomSelectionBlock       = 6,
59c2c66affSColin Finck    tomSelectionInlineShape = 7,
60c2c66affSColin Finck    tomSelectionShape       = 8,
61c2c66affSColin Finck    tomSelStartActive = 1,
62c2c66affSColin Finck    tomSelAtEOL       = 2,
63c2c66affSColin Finck    tomSelOvertype    = 4,
64c2c66affSColin Finck    tomSelActive      = 8,
65c2c66affSColin Finck    tomSelReplace     = 16,
66c2c66affSColin Finck    tomEnd   = 0,
67c2c66affSColin Finck    tomStart = 32,
68c2c66affSColin Finck    tomCollapseEnd   = 0,
69c2c66affSColin Finck    tomCollapseStart = 1,
70c2c66affSColin Finck    tomClientCoord = 256,
71c2c66affSColin Finck    tomNone       = 0,
72c2c66affSColin Finck    tomSingle     = 1,
73c2c66affSColin Finck    tomWords      = 2,
74c2c66affSColin Finck    tomDouble     = 3,
75c2c66affSColin Finck    tomDotted     = 4,
76c2c66affSColin Finck    tomDash       = 5,
77c2c66affSColin Finck    tomDashDot    = 6,
78c2c66affSColin Finck    tomDashDotDot = 7,
79c2c66affSColin Finck    tomWave       = 8,
80c2c66affSColin Finck    tomThick      = 9,
81c2c66affSColin Finck    tomHair       = 10,
82c2c66affSColin Finck    tomLineSpaceSingle   = 0,
83c2c66affSColin Finck    tomLineSpace1pt5     = 1,
84c2c66affSColin Finck    tomLineSpaceDouble   = 2,
85c2c66affSColin Finck    tomLineSpaceAtLeast  = 3,
86c2c66affSColin Finck    tomLineSpaceExactly  = 4,
87c2c66affSColin Finck    tomLineSpaceMultiple = 5,
88c2c66affSColin Finck    tomAlignLeft        = 0,
89c2c66affSColin Finck    tomAlignCenter      = 1,
90c2c66affSColin Finck    tomAlignRight       = 2,
91c2c66affSColin Finck    tomAlignJustify     = 3,
92c2c66affSColin Finck    tomAlignDecimal     = 3,
93c2c66affSColin Finck    tomAlignBar         = 4,
94c2c66affSColin Finck    tomAlignInterWord   = 3,
95c2c66affSColin Finck    tomAlignInterLetter = 4,
96c2c66affSColin Finck    tomAlignScaled      = 5,
97c2c66affSColin Finck    tomAlignGlyphs      = 6,
98c2c66affSColin Finck    tomAlignSnapGrid    = 7,
99c2c66affSColin Finck    tomSpaces     = 0,
100c2c66affSColin Finck    tomDots       = 1,
101c2c66affSColin Finck    tomDashes     = 2,
102c2c66affSColin Finck    tomLines      = 3,
103c2c66affSColin Finck    tomThickLines = 4,
104c2c66affSColin Finck    tomEquals     = 5,
105c2c66affSColin Finck    tomTabBack = -3,
106c2c66affSColin Finck    tomTabNext = -2,
107c2c66affSColin Finck    tomTabHere = -1,
108c2c66affSColin Finck    tomListBullet           = 1,
109c2c66affSColin Finck    tomListNumberAsArabic   = 2,
110c2c66affSColin Finck    tomListNumberAsLCLetter = 3,
111c2c66affSColin Finck    tomListNumberAsUCLetter = 4,
112c2c66affSColin Finck    tomListNumberAsLCRoman  = 5,
113c2c66affSColin Finck    tomListNumberAsUCRoman  = 6,
114c2c66affSColin Finck    tomListNumberAsSequence = 7,
115c2c66affSColin Finck    tomListParentheses      = 0x10000,
116c2c66affSColin Finck    tomListPeriod           = 0x20000,
117c2c66affSColin Finck    tomListPlain            = 0x30000,
118c2c66affSColin Finck    tomCharacter  = 1,
119c2c66affSColin Finck    tomWord       = 2,
120c2c66affSColin Finck    tomSentence   = 3,
121c2c66affSColin Finck    tomParagraph  = 4,
122c2c66affSColin Finck    tomLine       = 5,
123c2c66affSColin Finck    tomStory      = 6,
124c2c66affSColin Finck    tomScreen     = 7,
125c2c66affSColin Finck    tomSection    = 8,
126c2c66affSColin Finck    tomColumn     = 9,
127c2c66affSColin Finck    tomRow        = 10,
128c2c66affSColin Finck    tomWindow     = 11,
129c2c66affSColin Finck    tomCell       = 12,
130c2c66affSColin Finck    tomCharFormat = 13,
131c2c66affSColin Finck    tomParaFormat = 14,
132c2c66affSColin Finck    tomTable      = 15,
133c2c66affSColin Finck    tomObject     = 16,
134c2c66affSColin Finck    tomMatchWord    = 2,
135c2c66affSColin Finck    tomMatchCase    = 4,
136c2c66affSColin Finck    tomMatchPattern = 8,
137c2c66affSColin Finck
138c2c66affSColin Finck    /* ITextRange story type values */
139c2c66affSColin Finck    tomUnknownStory         = 0,
140c2c66affSColin Finck    tomMainTextStory        = 1,
141c2c66affSColin Finck    tomFootnotesStory       = 2,
142c2c66affSColin Finck    tomEndnotesStory        = 3,
143c2c66affSColin Finck    tomCommentsStory        = 4,
144c2c66affSColin Finck    tomTextFrameStory       = 5,
145c2c66affSColin Finck    tomEvenPagesHeaderStory = 6,
146c2c66affSColin Finck    tomPrimaryHeaderStory   = 7,
147c2c66affSColin Finck    tomEvenPagesFooterStory = 8,
148c2c66affSColin Finck    tomPrimaryFooterStory   = 9,
149c2c66affSColin Finck    tomFirstPageHeaderStory = 10,
150c2c66affSColin Finck    tomFirstPageFooterStory = 11,
151c2c66affSColin Finck
152c2c66affSColin Finck    /* ITextFont animation property */
153c2c66affSColin Finck    tomNoAnimation        = 0,
154c2c66affSColin Finck    tomLasVegasLights     = 1,
155c2c66affSColin Finck    tomBlinkingBackground = 2,
156c2c66affSColin Finck    tomSparkleText        = 3,
157c2c66affSColin Finck    tomMarchingBlackAnts  = 4,
158c2c66affSColin Finck    tomMarchingRedAnts    = 5,
159c2c66affSColin Finck    tomShimmer            = 6,
160c2c66affSColin Finck    tomWipeDown           = 7,
161c2c66affSColin Finck    tomWipeRight          = 8,
162c2c66affSColin Finck    tomAnimationMax       = 8,
163c2c66affSColin Finck
164c2c66affSColin Finck    tomLowerCase     = 0,
165c2c66affSColin Finck    tomUpperCase     = 1,
166c2c66affSColin Finck    tomTitleCase     = 2,
167c2c66affSColin Finck    tomSentenceCase  = 4,
168c2c66affSColin Finck    tomToggleCase    = 5,
169c2c66affSColin Finck    tomReadOnly         = 0x100,
170c2c66affSColin Finck    tomShareDenyRead    = 0x200,
171c2c66affSColin Finck    tomShareDenyWrite   = 0x400,
172c2c66affSColin Finck    tomPasteFile        = 0x1000,
173c2c66affSColin Finck    tomCreateNew        = 0x10,
174c2c66affSColin Finck    tomCreateAlways     = 0x20,
175c2c66affSColin Finck    tomOpenExisting     = 0x30,
176c2c66affSColin Finck    tomOpenAlways       = 0x40,
177c2c66affSColin Finck    tomTruncateExisting = 0x50,
178c2c66affSColin Finck    tomRTF              = 0x1,
179c2c66affSColin Finck    tomText             = 0x2,
180c2c66affSColin Finck    tomHTML             = 0x3,
181c2c66affSColin Finck    tomWordDocument     = 0x4,
182c2c66affSColin Finck    tomBold      = 0x80000001,
183c2c66affSColin Finck    tomItalic    = 0x80000002,
184c2c66affSColin Finck    tomUnderline = 0x80000004,
185c2c66affSColin Finck    tomStrikeout = 0x80000008,
186c2c66affSColin Finck    tomProtected = 0x80000010,
187c2c66affSColin Finck    tomLink      = 0x80000020,
188c2c66affSColin Finck    tomSmallCaps = 0x80000040,
189c2c66affSColin Finck    tomAllCaps   = 0x80000080,
190c2c66affSColin Finck    tomHidden    = 0x80000100,
191c2c66affSColin Finck    tomOutline   = 0x80000200,
192c2c66affSColin Finck    tomShadow    = 0x80000400,
193c2c66affSColin Finck    tomEmboss    = 0x80000800,
194c2c66affSColin Finck    tomImprint   = 0x80001000,
195c2c66affSColin Finck    tomDisabled  = 0x80002000,
196c2c66affSColin Finck    tomRevised   = 0x80004000,
197c2c66affSColin Finck    tomNormalCaret      = 0,
198c2c66affSColin Finck    tomKoreanBlockCaret = 0x1,
199c2c66affSColin Finck    tomIncludeInset = 0x1,
200c2c66affSColin Finck    tomIgnoreCurrentFont  = 0,
201c2c66affSColin Finck    tomMatchFontCharset   = 0x1,
202c2c66affSColin Finck    tomMatchFontSignature = 0x2,
203c2c66affSColin Finck    tomCharset = 0x80000000,
204c2c66affSColin Finck    tomRE10Mode = 0x1,
205c2c66affSColin Finck    tomNoIME   = 0x80000,
206c2c66affSColin Finck    tomSelfIME = 0x40000
207c2c66affSColin Finck} tomConstants;
208c2c66affSColin Finck
209c2c66affSColin Finckinterface ITextRange;
210c2c66affSColin Finckinterface ITextSelection;
211c2c66affSColin Finckinterface ITextStoryRanges;
212c2c66affSColin Finck
213c2c66affSColin Finck[
214c2c66affSColin Finck  object,
215c2c66affSColin Finck  uuid(8cc497c0-a1df-11ce-8098-00aa0047be5d)
216c2c66affSColin Finck]
217c2c66affSColin Finckinterface ITextDocument : IDispatch
218c2c66affSColin Finck{
219c2c66affSColin Finck    HRESULT GetName([retval, out]BSTR *pName);
220c2c66affSColin Finck    HRESULT GetSelection([retval, out]ITextSelection **ppSel);
221c2c66affSColin Finck    HRESULT GetStoryCount([retval, out]LONG *pCount);
222c2c66affSColin Finck    HRESULT GetStoryRanges([retval, out]ITextStoryRanges **ppStories);
223c2c66affSColin Finck    HRESULT GetSaved([retval, out]LONG *pValue);
224c2c66affSColin Finck    HRESULT SetSaved([in]LONG Value);
225c2c66affSColin Finck    HRESULT GetDefaultTabStop([retval, out]float *pValue);
226c2c66affSColin Finck    HRESULT SetDefaultTabStop([in]float Value);
227c2c66affSColin Finck    HRESULT New();
228c2c66affSColin Finck    HRESULT Open([in]VARIANT *pVar, [in]LONG Flags, [in]LONG CodePage);
229c2c66affSColin Finck    HRESULT Save([in]VARIANT *pVar, [in]LONG Flags, [in]LONG CodePage);
230c2c66affSColin Finck    HRESULT Freeze([retval, out]LONG *pCount);
231c2c66affSColin Finck    HRESULT Unfreeze([retval, out]LONG *pCount);
232c2c66affSColin Finck    HRESULT BeginEditCollection();
233c2c66affSColin Finck    HRESULT EndEditCollection();
234c2c66affSColin Finck    HRESULT Undo([in]LONG Count, [retval, out]LONG *prop);
235c2c66affSColin Finck    HRESULT Redo([in]LONG Count, [retval, out]LONG *prop);
236c2c66affSColin Finck    HRESULT Range([in]LONG cp1, [in]LONG cp2, [retval, out]ITextRange **ppRange);
237c2c66affSColin Finck    HRESULT RangeFromPoint([in]LONG x, [in]LONG y, [retval, out]ITextRange **ppRange);
238c2c66affSColin Finck}
239c2c66affSColin Finck
240*f5580f4cSAmine Khaldi[
241*f5580f4cSAmine Khaldi  object,
242*f5580f4cSAmine Khaldi  uuid(01c25500-4268-11d1-883a-3c8b00c10000)
243*f5580f4cSAmine Khaldi]
244*f5580f4cSAmine Khaldiinterface ITextDocument2Old : ITextDocument
245*f5580f4cSAmine Khaldi{
246*f5580f4cSAmine Khaldi    HRESULT AttachMsgFilter([in]IUnknown *filter);
247*f5580f4cSAmine Khaldi    HRESULT SetEffectColor([in]LONG index, [in]COLORREF cr);
248*f5580f4cSAmine Khaldi    HRESULT GetEffectColor([in]LONG index, [out]COLORREF *cr);
249*f5580f4cSAmine Khaldi    HRESULT GetCaretType([retval, out]LONG *type);
250*f5580f4cSAmine Khaldi    HRESULT SetCaretType([in]LONG type);
251*f5580f4cSAmine Khaldi    HRESULT GetImmContext([retval, out]LONG *context);
252*f5580f4cSAmine Khaldi    HRESULT ReleaseImmContext([in]LONG context);
253*f5580f4cSAmine Khaldi    HRESULT GetPreferredFont([in]LONG cp, [in]LONG codepage, [in]LONG option, [in]LONG current_codepage, [in]LONG current_fontsize,
254*f5580f4cSAmine Khaldi                             [out]BSTR *bstr, [out]LONG *pitch_family, [out]LONG *new_fontsize);
255*f5580f4cSAmine Khaldi    HRESULT GetNotificationMode([retval, out]LONG *mode);
256*f5580f4cSAmine Khaldi    HRESULT SetNotificationMode([in]LONG mode);
257*f5580f4cSAmine Khaldi    HRESULT GetClientRect([in]LONG type, [out]LONG *left, [out]LONG *top, [out]LONG *right, [out]LONG *bottom);
258*f5580f4cSAmine Khaldi    HRESULT GetSelectionEx([retval, out]ITextSelection **selection);
259*f5580f4cSAmine Khaldi    HRESULT GetWindow([out]LONG *hwnd);
260*f5580f4cSAmine Khaldi    HRESULT GetFEFlags([out]LONG *flags);
261*f5580f4cSAmine Khaldi    HRESULT UpdateWindow();
262*f5580f4cSAmine Khaldi    HRESULT CheckTextLimit([in]LONG cch, [out]LONG  *exceed);
263*f5580f4cSAmine Khaldi    HRESULT IMEInProgress([in]LONG mode);
264*f5580f4cSAmine Khaldi    HRESULT SysBeep();
265*f5580f4cSAmine Khaldi    HRESULT Update([in]LONG mode);
266*f5580f4cSAmine Khaldi    HRESULT Notify([in]LONG notify);
267*f5580f4cSAmine Khaldi}
268*f5580f4cSAmine Khaldi
269*f5580f4cSAmine Khaldiinterface ITextDisplays;
270*f5580f4cSAmine Khaldiinterface ITextFont2;
271*f5580f4cSAmine Khaldiinterface ITextPara2;
272*f5580f4cSAmine Khaldiinterface ITextRange2;
273*f5580f4cSAmine Khaldiinterface ITextSelection2;
274*f5580f4cSAmine Khaldiinterface ITextStory;
275*f5580f4cSAmine Khaldiinterface ITextStoryRanges2;
276*f5580f4cSAmine Khaldiinterface ITextStrings;
277*f5580f4cSAmine Khaldi
278*f5580f4cSAmine Khaldi[
279*f5580f4cSAmine Khaldi  object,
280*f5580f4cSAmine Khaldi  uuid(c241f5e0-7206-11d8-a2c7-00a0d1d6c6b3)
281*f5580f4cSAmine Khaldi]
282*f5580f4cSAmine Khaldiinterface ITextDocument2 : ITextDocument
283*f5580f4cSAmine Khaldi{
284*f5580f4cSAmine Khaldi    HRESULT GetCaretType([retval, out]LONG *value);
285*f5580f4cSAmine Khaldi    HRESULT SetCaretType([in]LONG value);
286*f5580f4cSAmine Khaldi    HRESULT GetDisplays([retval, out]ITextDisplays **displays);
287*f5580f4cSAmine Khaldi    HRESULT GetDocumentFont([retval, out]ITextFont2 **font);
288*f5580f4cSAmine Khaldi    HRESULT SetDocumentFont([in]ITextFont2 *font);
289*f5580f4cSAmine Khaldi    HRESULT GetDocumentPara([retval, out]ITextPara2 **para);
290*f5580f4cSAmine Khaldi    HRESULT SetDocumentPara([in]ITextPara2 *para);
291*f5580f4cSAmine Khaldi    HRESULT GetEastAsianFlags([retval, out]LONG *flags);
292*f5580f4cSAmine Khaldi    HRESULT GetGenerator([retval, out]BSTR *bstr);
293*f5580f4cSAmine Khaldi    HRESULT SetIMEInProgress([in]LONG value);
294*f5580f4cSAmine Khaldi    HRESULT GetNotificationMode([retval, out]LONG *mode);
295*f5580f4cSAmine Khaldi    HRESULT SetNotificationMode([in]LONG mode);
296*f5580f4cSAmine Khaldi    HRESULT GetSelection2([retval, out]ITextSelection2 **selection);
297*f5580f4cSAmine Khaldi    HRESULT GetStoryRanges2([retval, out]ITextStoryRanges2 **stories);
298*f5580f4cSAmine Khaldi    HRESULT GetTypographyOptions([retval, out]LONG *options);
299*f5580f4cSAmine Khaldi    HRESULT GetVersion([retval, out]LONG *value);
300*f5580f4cSAmine Khaldi    HRESULT GetWindow([retval, out]LONG *hwnd);
301*f5580f4cSAmine Khaldi    HRESULT AttachMsgFilter([in]IUnknown *filter);
302*f5580f4cSAmine Khaldi    HRESULT CheckTextLimit([in]LONG cch, [out]LONG  *exceed);
303*f5580f4cSAmine Khaldi    HRESULT GetCallManager([retval, out]IUnknown **manager);
304*f5580f4cSAmine Khaldi    HRESULT GetClientRect([in]LONG type, [out]LONG *left, [out]LONG *top, [out]LONG *right, [out]LONG *bottom);
305*f5580f4cSAmine Khaldi    HRESULT GetEffectColor([in]LONG index, [out]COLORREF *cr);
306*f5580f4cSAmine Khaldi    HRESULT GetImmContext([retval, out]LONG *context);
307*f5580f4cSAmine Khaldi    HRESULT GetPreferredFont([in]LONG cp, [in]LONG codepage, [in]LONG option, [in]LONG current_codepage, [in]LONG current_fontsize,
308*f5580f4cSAmine Khaldi                             [out]BSTR *bstr, [out]LONG *pitch_family, [out]LONG *new_fontsize);
309*f5580f4cSAmine Khaldi    HRESULT GetProperty([in]LONG type, [out]LONG *value);
310*f5580f4cSAmine Khaldi    HRESULT GetStrings([out]ITextStrings **strings);
311*f5580f4cSAmine Khaldi    HRESULT Notify([in]LONG notify);
312*f5580f4cSAmine Khaldi    HRESULT Range2([in]LONG cp_active, [in]LONG cp_anchor, [retval, out]ITextRange2 **range);
313*f5580f4cSAmine Khaldi    HRESULT RangeFromPoint2([in]LONG x, [in]LONG y, [in]LONG type, [retval, out]ITextRange2 **range);
314*f5580f4cSAmine Khaldi    HRESULT ReleaseCallManager([in]IUnknown *manager);
315*f5580f4cSAmine Khaldi    HRESULT ReleaseImmContext([in]LONG context);
316*f5580f4cSAmine Khaldi    HRESULT SetEffectColor([in]LONG index, [in]LONG value);
317*f5580f4cSAmine Khaldi    HRESULT SetProperty([in]LONG type, [in]LONG value);
318*f5580f4cSAmine Khaldi    HRESULT SetTypographyOptions([in]LONG options, [in]LONG mask);
319*f5580f4cSAmine Khaldi    HRESULT SysBeep();
320*f5580f4cSAmine Khaldi    HRESULT Update([in]LONG value);
321*f5580f4cSAmine Khaldi    HRESULT UpdateWindow();
322*f5580f4cSAmine Khaldi    HRESULT GetMathProperties([out]LONG *options);
323*f5580f4cSAmine Khaldi    HRESULT SetMathProperties([in]LONG options, [in]LONG mask);
324*f5580f4cSAmine Khaldi    HRESULT GetActiveStory([retval, out]ITextStory **story);
325*f5580f4cSAmine Khaldi    HRESULT SetActiveStory([in]ITextStory *story);
326*f5580f4cSAmine Khaldi    HRESULT GetMainStory([retval, out]ITextStory **story);
327*f5580f4cSAmine Khaldi    HRESULT GetNewStory([retval, out]ITextStory **story);
328*f5580f4cSAmine Khaldi    HRESULT GetStory([in]LONG index, [retval, out]ITextStory **story);
329*f5580f4cSAmine Khaldi}
330*f5580f4cSAmine Khaldi
331c2c66affSColin Finckinterface ITextFont;
332c2c66affSColin Finckinterface ITextPara;
333c2c66affSColin Finck
334c2c66affSColin Finck[
335c2c66affSColin Finck  object,
336c2c66affSColin Finck  uuid(8cc497c2-a1df-11ce-8098-00aa0047be5d)
337c2c66affSColin Finck]
338c2c66affSColin Finckinterface ITextRange : IDispatch
339c2c66affSColin Finck{
340c2c66affSColin Finck    HRESULT GetText([retval, out]BSTR *pbstr);
341c2c66affSColin Finck    HRESULT SetText([in]BSTR bstr);
342c2c66affSColin Finck    HRESULT GetChar([retval, out]LONG *pch);
343c2c66affSColin Finck    HRESULT SetChar([in]LONG ch);
344c2c66affSColin Finck    HRESULT GetDuplicate([retval, out]ITextRange **ppRange);
345c2c66affSColin Finck    HRESULT GetFormattedText([retval, out]ITextRange **ppRange);
346c2c66affSColin Finck    HRESULT SetFormattedText([in]ITextRange *pRange);
347c2c66affSColin Finck    HRESULT GetStart([retval, out]LONG *pcpFirst);
348c2c66affSColin Finck    HRESULT SetStart([in]LONG cpFirst);
349c2c66affSColin Finck    HRESULT GetEnd([retval, out]LONG *pcpLim);
350c2c66affSColin Finck    HRESULT SetEnd([in]LONG cpLim);
351c2c66affSColin Finck    HRESULT GetFont([retval, out]ITextFont **pFont);
352c2c66affSColin Finck    HRESULT SetFont([in]ITextFont *pFont);
353c2c66affSColin Finck    HRESULT GetPara([retval, out]ITextPara **ppPara);
354c2c66affSColin Finck    HRESULT SetPara([in]ITextPara *pPara);
355c2c66affSColin Finck    HRESULT GetStoryLength([retval, out]LONG *pcch);
356c2c66affSColin Finck    HRESULT GetStoryType([retval, out]LONG *pValue);
357c2c66affSColin Finck    HRESULT Collapse([in]LONG bStart);
358c2c66affSColin Finck    HRESULT Expand([in]LONG Unit, [retval, out]LONG *pDelta);
359c2c66affSColin Finck    HRESULT GetIndex([in]LONG Unit, [retval, out]LONG *pIndex);
360c2c66affSColin Finck    HRESULT SetIndex([in]LONG Unit, [in]LONG Index, [in]LONG Extend);
361c2c66affSColin Finck    HRESULT SetRange([in]LONG anchor, [in]LONG active);
362c2c66affSColin Finck    HRESULT InRange([in]ITextRange *pRange, [retval, out]LONG *pb);
363c2c66affSColin Finck    HRESULT InStory([in]ITextRange *pRange, [retval, out]LONG *pb);
364c2c66affSColin Finck    HRESULT IsEqual([in]ITextRange *pRange, [retval, out]LONG *pb);
365c2c66affSColin Finck    HRESULT Select();
366c2c66affSColin Finck    HRESULT StartOf([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
367c2c66affSColin Finck    HRESULT EndOf([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
368c2c66affSColin Finck    HRESULT Move([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
369c2c66affSColin Finck    HRESULT MoveStart([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
370c2c66affSColin Finck    HRESULT MoveEnd([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
371c2c66affSColin Finck    HRESULT MoveWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
372c2c66affSColin Finck    HRESULT MoveStartWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
373c2c66affSColin Finck    HRESULT MoveEndWhile([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
374c2c66affSColin Finck    HRESULT MoveUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
375c2c66affSColin Finck    HRESULT MoveStartUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
376c2c66affSColin Finck    HRESULT MoveEndUntil([in]VARIANT *Cset, [in]LONG Count, [retval, out]LONG *pDelta);
377c2c66affSColin Finck    HRESULT FindText([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
378c2c66affSColin Finck    HRESULT FindTextStart([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
379c2c66affSColin Finck    HRESULT FindTextEnd([in]BSTR bstr, [in]LONG cch, [in]LONG Flags, [retval, out]LONG *pLength);
380c2c66affSColin Finck    HRESULT Delete([in]LONG Unit, [in]LONG Count, [retval, out]LONG *pDelta);
381c2c66affSColin Finck    HRESULT Cut([out]VARIANT *pVar);
382c2c66affSColin Finck    HRESULT Copy([out]VARIANT *pVar);
383c2c66affSColin Finck    HRESULT Paste([in]VARIANT *pVar, [in]LONG Format);
384c2c66affSColin Finck    HRESULT CanPaste([in]VARIANT *pVar, [in]LONG Format, [retval, out]LONG *pb);
385c2c66affSColin Finck    HRESULT CanEdit([retval, out]LONG *pb);
386c2c66affSColin Finck    HRESULT ChangeCase([in]LONG Type);
387c2c66affSColin Finck    HRESULT GetPoint([in]LONG Type, [out]LONG *cx, [out]LONG *cy);
388c2c66affSColin Finck    HRESULT SetPoint([in]LONG x, [in]LONG y, [in]LONG Type, [in]LONG Extend);
389c2c66affSColin Finck    HRESULT ScrollIntoView([in]LONG Value);
390c2c66affSColin Finck    HRESULT GetEmbeddedObject([retval, out]IUnknown **ppv);
391c2c66affSColin Finck}
392c2c66affSColin Finck
393c2c66affSColin Finck[
394c2c66affSColin Finck  object,
395c2c66affSColin Finck  uuid(8cc497c1-a1df-11ce-8098-00aa0047be5d)
396c2c66affSColin Finck]
397c2c66affSColin Finckinterface ITextSelection : ITextRange
398c2c66affSColin Finck{
399c2c66affSColin Finck    HRESULT GetFlags([retval, out]LONG *pFlags);
400c2c66affSColin Finck    HRESULT SetFlags([in]LONG Flags);
401c2c66affSColin Finck    HRESULT GetType([retval, out]LONG *pType);
402c2c66affSColin Finck    HRESULT MoveLeft([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
403c2c66affSColin Finck    HRESULT MoveRight([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
404c2c66affSColin Finck    HRESULT MoveUp([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
405c2c66affSColin Finck    HRESULT MoveDown([in]LONG Unit, [in]LONG Count, [in]LONG Extend, [retval, out]LONG *pDelta);
406c2c66affSColin Finck    HRESULT HomeKey([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
407c2c66affSColin Finck    HRESULT EndKey([in]LONG Unit, [in]LONG Extend, [retval, out]LONG *pDelta);
408c2c66affSColin Finck    HRESULT TypeText([in]BSTR bstr);
409c2c66affSColin Finck}
410c2c66affSColin Finck
411c2c66affSColin Finck[
412c2c66affSColin Finck  object,
413c2c66affSColin Finck  uuid(8cc497c3-a1df-11ce-8098-00aa0047be5d)
414c2c66affSColin Finck]
415c2c66affSColin Finckinterface ITextFont : IDispatch
416c2c66affSColin Finck{
417c2c66affSColin Finck    HRESULT GetDuplicate([retval, out]ITextFont **ppFont);
418c2c66affSColin Finck    HRESULT SetDuplicate([in]ITextFont *pFont);
419c2c66affSColin Finck    HRESULT CanChange([out]LONG *pB);
420c2c66affSColin Finck    HRESULT IsEqual([in]ITextFont *pFont, [retval, out]LONG *pB);
421c2c66affSColin Finck    HRESULT Reset([in]LONG Value);
422c2c66affSColin Finck    HRESULT GetStyle([retval, out]LONG *pValue);
423c2c66affSColin Finck    HRESULT SetStyle([in]LONG Value);
424c2c66affSColin Finck    HRESULT GetAllCaps([retval, out]LONG *pValue);
425c2c66affSColin Finck    HRESULT SetAllCaps([in]LONG Value);
426c2c66affSColin Finck    HRESULT GetAnimation([retval, out]LONG *pValue);
427c2c66affSColin Finck    HRESULT SetAnimation([in]LONG Value);
428c2c66affSColin Finck    HRESULT GetBackColor([retval, out]LONG *pValue);
429c2c66affSColin Finck    HRESULT SetBackColor([in]LONG Value);
430c2c66affSColin Finck    HRESULT GetBold([retval, out]LONG *pValue);
431c2c66affSColin Finck    HRESULT SetBold([in]LONG Value);
432c2c66affSColin Finck    HRESULT GetEmboss([retval, out]LONG *pValue);
433c2c66affSColin Finck    HRESULT SetEmboss([in]LONG Value);
434c2c66affSColin Finck    HRESULT GetForeColor([retval, out]LONG *pValue);
435c2c66affSColin Finck    HRESULT SetForeColor([in]LONG Value);
436c2c66affSColin Finck    HRESULT GetHidden([retval, out]LONG *pValue);
437c2c66affSColin Finck    HRESULT SetHidden([in]LONG Value);
438c2c66affSColin Finck    HRESULT GetEngrave([retval, out]LONG *pValue);
439c2c66affSColin Finck    HRESULT SetEngrave([in]LONG Value);
440c2c66affSColin Finck    HRESULT GetItalic([retval, out]LONG *pValue);
441c2c66affSColin Finck    HRESULT SetItalic([in]LONG Value);
442c2c66affSColin Finck    HRESULT GetKerning([retval, out]float *pValue);
443c2c66affSColin Finck    HRESULT SetKerning([in]float Value);
444c2c66affSColin Finck    HRESULT GetLanguageID([retval, out]LONG *pValue);
445c2c66affSColin Finck    HRESULT SetLanguageID([in]LONG Value);
446c2c66affSColin Finck    HRESULT GetName([retval, out]BSTR *pValue);
447c2c66affSColin Finck    HRESULT SetName([in]BSTR Value);
448c2c66affSColin Finck    HRESULT GetOutline([retval, out]LONG *pValue);
449c2c66affSColin Finck    HRESULT SetOutline([in]LONG Value);
450c2c66affSColin Finck    HRESULT GetPosition([retval, out]float *pValue);
451c2c66affSColin Finck    HRESULT SetPosition([in]float Value);
452c2c66affSColin Finck    HRESULT GetProtected([retval, out]LONG *pValue);
453c2c66affSColin Finck    HRESULT SetProtected([in]LONG Value);
454c2c66affSColin Finck    HRESULT GetShadow([retval, out]LONG *pValue);
455c2c66affSColin Finck    HRESULT SetShadow([in]LONG Value);
456c2c66affSColin Finck    HRESULT GetSize([retval, out]float *pValue);
457c2c66affSColin Finck    HRESULT SetSize([in]float Value);
458c2c66affSColin Finck    HRESULT GetSmallCaps([retval, out]LONG *pValue);
459c2c66affSColin Finck    HRESULT SetSmallCaps([in]LONG Value);
460c2c66affSColin Finck    HRESULT GetSpacing([retval, out]float *pValue);
461c2c66affSColin Finck    HRESULT SetSpacing([in]float Value);
462c2c66affSColin Finck    HRESULT GetStrikeThrough([retval, out]LONG *pValue);
463c2c66affSColin Finck    HRESULT SetStrikeThrough([in]LONG Value);
464c2c66affSColin Finck    HRESULT GetSubscript([retval, out]LONG *pValue);
465c2c66affSColin Finck    HRESULT SetSubscript([in]LONG Value);
466c2c66affSColin Finck    HRESULT GetSuperscript([retval, out]LONG *pValue);
467c2c66affSColin Finck    HRESULT SetSuperscript([in]LONG Value);
468c2c66affSColin Finck    HRESULT GetUnderline([retval, out]LONG *pValue);
469c2c66affSColin Finck    HRESULT SetUnderline([in]LONG Value);
470c2c66affSColin Finck    HRESULT GetWeight([retval, out]LONG *pValue);
471c2c66affSColin Finck    HRESULT SetWeight([in]LONG Value);
472c2c66affSColin Finck}
473c2c66affSColin Finck
474c2c66affSColin Finck[
475c2c66affSColin Finck  object,
476c2c66affSColin Finck  uuid(8cc497c4-a1df-11ce-8098-00aa0047be5d)
477c2c66affSColin Finck]
478c2c66affSColin Finckinterface ITextPara : IDispatch
479c2c66affSColin Finck{
480c2c66affSColin Finck    HRESULT GetDuplicate([retval, out]ITextPara **ppPara);
481c2c66affSColin Finck    HRESULT SetDuplicate([in]ITextPara *pPara);
482c2c66affSColin Finck    HRESULT CanChange([out]LONG *pB);
483c2c66affSColin Finck    HRESULT IsEqual([in]ITextPara *pPara, [retval, out]LONG *pB);
484c2c66affSColin Finck    HRESULT Reset([in]LONG Value);
485c2c66affSColin Finck    HRESULT GetStyle([retval, out]LONG *pValue);
486c2c66affSColin Finck    HRESULT SetStyle([in]LONG Value);
487c2c66affSColin Finck    HRESULT GetAlignment([retval, out]LONG *pValue);
488c2c66affSColin Finck    HRESULT SetAlignment([in]LONG Value);
489c2c66affSColin Finck    HRESULT GetHyphenation([retval, out]LONG *pValue);
490c2c66affSColin Finck    HRESULT SetHyphenation([in]LONG Value);
491c2c66affSColin Finck    HRESULT GetFirstLineIndent([retval, out]float *pValue);
492c2c66affSColin Finck    HRESULT GetKeepTogether([retval, out]LONG *pValue);
493c2c66affSColin Finck    HRESULT SetKeepTogether([in]LONG Value);
494c2c66affSColin Finck    HRESULT GetKeepWithNext([retval, out]LONG *pValue);
495c2c66affSColin Finck    HRESULT SetKeepWithNext([in]LONG Value);
496c2c66affSColin Finck    HRESULT GetLeftIndent([retval, out]float *pValue);
497c2c66affSColin Finck    HRESULT GetLineSpacing([retval, out]float *pValue);
498c2c66affSColin Finck    HRESULT GetLineSpacingRule([retval, out]LONG *pValue);
499c2c66affSColin Finck    HRESULT GetListAlignment([retval, out]LONG *pValue);
500c2c66affSColin Finck    HRESULT SetListAlignment([in]LONG Value);
501c2c66affSColin Finck    HRESULT GetListLevelIndex([retval, out]LONG *pValue);
502c2c66affSColin Finck    HRESULT SetListLevelIndex([in]LONG Value);
503c2c66affSColin Finck    HRESULT GetListStart([retval, out]LONG *pValue);
504c2c66affSColin Finck    HRESULT SetListStart([in]LONG Value);
505c2c66affSColin Finck    HRESULT GetListTab([retval, out]float *pValue);
506c2c66affSColin Finck    HRESULT SetListTab([in]float Value);
507c2c66affSColin Finck    HRESULT GetListType([retval, out]LONG *pValue);
508c2c66affSColin Finck    HRESULT SetListType([in]LONG Value);
509c2c66affSColin Finck    HRESULT GetNoLineNumber([retval, out]LONG *pValue);
510c2c66affSColin Finck    HRESULT SetNoLineNumber([in]LONG Value);
511c2c66affSColin Finck    HRESULT GetPageBreakBefore([retval, out]LONG *pValue);
512c2c66affSColin Finck    HRESULT SetPageBreakBefore([in]LONG Value);
513c2c66affSColin Finck    HRESULT GetRightIndent([retval, out]float *pValue);
514c2c66affSColin Finck    HRESULT SetRightIndent([in]float Value);
515c2c66affSColin Finck    HRESULT SetIndents([in]float StartIndent, [in]float LeftIndent, [in]float RightIndent);
516c2c66affSColin Finck    HRESULT SetLineSpacing([in]LONG LineSpacingRule, [in]float LineSpacing);
517c2c66affSColin Finck    HRESULT GetSpaceAfter([retval, out]float *pValue);
518c2c66affSColin Finck    HRESULT SetSpaceAfter([in]float Value);
519c2c66affSColin Finck    HRESULT GetSpaceBefore([retval, out]float *pValue);
520c2c66affSColin Finck    HRESULT SetSpaceBefore([in]float Value);
521c2c66affSColin Finck    HRESULT GetWidowControl([retval, out]LONG *pValue);
522c2c66affSColin Finck    HRESULT SetWidowControl([in]LONG Value);
523c2c66affSColin Finck    HRESULT GetTabCount([retval, out]LONG *pCount);
524c2c66affSColin Finck    HRESULT AddTab([in]float tbPos, [in]LONG tbAlign, [in]LONG tbLeader);
525c2c66affSColin Finck    HRESULT ClearAllTabs();
526c2c66affSColin Finck    HRESULT DeleteTab([in]float tbPos);
527c2c66affSColin Finck    HRESULT GetTab([in]LONG iTab, [out]float *ptbPos, [out]LONG *ptbAlign, [out]LONG *ptbLeader);
528c2c66affSColin Finck}
529c2c66affSColin Finck
530c2c66affSColin Finck[
531c2c66affSColin Finck  object,
532c2c66affSColin Finck  uuid(8cc497c5-a1df-11ce-8098-00aa0047be5d)
533c2c66affSColin Finck]
534c2c66affSColin Finckinterface ITextStoryRanges : IDispatch
535c2c66affSColin Finck{
536c2c66affSColin Finck    HRESULT _NewEnum([retval, out]IUnknown **ppUnkEnum);
537c2c66affSColin Finck    HRESULT Item([in]LONG Index, [retval, out]ITextRange **ppRange);
538c2c66affSColin Finck    HRESULT GetCount([retval, out]LONG *pCount);
539c2c66affSColin Finck}
540