VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/textstor.idl@ 20817

Last change on this file since 20817 was 20612, checked in by vboxsync, 16 years ago

crOpenGL: update wine to 1.1.23

File size: 8.7 KB
Line 
1/*
2 * Copyright 2009 Aric Stewart, CodeWeavers
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/*
20 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23cpp_quote("#define TS_E_READONLY MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0209)")
24cpp_quote("#define TS_E_NOLOCK MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201)")
25
26
27 * a choice of LGPL license versions is made available with the language indicating
28 * that LGPLv2 or any later version may be used, or where a choice of which version
29 * of the LGPL is applied is otherwise unspecified.
30 */
31
32#ifndef DO_NO_IMPORTS
33import "oaidl.idl";
34#endif
35
36const ULONG TS_DEFAULT_SELECTION = ~0u;
37
38const DWORD TS_SD_READONLY = 0x001;
39const DWORD TS_SD_LOADING = 0x002;
40
41const DWORD TS_SS_DISJOINTSEL = 0x001;
42const DWORD TS_SS_REGIONS = 0x002;
43const DWORD TS_SS_TRANSITORY = 0x004;
44const DWORD TS_SS_NOHIDDENTEXT = 0x008;
45
46const DWORD TS_AS_TEXT_CHANGE = 0x01;
47const DWORD TS_AS_SEL_CHANGE = 0x02;
48const DWORD TS_AS_LAYOUT_CHANGE = 0x04;
49const WCHAR TS_CHAR_EMBEDDED = 0xfffc;
50const WCHAR TS_CHAR_REGION = 0x0000;
51const WCHAR TS_CHAR_REPLACEMENT = 0xfffd;
52
53const DWORD TS_AS_ATTR_CHANGE = 0x08;
54const DWORD TS_AS_STATUS_CHANGE = 0x10;
55
56const DWORD TS_AS_ALL_SINKS = (TS_AS_TEXT_CHANGE | TS_AS_SEL_CHANGE | TS_AS_LAYOUT_CHANGE | TS_AS_ATTR_CHANGE | TS_AS_STATUS_CHANGE);
57
58const DWORD TS_LF_SYNC = 0x1;
59const DWORD TS_LF_READ = 0x2;
60const DWORD TS_LF_READWRITE = 0x6;
61
62typedef [uuid(05fcf85b-5e9c-4c3e-ab71-29471d4f38e7)] enum { TS_AE_NONE, TS_AE_START, TS_AE_END } TsActiveSelEnd;
63typedef [uuid(033b0df0-f193-4170-b47b-141afc247878)] enum { TS_RT_PLAIN, TS_RT_HIDDEN, TS_RT_OPAQUE } TsRunType;
64typedef [uuid(ef3457d9-8446-49a7-a9e6-b50d9d5f3fd9)] GUID TS_ATTRID;
65
66typedef [uuid(fec4f516-c503-45b1-a5fd-7a3d8ab07049)] struct TS_STATUS
67{
68 DWORD dwDynamicFlags;
69 DWORD dwStaticFlags;
70} TS_STATUS;
71
72typedef [uuid(f3181bd6-bcf0-41d3-a81c-474b17ec38fb)] struct TS_TEXTCHANGE
73{
74 LONG acpStart;
75 LONG acpOldEnd;
76 LONG acpNewEnd;
77} TS_TEXTCHANGE;
78
79typedef [uuid(7ecc3ffa-8f73-4d91-98ed-76f8ac5b1600)] struct TS_SELECTIONSTYLE
80{
81 TsActiveSelEnd ase;
82 BOOL fInterimChar;
83} TS_SELECTIONSTYLE;
84
85typedef [uuid(c4b9c33b-8a0d-4426-bebe-d444a4701fe9)] struct TS_SELECTION_ACP
86{
87 LONG acpStart;
88 LONG acpEnd;
89 TS_SELECTIONSTYLE style;
90} TS_SELECTION_ACP;
91
92typedef [uuid(a6231949-37c5-4b74-a24e-2a26c327201d)] struct TS_RUNINFO
93{
94 ULONG uCount;
95 TsRunType type;
96} TS_RUNINFO;
97
98typedef [uuid(2cc2b33f-1174-4507-b8d9-5bc0eb37c197)] struct TS_ATTRVAL
99{
100 TS_ATTRID idAttr;
101 DWORD dwOverlapId;
102 VARIANT varValue;
103} TS_ATTRVAL;
104
105typedef [uuid(7899d7c4-5f07-493c-a89a-fac8e777f476)] enum { TS_LC_CREATE, TS_LC_CHANGE, TS_LC_DESTROY } TsLayoutCode;
106typedef [uuid(1faf509e-44c1-458e-950a-38a96705a62b)] DWORD TsViewCookie;
107
108[
109 object,
110 uuid(22d44c94-a419-4542-a272-ae26093ececf),
111 pointer_default(unique)
112]
113interface ITextStoreACPSink : IUnknown
114{
115 HRESULT OnTextChange(
116 [in] DWORD dwFlags,
117 [in] const TS_TEXTCHANGE *pChange);
118
119 HRESULT OnSelectionChange();
120
121 HRESULT OnLayoutChange(
122 [in] TsLayoutCode lcode,
123 [in] TsViewCookie vcView);
124
125 HRESULT OnStatusChange(
126 [in] DWORD dwFlags);
127
128 HRESULT OnAttrsChange(
129 [in] LONG acpStart,
130 [in] LONG acpEnd,
131 [in] ULONG cAttrs,
132 [in, size_is(cAttrs)] const TS_ATTRID *paAttrs);
133
134 HRESULT OnLockGranted(
135 [in] DWORD dwLockFlags);
136
137 HRESULT OnStartEditTransaction();
138
139 HRESULT OnEndEditTransaction();
140};
141
142[
143 object,
144 uuid(28888fe3-c2a0-483a-a3ea-8cb1ce51ff3d),
145 pointer_default(unique)
146]
147interface ITextStoreACP : IUnknown
148{
149 HRESULT AdviseSink(
150 [in] REFIID riid,
151 [in, iid_is(riid)] IUnknown *punk,
152 [in] DWORD dwMask);
153
154 HRESULT UnadviseSink(
155 [in] IUnknown *punk);
156
157 HRESULT RequestLock(
158 [in] DWORD dwLockFlags,
159 [out] HRESULT *phrSession);
160
161 HRESULT GetStatus(
162 [out] TS_STATUS *pdcs);
163
164 HRESULT QueryInsert(
165 [in] LONG acpTestStart,
166 [in] LONG acpTestEnd,
167 [in] ULONG cch,
168 [out] LONG *pacpResultStart,
169 [out] LONG *pacpResultEnd);
170
171 HRESULT GetSelection(
172 [in] ULONG ulIndex,
173 [in] ULONG ulCount,
174 [out, size_is(ulCount), length_is(*pcFetched)] TS_SELECTION_ACP *pSelection,
175 [out] ULONG *pcFetched);
176
177 HRESULT SetSelection(
178 [in] ULONG ulCount,
179 [in, size_is(ulCount)] const TS_SELECTION_ACP *pSelection);
180
181 HRESULT GetText(
182 [in] LONG acpStart,
183 [in] LONG acpEnd,
184 [out, size_is(cchPlainReq), length_is(*pcchPlainRet)] WCHAR *pchPlain,
185 [in] ULONG cchPlainReq,
186 [out] ULONG *pcchPlainRet,
187 [out, size_is(cRunInfoReq), length_is(*pcRunInfoRet)] TS_RUNINFO *prgRunInfo,
188 [in] ULONG cRunInfoReq,
189 [out] ULONG *pcRunInfoRet,
190 [out] LONG *pacpNext);
191
192 HRESULT SetText(
193 [in] DWORD dwFlags,
194 [in] LONG acpStart,
195 [in] LONG acpEnd,
196 [in, size_is(cch)] const WCHAR *pchText,
197 [in] ULONG cch,
198 [out] TS_TEXTCHANGE *pChange);
199
200 HRESULT GetFormattedText(
201 [in] LONG acpStart,
202 [in] LONG acpEnd,
203 [out] IDataObject **ppDataObject);
204
205 HRESULT GetEmbedded(
206 [in] LONG acpPos,
207 [in] REFGUID rguidService,
208 [in] REFIID riid,
209 [out, iid_is(riid)] IUnknown **ppunk);
210
211 HRESULT QueryInsertEmbedded(
212 [in] const GUID *pguidService,
213 [in] const FORMATETC *pFormatEtc,
214 [out] BOOL *pfInsertable);
215
216 HRESULT InsertEmbedded(
217 [in] DWORD dwFlags,
218 [in] LONG acpStart,
219 [in] LONG acpEnd,
220 [in] IDataObject *pDataObject,
221 [out] TS_TEXTCHANGE *pChange);
222
223
224 HRESULT InsertTextAtSelection(
225 [in] DWORD dwFlags,
226 [in, size_is(cch)] const WCHAR *pchText,
227 [in] ULONG cch,
228 [out] LONG *pacpStart,
229 [out] LONG *pacpEnd,
230 [out] TS_TEXTCHANGE *pChange);
231
232 HRESULT InsertEmbeddedAtSelection(
233 [in] DWORD dwFlags,
234 [in] IDataObject *pDataObject,
235 [out] LONG *pacpStart,
236 [out] LONG *pacpEnd,
237 [out] TS_TEXTCHANGE *pChange);
238
239 HRESULT RequestSupportedAttrs(
240 [in] DWORD dwFlags,
241 [in] ULONG cFilterAttrs,
242 [in, size_is(cFilterAttrs), unique] const TS_ATTRID *paFilterAttrs);
243
244 HRESULT RequestAttrsAtPosition(
245 [in] LONG acpPos,
246 [in] ULONG cFilterAttrs,
247 [in, size_is(cFilterAttrs), unique] const TS_ATTRID *paFilterAttrs,
248 [in] DWORD dwFlags);
249
250 HRESULT RequestAttrsTransitioningAtPosition(
251 [in] LONG acpPos,
252 [in] ULONG cFilterAttrs,
253 [in, size_is(cFilterAttrs), unique] const TS_ATTRID *paFilterAttrs,
254 [in] DWORD dwFlags);
255
256 HRESULT FindNextAttrTransition(
257 [in] LONG acpStart,
258 [in] LONG acpHalt,
259 [in] ULONG cFilterAttrs,
260 [in, size_is(cFilterAttrs), unique] const TS_ATTRID *paFilterAttrs,
261 [in] DWORD dwFlags,
262 [out] LONG *pacpNext,
263 [out] BOOL *pfFound,
264 [out] LONG *plFoundOffset);
265
266 HRESULT RetrieveRequestedAttrs(
267 [in] ULONG ulCount,
268 [out, size_is(ulCount), length_is(*pcFetched)] TS_ATTRVAL *paAttrVals,
269 [out] ULONG *pcFetched);
270
271 HRESULT GetEndACP(
272 [out] LONG *pacp);
273
274 HRESULT GetActiveView(
275 [out] TsViewCookie *pvcView);
276
277 HRESULT GetACPFromPoint(
278 [in] TsViewCookie vcView,
279 [in] const POINT *ptScreen,
280 [in] DWORD dwFlags,
281 [out] LONG *pacp);
282
283 HRESULT GetTextExt(
284 [in] TsViewCookie vcView,
285 [in] LONG acpStart,
286 [in] LONG acpEnd,
287 [out] RECT *prc,
288 [out] BOOL *pfClipped);
289
290 HRESULT GetScreenExt(
291 [in] TsViewCookie vcView,
292 [out] RECT *prc);
293
294 HRESULT GetWnd(
295 [in] TsViewCookie vcView,
296 [out] HWND *phwnd);
297};
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette