2 * Copyright 2007 Jacek Caban for CodeWeavers
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
21 cpp_quote("#include <imm.h>")
37 #define LF_FACESIZE 32
52 BYTE lfPitchAndFamily;
53 CHAR lfFaceName[LF_FACESIZE];
69 BYTE lfPitchAndFamily;
70 WCHAR lfFaceName[LF_FACESIZE];
99 #define STYLE_DESCRIPTION_SIZE 32
103 CHAR szDescription[STYLE_DESCRIPTION_SIZE];
108 WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
113 #define IMEMENUITEM_STRING_SIZE 80
121 HBITMAP hbmpUnchecked;
123 CHAR szString[IMEMENUITEM_STRING_SIZE];
133 HBITMAP hbmpUnchecked;
135 WCHAR szString[IMEMENUITEM_STRING_SIZE];
143 uuid(08c03412-f96b-11d0-a475-00aa006bcc59),
144 pointer_default(unique)
146 interface IEnumRegisterWordA : IUnknown
149 [out] IEnumRegisterWordA **ppEnum);
153 [out] REGISTERWORDA *rgRegisterword,
154 [out] ULONG *pcFetched);
164 uuid(4955dd31-b159-11d0-8fcf-00aa006bcc59),
165 pointer_default(unique)
167 interface IEnumRegisterWordW : IUnknown
170 [out] IEnumRegisterWordW **ppEnum);
174 [out] REGISTERWORDW *rgRegisterword,
175 [out] ULONG *pcFetched);
185 uuid(09b5eab0-f997-11d1-93d4-0060b067b86e),
186 pointer_default(unique)
188 interface IEnumInputContext : IUnknown
191 [out] IEnumInputContext **ppEnum);
195 [out] HIMC *rgInputContext,
196 [out] ULONG *pcFetched);
206 uuid(08c0e040-62d1-11d1-9326-0060b067b86e),
207 pointer_default(unique)
209 interface IActiveIMMApp : IUnknown
211 HRESULT AssociateContext(
216 HRESULT ConfigureIMEA(
220 [in] REGISTERWORDA *pData);
222 HRESULT ConfigureIMEW(
226 [in] REGISTERWORDW *pData);
228 HRESULT CreateContext(
231 HRESULT DestroyContext(
234 HRESULT EnumRegisterWordA(
236 [in] LPSTR szReading,
238 [in] LPSTR szRegister,
240 [out] IEnumRegisterWordA **pEnum);
242 HRESULT EnumRegisterWordW(
244 [in] LPWSTR szReading,
246 [in] LPWSTR szRegister,
248 [out] IEnumRegisterWordW **pEnum);
254 [in, out] LPVOID pData,
255 [out] LRESULT *plResult);
261 [in, out] LPVOID pData,
262 [out] LRESULT *plResult);
264 HRESULT GetCandidateListA(
268 [out] CANDIDATELIST *pCandList,
269 [out] UINT *puCopied);
271 HRESULT GetCandidateListW(
275 [out] CANDIDATELIST *pCandList,
276 [out] UINT *puCopied);
278 HRESULT GetCandidateListCountA(
280 [out] DWORD *pdwListSize,
281 [out] DWORD *pdwBufLen);
283 HRESULT GetCandidateListCountW(
285 [out] DWORD *pdwListSize,
286 [out] DWORD *pdwBufLen);
288 HRESULT GetCandidateWindow(
291 [out] CANDIDATEFORM *pCandidate);
293 HRESULT GetCompositionFontA(
295 [out] LOGFONTA *plf);
297 HRESULT GetCompositionFontW(
299 [out] LOGFONTW *plf);
301 HRESULT GetCompositionStringA(
305 [out] LONG *plCopied,
308 HRESULT GetCompositionStringW(
312 [out] LONG *plCopied,
315 HRESULT GetCompositionWindow(
317 [out] COMPOSITIONFORM *pCompForm);
323 HRESULT GetConversionListA(
329 [out] CANDIDATELIST *pDst,
330 [out] UINT *puCopied);
332 HRESULT GetConversionListW(
338 [out] CANDIDATELIST *pDst,
339 [out] UINT *puCopied);
341 HRESULT GetConversionStatus(
343 [out] DWORD *pfdwConversion,
344 [out] DWORD *pfdwSentence);
346 HRESULT GetDefaultIMEWnd(
348 [out] HWND *phDefWnd);
350 HRESULT GetDescriptionA(
353 [out] LPSTR szDescription,
354 [out] UINT *puCopied);
356 HRESULT GetDescriptionW(
359 [out] LPWSTR szDescription,
360 [out] UINT *puCopied);
362 HRESULT GetGuideLineA(
367 [out] DWORD *pdwResult);
369 HRESULT GetGuideLineW(
374 [out] DWORD *pdwResult);
376 HRESULT GetIMEFileNameA(
379 [out] LPSTR szFileName,
380 [out] UINT *puCopied);
382 HRESULT GetIMEFileNameW(
385 [out] LPWSTR szFileName,
386 [out] UINT *puCopied);
388 HRESULT GetOpenStatus(
394 [out] DWORD *pdwProperty);
396 HRESULT GetRegisterWordStyleA(
399 [out] STYLEBUFA *pStyleBuf,
400 [out] UINT *puCopied);
402 HRESULT GetRegisterWordStyleW(
405 [out] STYLEBUFW *pStyleBuf,
406 [out] UINT *puCopied);
408 HRESULT GetStatusWindowPos(
410 [out] POINT *pptPos);
412 HRESULT GetVirtualKey(
414 [out] UINT *puVirtualKey);
417 [in] LPSTR szIMEFileName,
418 [in] LPSTR szLayoutText,
422 [in] LPWSTR szIMEFileName,
423 [in] LPWSTR szLayoutText,
429 HRESULT IsUIMessageA(
435 HRESULT IsUIMessageW(
447 HRESULT RegisterWordA(
449 [in] LPSTR szReading,
451 [in] LPSTR szRegister);
453 HRESULT RegisterWordW(
455 [in] LPWSTR szReading,
457 [in] LPWSTR szRegister);
459 HRESULT ReleaseContext(
463 HRESULT SetCandidateWindow(
465 [in] CANDIDATEFORM *pCandidate);
467 HRESULT SetCompositionFontA(
471 HRESULT SetCompositionFontW(
475 HRESULT SetCompositionStringA(
479 [in] DWORD dwCompLen,
481 [in] DWORD dwReadLen);
483 HRESULT SetCompositionStringW(
487 [in] DWORD dwCompLen,
489 [in] DWORD dwReadLen);
491 HRESULT SetCompositionWindow(
493 [in] COMPOSITIONFORM *pCompForm);
495 HRESULT SetConversionStatus(
497 [in] DWORD fdwConversion,
498 [in] DWORD fdwSentence);
500 HRESULT SetOpenStatus(
504 HRESULT SetStatusWindowPos(
508 HRESULT SimulateHotKey(
510 [in] DWORD dwHotKeyID);
512 HRESULT UnregisterWordA(
514 [in] LPSTR szReading,
516 [in] LPSTR szUnregister);
518 HRESULT UnregisterWordW(
520 [in] LPWSTR szReading,
522 [in] LPWSTR szUnregister);
525 [in] BOOL fRestoreLayout);
527 HRESULT Deactivate();
529 HRESULT OnDefWindowProc(
534 [out] LRESULT *plResult);
536 HRESULT FilterClientWindows(
537 [in] ATOM *aaClassList,
540 HRESULT GetCodePageA(
542 [out] UINT *uCodePage);
548 HRESULT AssociateContextEx(
554 [in] DWORD idThread);
556 HRESULT GetImeMenuItemsA(
560 [in] IMEMENUITEMINFOA *pImeParentMenu,
561 [out] IMEMENUITEMINFOA *pImeMenu,
563 [out] DWORD *pdwResult);
565 HRESULT GetImeMenuItemsW(
569 [in] IMEMENUITEMINFOW *pImeParentMenu,
570 [out] IMEMENUITEMINFOW *pImeMenu,
572 [out] DWORD *pdwResult);
574 HRESULT EnumInputContext(
576 [out] IEnumInputContext **ppEnum);
580 uuid(4955dd33-b159-11d0-8fcf-00aa006bcc59)
584 [default] interface IActiveIMMApp;
585 /* interface IActiveIMMIME; */
586 /* interface IActiveIMMRegistrar; */
587 /* interface IActiveIMMMessagePumpOwner; */