Bug 470455 - test_database_sync_embed_visits.js leaks, r=sdwilsh
[wine-gecko.git] / widget / src / windows / aimm.h
blobb5ffd78e58454e6436961ded976c5a9a377b8b1b
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
15 * The Original Code is mozilla.org code.
17 * The Initial Developer of the Original Code is
18 * Netscape Communications Corporation.
19 * Portions created by the Initial Developer are Copyright (C) 1998
20 * the Initial Developer. All Rights Reserved.
22 * Contributor(s):
24 * Alternatively, the contents of this file may be used under the terms of
25 * either the GNU General Public License Version 2 or later (the "GPL"), or
26 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 * in which case the provisions of the GPL or the LGPL are applicable instead
28 * of those above. If you wish to allow use of your version of this file only
29 * under the terms of either the GPL or the LGPL, and not to allow others to
30 * use your version of this file under the terms of the MPL, indicate your
31 * decision by deleting the provisions above and replace them with the notice
32 * and other provisions required by the GPL or the LGPL. If you do not delete
33 * the provisions above, a recipient may use your version of this file under
34 * the terms of any one of the MPL, the GPL or the LGPL.
36 * ***** END LICENSE BLOCK ***** */
38 /*
39 This file contains the interface definitation of the Active IMM.
40 Please do not change it since the interface have already been fixed.
43 #ifndef __AIMM_DEFINED__
44 #define __AIMM_DEFINED__
46 #include <unknwn.h>
47 #include <imm.h>
49 #if defined(__cplusplus) && !defined(CINTERFACE)
51 interface IEnumRegisterWordA;
52 interface IEnumRegisterWordW;
53 interface IEnumInputContext;
54 struct NS_IMEMENUITEMINFOA;
55 struct NS_IMEMENUITEMINFOW;
57 interface
58 IActiveIMMApp : public IUnknown
60 public:
61 virtual HRESULT STDMETHODCALLTYPE AssociateContext(
62 /* [in] */ HWND hWnd,
63 /* [in] */ HIMC hIME,
64 /* [out] */ HIMC __RPC_FAR *phPrev) = 0;
66 virtual HRESULT STDMETHODCALLTYPE ConfigureIMEA(
67 /* [in] */ HKL hKL,
68 /* [in] */ HWND hWnd,
69 /* [in] */ DWORD dwMode,
70 /* [in] */ REGISTERWORDA __RPC_FAR *pData) = 0;
72 virtual HRESULT STDMETHODCALLTYPE ConfigureIMEW(
73 /* [in] */ HKL hKL,
74 /* [in] */ HWND hWnd,
75 /* [in] */ DWORD dwMode,
76 /* [in] */ REGISTERWORDW __RPC_FAR *pData) = 0;
78 virtual HRESULT STDMETHODCALLTYPE CreateContext(
79 /* [out] */ HIMC __RPC_FAR *phIMC) = 0;
81 virtual HRESULT STDMETHODCALLTYPE DestroyContext(
82 /* [in] */ HIMC hIME) = 0;
84 virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordA(
85 /* [in] */ HKL hKL,
86 /* [in] */ LPSTR szReading,
87 /* [in] */ DWORD dwStyle,
88 /* [in] */ LPSTR szRegister,
89 /* [in] */ LPVOID pData,
90 /* [out] */ IEnumRegisterWordA __RPC_FAR *__RPC_FAR *pEnum) = 0;
92 virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordW(
93 /* [in] */ HKL hKL,
94 /* [in] */ LPWSTR szReading,
95 /* [in] */ DWORD dwStyle,
96 /* [in] */ LPWSTR szRegister,
97 /* [in] */ LPVOID pData,
98 /* [out] */ IEnumRegisterWordW __RPC_FAR *__RPC_FAR *pEnum) = 0;
100 virtual HRESULT STDMETHODCALLTYPE EscapeA(
101 /* [in] */ HKL hKL,
102 /* [in] */ HIMC hIMC,
103 /* [in] */ UINT uEscape,
104 /* [out][in] */ LPVOID pData,
105 /* [out] */ LRESULT __RPC_FAR *plResult) = 0;
107 virtual HRESULT STDMETHODCALLTYPE EscapeW(
108 /* [in] */ HKL hKL,
109 /* [in] */ HIMC hIMC,
110 /* [in] */ UINT uEscape,
111 /* [out][in] */ LPVOID pData,
112 /* [out] */ LRESULT __RPC_FAR *plResult) = 0;
114 virtual HRESULT STDMETHODCALLTYPE GetCandidateListA(
115 /* [in] */ HIMC hIMC,
116 /* [in] */ DWORD dwIndex,
117 /* [in] */ UINT uBufLen,
118 /* [out] */ CANDIDATELIST __RPC_FAR *pCandList,
119 /* [out] */ UINT __RPC_FAR *puCopied) = 0;
121 virtual HRESULT STDMETHODCALLTYPE GetCandidateListW(
122 /* [in] */ HIMC hIMC,
123 /* [in] */ DWORD dwIndex,
124 /* [in] */ UINT uBufLen,
125 /* [out] */ CANDIDATELIST __RPC_FAR *pCandList,
126 /* [out] */ UINT __RPC_FAR *puCopied) = 0;
128 virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountA(
129 /* [in] */ HIMC hIMC,
130 /* [out] */ DWORD __RPC_FAR *pdwListSize,
131 /* [out] */ DWORD __RPC_FAR *pdwBufLen) = 0;
133 virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountW(
134 /* [in] */ HIMC hIMC,
135 /* [out] */ DWORD __RPC_FAR *pdwListSize,
136 /* [out] */ DWORD __RPC_FAR *pdwBufLen) = 0;
138 virtual HRESULT STDMETHODCALLTYPE GetCandidateWindow(
139 /* [in] */ HIMC hIMC,
140 /* [in] */ DWORD dwIndex,
141 /* [out] */ CANDIDATEFORM __RPC_FAR *pCandidate) = 0;
143 virtual HRESULT STDMETHODCALLTYPE GetCompositionFontA(
144 /* [in] */ HIMC hIMC,
145 /* [out] */ LOGFONTA __RPC_FAR *plf) = 0;
147 virtual HRESULT STDMETHODCALLTYPE GetCompositionFontW(
148 /* [in] */ HIMC hIMC,
149 /* [out] */ LOGFONTW __RPC_FAR *plf) = 0;
151 virtual HRESULT STDMETHODCALLTYPE GetCompositionStringA(
152 /* [in] */ HIMC hIMC,
153 /* [in] */ DWORD dwIndex,
154 /* [in] */ DWORD dwBufLen,
155 /* [out] */ LONG __RPC_FAR *plCopied,
156 /* [out] */ LPVOID pBuf) = 0;
158 virtual HRESULT STDMETHODCALLTYPE GetCompositionStringW(
159 /* [in] */ HIMC hIMC,
160 /* [in] */ DWORD dwIndex,
161 /* [in] */ DWORD dwBufLen,
162 /* [out] */ LONG __RPC_FAR *plCopied,
163 /* [out] */ LPVOID pBuf) = 0;
165 virtual HRESULT STDMETHODCALLTYPE GetCompositionWindow(
166 /* [in] */ HIMC hIMC,
167 /* [out] */ COMPOSITIONFORM __RPC_FAR *pCompForm) = 0;
169 virtual HRESULT STDMETHODCALLTYPE GetContext(
170 /* [in] */ HWND hWnd,
171 /* [out] */ HIMC __RPC_FAR *phIMC) = 0;
173 virtual HRESULT STDMETHODCALLTYPE GetConversionListA(
174 /* [in] */ HKL hKL,
175 /* [in] */ HIMC hIMC,
176 /* [in] */ LPSTR pSrc,
177 /* [in] */ UINT uBufLen,
178 /* [in] */ UINT uFlag,
179 /* [out] */ CANDIDATELIST __RPC_FAR *pDst,
180 /* [out] */ UINT __RPC_FAR *puCopied) = 0;
182 virtual HRESULT STDMETHODCALLTYPE GetConversionListW(
183 /* [in] */ HKL hKL,
184 /* [in] */ HIMC hIMC,
185 /* [in] */ LPWSTR pSrc,
186 /* [in] */ UINT uBufLen,
187 /* [in] */ UINT uFlag,
188 /* [out] */ CANDIDATELIST __RPC_FAR *pDst,
189 /* [out] */ UINT __RPC_FAR *puCopied) = 0;
191 virtual HRESULT STDMETHODCALLTYPE GetConversionStatus(
192 /* [in] */ HIMC hIMC,
193 /* [out] */ DWORD __RPC_FAR *pfdwConversion,
194 /* [out] */ DWORD __RPC_FAR *pfdwSentence) = 0;
196 virtual HRESULT STDMETHODCALLTYPE GetDefaultIMEWnd(
197 /* [in] */ HWND hWnd,
198 /* [out] */ HWND __RPC_FAR *phDefWnd) = 0;
200 virtual HRESULT STDMETHODCALLTYPE GetDescriptionA(
201 /* [in] */ HKL hKL,
202 /* [in] */ UINT uBufLen,
203 /* [out] */ LPSTR szDescription,
204 /* [out] */ UINT __RPC_FAR *puCopied) = 0;
206 virtual HRESULT STDMETHODCALLTYPE GetDescriptionW(
207 /* [in] */ HKL hKL,
208 /* [in] */ UINT uBufLen,
209 /* [out] */ LPWSTR szDescription,
210 /* [out] */ UINT __RPC_FAR *puCopied) = 0;
212 virtual HRESULT STDMETHODCALLTYPE GetGuideLineA(
213 /* [in] */ HIMC hIMC,
214 /* [in] */ DWORD dwIndex,
215 /* [in] */ DWORD dwBufLen,
216 /* [out] */ LPSTR pBuf,
217 /* [out] */ DWORD __RPC_FAR *pdwResult) = 0;
219 virtual HRESULT STDMETHODCALLTYPE GetGuideLineW(
220 /* [in] */ HIMC hIMC,
221 /* [in] */ DWORD dwIndex,
222 /* [in] */ DWORD dwBufLen,
223 /* [out] */ LPWSTR pBuf,
224 /* [out] */ DWORD __RPC_FAR *pdwResult) = 0;
226 virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameA(
227 /* [in] */ HKL hKL,
228 /* [in] */ UINT uBufLen,
229 /* [out] */ LPSTR szFileName,
230 /* [out] */ UINT __RPC_FAR *puCopied) = 0;
232 virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameW(
233 /* [in] */ HKL hKL,
234 /* [in] */ UINT uBufLen,
235 /* [out] */ LPWSTR szFileName,
236 /* [out] */ UINT __RPC_FAR *puCopied) = 0;
238 virtual HRESULT STDMETHODCALLTYPE GetOpenStatus(
239 /* [in] */ HIMC hIMC) = 0;
241 virtual HRESULT STDMETHODCALLTYPE GetProperty(
242 /* [in] */ HKL hKL,
243 /* [in] */ DWORD fdwIndex,
244 /* [out] */ DWORD __RPC_FAR *pdwProperty) = 0;
246 virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleA(
247 /* [in] */ HKL hKL,
248 /* [in] */ UINT nItem,
249 /* [out] */ STYLEBUFA __RPC_FAR *pStyleBuf,
250 /* [out] */ UINT __RPC_FAR *puCopied) = 0;
252 virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleW(
253 /* [in] */ HKL hKL,
254 /* [in] */ UINT nItem,
255 /* [out] */ STYLEBUFW __RPC_FAR *pStyleBuf,
256 /* [out] */ UINT __RPC_FAR *puCopied) = 0;
258 virtual HRESULT STDMETHODCALLTYPE GetStatusWindowPos(
259 /* [in] */ HIMC hIMC,
260 /* [out] */ POINT __RPC_FAR *pptPos) = 0;
262 virtual HRESULT STDMETHODCALLTYPE GetVirtualKey(
263 /* [in] */ HWND hWnd,
264 /* [out] */ UINT __RPC_FAR *puVirtualKey) = 0;
266 virtual HRESULT STDMETHODCALLTYPE InstallIMEA(
267 /* [in] */ LPSTR szIMEFileName,
268 /* [in] */ LPSTR szLayoutText,
269 /* [out] */ HKL __RPC_FAR *phKL) = 0;
271 virtual HRESULT STDMETHODCALLTYPE InstallIMEW(
272 /* [in] */ LPWSTR szIMEFileName,
273 /* [in] */ LPWSTR szLayoutText,
274 /* [out] */ HKL __RPC_FAR *phKL) = 0;
276 virtual HRESULT STDMETHODCALLTYPE IsIME(
277 /* [in] */ HKL hKL) = 0;
279 virtual HRESULT STDMETHODCALLTYPE IsUIMessageA(
280 /* [in] */ HWND hWndIME,
281 /* [in] */ UINT msg,
282 /* [in] */ WPARAM wParam,
283 /* [in] */ LPARAM lParam) = 0;
285 virtual HRESULT STDMETHODCALLTYPE IsUIMessageW(
286 /* [in] */ HWND hWndIME,
287 /* [in] */ UINT msg,
288 /* [in] */ WPARAM wParam,
289 /* [in] */ LPARAM lParam) = 0;
291 virtual HRESULT STDMETHODCALLTYPE NotifyIME(
292 /* [in] */ HIMC hIMC,
293 /* [in] */ DWORD dwAction,
294 /* [in] */ DWORD dwIndex,
295 /* [in] */ DWORD dwValue) = 0;
297 virtual HRESULT STDMETHODCALLTYPE RegisterWordA(
298 /* [in] */ HKL hKL,
299 /* [in] */ LPSTR szReading,
300 /* [in] */ DWORD dwStyle,
301 /* [in] */ LPSTR szRegister) = 0;
303 virtual HRESULT STDMETHODCALLTYPE RegisterWordW(
304 /* [in] */ HKL hKL,
305 /* [in] */ LPWSTR szReading,
306 /* [in] */ DWORD dwStyle,
307 /* [in] */ LPWSTR szRegister) = 0;
309 virtual HRESULT STDMETHODCALLTYPE ReleaseContext(
310 /* [in] */ HWND hWnd,
311 /* [in] */ HIMC hIMC) = 0;
313 virtual HRESULT STDMETHODCALLTYPE SetCandidateWindow(
314 /* [in] */ HIMC hIMC,
315 /* [in] */ CANDIDATEFORM __RPC_FAR *pCandidate) = 0;
317 virtual HRESULT STDMETHODCALLTYPE SetCompositionFontA(
318 /* [in] */ HIMC hIMC,
319 /* [in] */ LOGFONTA __RPC_FAR *plf) = 0;
321 virtual HRESULT STDMETHODCALLTYPE SetCompositionFontW(
322 /* [in] */ HIMC hIMC,
323 /* [in] */ LOGFONTW __RPC_FAR *plf) = 0;
325 virtual HRESULT STDMETHODCALLTYPE SetCompositionStringA(
326 /* [in] */ HIMC hIMC,
327 /* [in] */ DWORD dwIndex,
328 /* [in] */ LPVOID pComp,
329 /* [in] */ DWORD dwCompLen,
330 /* [in] */ LPVOID pRead,
331 /* [in] */ DWORD dwReadLen) = 0;
333 virtual HRESULT STDMETHODCALLTYPE SetCompositionStringW(
334 /* [in] */ HIMC hIMC,
335 /* [in] */ DWORD dwIndex,
336 /* [in] */ LPVOID pComp,
337 /* [in] */ DWORD dwCompLen,
338 /* [in] */ LPVOID pRead,
339 /* [in] */ DWORD dwReadLen) = 0;
341 virtual HRESULT STDMETHODCALLTYPE SetCompositionWindow(
342 /* [in] */ HIMC hIMC,
343 /* [in] */ COMPOSITIONFORM __RPC_FAR *pCompForm) = 0;
345 virtual HRESULT STDMETHODCALLTYPE SetConversionStatus(
346 /* [in] */ HIMC hIMC,
347 /* [in] */ DWORD fdwConversion,
348 /* [in] */ DWORD fdwSentence) = 0;
350 virtual HRESULT STDMETHODCALLTYPE SetOpenStatus(
351 /* [in] */ HIMC hIMC,
352 /* [in] */ BOOL fOpen) = 0;
354 virtual HRESULT STDMETHODCALLTYPE SetStatusWindowPos(
355 /* [in] */ HIMC hIMC,
356 /* [in] */ POINT __RPC_FAR *pptPos) = 0;
358 virtual HRESULT STDMETHODCALLTYPE SimulateHotKey(
359 /* [in] */ HWND hWnd,
360 /* [in] */ DWORD dwHotKeyID) = 0;
362 virtual HRESULT STDMETHODCALLTYPE UnregisterWordA(
363 /* [in] */ HKL hKL,
364 /* [in] */ LPSTR szReading,
365 /* [in] */ DWORD dwStyle,
366 /* [in] */ LPSTR szUnregister) = 0;
368 virtual HRESULT STDMETHODCALLTYPE UnregisterWordW(
369 /* [in] */ HKL hKL,
370 /* [in] */ LPWSTR szReading,
371 /* [in] */ DWORD dwStyle,
372 /* [in] */ LPWSTR szUnregister) = 0;
374 virtual HRESULT STDMETHODCALLTYPE Activate(
375 /* [in] */ BOOL fRestoreLayout) = 0;
377 virtual HRESULT STDMETHODCALLTYPE Deactivate( void) = 0;
379 virtual HRESULT STDMETHODCALLTYPE OnDefWindowProc(
380 /* [in] */ HWND hWnd,
381 /* [in] */ UINT Msg,
382 /* [in] */ WPARAM wParam,
383 /* [in] */ LPARAM lParam,
384 /* [out] */ LRESULT __RPC_FAR *plResult) = 0;
386 virtual HRESULT STDMETHODCALLTYPE FilterClientWindows(
387 /* [in] */ ATOM __RPC_FAR *aaClassList,
388 /* [in] */ UINT uSize) = 0;
390 virtual HRESULT STDMETHODCALLTYPE GetCodePageA(
391 /* [in] */ HKL hKL,
392 /* [out] */ UINT __RPC_FAR *uCodePage) = 0;
394 virtual HRESULT STDMETHODCALLTYPE GetLangId(
395 /* [in] */ HKL hKL,
396 /* [out] */ LANGID __RPC_FAR *plid) = 0;
398 virtual HRESULT STDMETHODCALLTYPE AssociateContextEx(
399 /* [in] */ HWND hWnd,
400 /* [in] */ HIMC hIMC,
401 /* [in] */ DWORD dwFlags) = 0;
403 virtual HRESULT STDMETHODCALLTYPE DisableIME(
404 /* [in] */ DWORD idThread) = 0;
406 virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsA(
407 /* [in] */ HIMC hIMC,
408 /* [in] */ DWORD dwFlags,
409 /* [in] */ DWORD dwType,
410 /* [in] */ NS_IMEMENUITEMINFOA __RPC_FAR *pImeParentMenu,
411 /* [out] */ NS_IMEMENUITEMINFOA __RPC_FAR *pImeMenu,
412 /* [in] */ DWORD dwSize,
413 /* [out] */ DWORD __RPC_FAR *pdwResult) = 0;
415 virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsW(
416 /* [in] */ HIMC hIMC,
417 /* [in] */ DWORD dwFlags,
418 /* [in] */ DWORD dwType,
419 /* [in] */ NS_IMEMENUITEMINFOW __RPC_FAR *pImeParentMenu,
420 /* [out] */ NS_IMEMENUITEMINFOW __RPC_FAR *pImeMenu,
421 /* [in] */ DWORD dwSize,
422 /* [out] */ DWORD __RPC_FAR *pdwResult) = 0;
424 virtual HRESULT STDMETHODCALLTYPE EnumInputContext(
425 /* [in] */ DWORD idThread,
426 /* [out] */ IEnumInputContext __RPC_FAR *__RPC_FAR *ppEnum) = 0;
430 interface
431 IActiveIMMMessagePumpOwner : public IUnknown
433 public:
434 virtual HRESULT STDMETHODCALLTYPE Start( void) = 0;
436 virtual HRESULT STDMETHODCALLTYPE End( void) = 0;
438 virtual HRESULT STDMETHODCALLTYPE OnTranslateMessage(
439 /* [in] */ const MSG __RPC_FAR *pMsg) = 0;
441 virtual HRESULT STDMETHODCALLTYPE Pause(
442 /* [out] */ DWORD __RPC_FAR *pdwCookie) = 0;
444 virtual HRESULT STDMETHODCALLTYPE Resume(
445 /* [in] */ DWORD dwCookie) = 0;
450 #endif /* C style interface */
452 #endif /* __AIMM_DEFINED__ */