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
23 cpp_quote("#include <imm.h>")
39 #define LF_FACESIZE 32
54 BYTE lfPitchAndFamily;
55 CHAR lfFaceName[LF_FACESIZE];
71 BYTE lfPitchAndFamily;
72 WCHAR lfFaceName[LF_FACESIZE];
101 #define STYLE_DESCRIPTION_SIZE 32
105 CHAR szDescription[STYLE_DESCRIPTION_SIZE];
110 WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
115 #define IMEMENUITEM_STRING_SIZE 80
123 HBITMAP hbmpUnchecked;
125 CHAR szString[IMEMENUITEM_STRING_SIZE];
135 HBITMAP hbmpUnchecked;
137 WCHAR szString[IMEMENUITEM_STRING_SIZE];
145 uuid(08c03412-f96b-11d0-a475-00aa006bcc59),
146 pointer_default(unique)
148 interface IEnumRegisterWordA : IUnknown
151 [out] IEnumRegisterWordA **ppEnum);
155 [out] REGISTERWORDA *rgRegisterword,
156 [out] ULONG *pcFetched);
166 uuid(4955dd31-b159-11d0-8fcf-00aa006bcc59),
167 pointer_default(unique)
169 interface IEnumRegisterWordW : IUnknown
172 [out] IEnumRegisterWordW **ppEnum);
176 [out] REGISTERWORDW *rgRegisterword,
177 [out] ULONG *pcFetched);
187 uuid(09b5eab0-f997-11d1-93d4-0060b067b86e),
188 pointer_default(unique)
190 interface IEnumInputContext : IUnknown
193 [out] IEnumInputContext **ppEnum);
197 [out] HIMC *rgInputContext,
198 [out] ULONG *pcFetched);
208 uuid(08c0e040-62d1-11d1-9326-0060b067b86e),
209 pointer_default(unique)
211 interface IActiveIMMApp : IUnknown
213 HRESULT AssociateContext(
218 HRESULT ConfigureIMEA(
222 [in] REGISTERWORDA *pData);
224 HRESULT ConfigureIMEW(
228 [in] REGISTERWORDW *pData);
230 HRESULT CreateContext(
233 HRESULT DestroyContext(
236 HRESULT EnumRegisterWordA(
238 [in] LPSTR szReading,
240 [in] LPSTR szRegister,
242 [out] IEnumRegisterWordA **pEnum);
244 HRESULT EnumRegisterWordW(
246 [in] LPWSTR szReading,
248 [in] LPWSTR szRegister,
250 [out] IEnumRegisterWordW **pEnum);
256 [in, out] LPVOID pData,
257 [out] LRESULT *plResult);
263 [in, out] LPVOID pData,
264 [out] LRESULT *plResult);
266 HRESULT GetCandidateListA(
270 [out] CANDIDATELIST *pCandList,
271 [out] UINT *puCopied);
273 HRESULT GetCandidateListW(
277 [out] CANDIDATELIST *pCandList,
278 [out] UINT *puCopied);
280 HRESULT GetCandidateListCountA(
282 [out] DWORD *pdwListSize,
283 [out] DWORD *pdwBufLen);
285 HRESULT GetCandidateListCountW(
287 [out] DWORD *pdwListSize,
288 [out] DWORD *pdwBufLen);
290 HRESULT GetCandidateWindow(
293 [out] CANDIDATEFORM *pCandidate);
295 HRESULT GetCompositionFontA(
297 [out] LOGFONTA *plf);
299 HRESULT GetCompositionFontW(
301 [out] LOGFONTW *plf);
303 HRESULT GetCompositionStringA(
307 [out] LONG *plCopied,
310 HRESULT GetCompositionStringW(
314 [out] LONG *plCopied,
317 HRESULT GetCompositionWindow(
319 [out] COMPOSITIONFORM *pCompForm);
325 HRESULT GetConversionListA(
331 [out] CANDIDATELIST *pDst,
332 [out] UINT *puCopied);
334 HRESULT GetConversionListW(
340 [out] CANDIDATELIST *pDst,
341 [out] UINT *puCopied);
343 HRESULT GetConversionStatus(
345 [out] DWORD *pfdwConversion,
346 [out] DWORD *pfdwSentence);
348 HRESULT GetDefaultIMEWnd(
350 [out] HWND *phDefWnd);
352 HRESULT GetDescriptionA(
355 [out] LPSTR szDescription,
356 [out] UINT *puCopied);
358 HRESULT GetDescriptionW(
361 [out] LPWSTR szDescription,
362 [out] UINT *puCopied);
364 HRESULT GetGuideLineA(
369 [out] DWORD *pdwResult);
371 HRESULT GetGuideLineW(
376 [out] DWORD *pdwResult);
378 HRESULT GetIMEFileNameA(
381 [out] LPSTR szFileName,
382 [out] UINT *puCopied);
384 HRESULT GetIMEFileNameW(
387 [out] LPWSTR szFileName,
388 [out] UINT *puCopied);
390 HRESULT GetOpenStatus(
396 [out] DWORD *pdwProperty);
398 HRESULT GetRegisterWordStyleA(
401 [out] STYLEBUFA *pStyleBuf,
402 [out] UINT *puCopied);
404 HRESULT GetRegisterWordStyleW(
407 [out] STYLEBUFW *pStyleBuf,
408 [out] UINT *puCopied);
410 HRESULT GetStatusWindowPos(
412 [out] POINT *pptPos);
414 HRESULT GetVirtualKey(
416 [out] UINT *puVirtualKey);
419 [in] LPSTR szIMEFileName,
420 [in] LPSTR szLayoutText,
424 [in] LPWSTR szIMEFileName,
425 [in] LPWSTR szLayoutText,
431 HRESULT IsUIMessageA(
437 HRESULT IsUIMessageW(
449 HRESULT RegisterWordA(
451 [in] LPSTR szReading,
453 [in] LPSTR szRegister);
455 HRESULT RegisterWordW(
457 [in] LPWSTR szReading,
459 [in] LPWSTR szRegister);
461 HRESULT ReleaseContext(
465 HRESULT SetCandidateWindow(
467 [in] CANDIDATEFORM *pCandidate);
469 HRESULT SetCompositionFontA(
473 HRESULT SetCompositionFontW(
477 HRESULT SetCompositionStringA(
481 [in] DWORD dwCompLen,
483 [in] DWORD dwReadLen);
485 HRESULT SetCompositionStringW(
489 [in] DWORD dwCompLen,
491 [in] DWORD dwReadLen);
493 HRESULT SetCompositionWindow(
495 [in] COMPOSITIONFORM *pCompForm);
497 HRESULT SetConversionStatus(
499 [in] DWORD fdwConversion,
500 [in] DWORD fdwSentence);
502 HRESULT SetOpenStatus(
506 HRESULT SetStatusWindowPos(
510 HRESULT SimulateHotKey(
512 [in] DWORD dwHotKeyID);
514 HRESULT UnregisterWordA(
516 [in] LPSTR szReading,
518 [in] LPSTR szUnregister);
520 HRESULT UnregisterWordW(
522 [in] LPWSTR szReading,
524 [in] LPWSTR szUnregister);
527 [in] BOOL fRestoreLayout);
529 HRESULT Deactivate();
531 HRESULT OnDefWindowProc(
536 [out] LRESULT *plResult);
538 HRESULT FilterClientWindows(
539 [in] ATOM *aaClassList,
542 HRESULT GetCodePageA(
544 [out] UINT *uCodePage);
550 HRESULT AssociateContextEx(
556 [in] DWORD idThread);
558 HRESULT GetImeMenuItemsA(
562 [in] IMEMENUITEMINFOA *pImeParentMenu,
563 [out] IMEMENUITEMINFOA *pImeMenu,
565 [out] DWORD *pdwResult);
567 HRESULT GetImeMenuItemsW(
571 [in] IMEMENUITEMINFOW *pImeParentMenu,
572 [out] IMEMENUITEMINFOW *pImeMenu,
574 [out] DWORD *pdwResult);
576 HRESULT EnumInputContext(
578 [out] IEnumInputContext **ppEnum);
582 uuid(4955dd33-b159-11d0-8fcf-00aa006bcc59)
586 [default] interface IActiveIMMApp;
587 /* interface IActiveIMMIME; */
588 /* interface IActiveIMMRegistrar; */
589 /* interface IActiveIMMMessagePumpOwner; */