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),
191 interface IEnumInputContext : IUnknown
194 [out] IEnumInputContext **ppEnum);
198 [out] HIMC *rgInputContext,
199 [out] ULONG *pcFetched);
209 uuid(08c0e040-62d1-11d1-9326-0060b067b86e),
210 pointer_default(unique),
213 interface IActiveIMMApp : IUnknown
215 HRESULT AssociateContext(
220 HRESULT ConfigureIMEA(
224 [in] REGISTERWORDA *pData);
226 HRESULT ConfigureIMEW(
230 [in] REGISTERWORDW *pData);
232 HRESULT CreateContext(
235 HRESULT DestroyContext(
238 HRESULT EnumRegisterWordA(
240 [in] LPSTR szReading,
242 [in] LPSTR szRegister,
244 [out] IEnumRegisterWordA **pEnum);
246 HRESULT EnumRegisterWordW(
248 [in] LPWSTR szReading,
250 [in] LPWSTR szRegister,
252 [out] IEnumRegisterWordW **pEnum);
258 [in, out] LPVOID pData,
259 [out] LRESULT *plResult);
265 [in, out] LPVOID pData,
266 [out] LRESULT *plResult);
268 HRESULT GetCandidateListA(
272 [out] CANDIDATELIST *pCandList,
273 [out] UINT *puCopied);
275 HRESULT GetCandidateListW(
279 [out] CANDIDATELIST *pCandList,
280 [out] UINT *puCopied);
282 HRESULT GetCandidateListCountA(
284 [out] DWORD *pdwListSize,
285 [out] DWORD *pdwBufLen);
287 HRESULT GetCandidateListCountW(
289 [out] DWORD *pdwListSize,
290 [out] DWORD *pdwBufLen);
292 HRESULT GetCandidateWindow(
295 [out] CANDIDATEFORM *pCandidate);
297 HRESULT GetCompositionFontA(
299 [out] LOGFONTA *plf);
301 HRESULT GetCompositionFontW(
303 [out] LOGFONTW *plf);
305 HRESULT GetCompositionStringA(
309 [out] LONG *plCopied,
312 HRESULT GetCompositionStringW(
316 [out] LONG *plCopied,
319 HRESULT GetCompositionWindow(
321 [out] COMPOSITIONFORM *pCompForm);
327 HRESULT GetConversionListA(
333 [out] CANDIDATELIST *pDst,
334 [out] UINT *puCopied);
336 HRESULT GetConversionListW(
342 [out] CANDIDATELIST *pDst,
343 [out] UINT *puCopied);
345 HRESULT GetConversionStatus(
347 [out] DWORD *pfdwConversion,
348 [out] DWORD *pfdwSentence);
350 HRESULT GetDefaultIMEWnd(
352 [out] HWND *phDefWnd);
354 HRESULT GetDescriptionA(
357 [out] LPSTR szDescription,
358 [out] UINT *puCopied);
360 HRESULT GetDescriptionW(
363 [out] LPWSTR szDescription,
364 [out] UINT *puCopied);
366 HRESULT GetGuideLineA(
371 [out] DWORD *pdwResult);
373 HRESULT GetGuideLineW(
378 [out] DWORD *pdwResult);
380 HRESULT GetIMEFileNameA(
383 [out] LPSTR szFileName,
384 [out] UINT *puCopied);
386 HRESULT GetIMEFileNameW(
389 [out] LPWSTR szFileName,
390 [out] UINT *puCopied);
392 HRESULT GetOpenStatus(
398 [out] DWORD *pdwProperty);
400 HRESULT GetRegisterWordStyleA(
403 [out] STYLEBUFA *pStyleBuf,
404 [out] UINT *puCopied);
406 HRESULT GetRegisterWordStyleW(
409 [out] STYLEBUFW *pStyleBuf,
410 [out] UINT *puCopied);
412 HRESULT GetStatusWindowPos(
414 [out] POINT *pptPos);
416 HRESULT GetVirtualKey(
418 [out] UINT *puVirtualKey);
421 [in] LPSTR szIMEFileName,
422 [in] LPSTR szLayoutText,
426 [in] LPWSTR szIMEFileName,
427 [in] LPWSTR szLayoutText,
433 HRESULT IsUIMessageA(
439 HRESULT IsUIMessageW(
451 HRESULT RegisterWordA(
453 [in] LPSTR szReading,
455 [in] LPSTR szRegister);
457 HRESULT RegisterWordW(
459 [in] LPWSTR szReading,
461 [in] LPWSTR szRegister);
463 HRESULT ReleaseContext(
467 HRESULT SetCandidateWindow(
469 [in] CANDIDATEFORM *pCandidate);
471 HRESULT SetCompositionFontA(
475 HRESULT SetCompositionFontW(
479 HRESULT SetCompositionStringA(
483 [in] DWORD dwCompLen,
485 [in] DWORD dwReadLen);
487 HRESULT SetCompositionStringW(
491 [in] DWORD dwCompLen,
493 [in] DWORD dwReadLen);
495 HRESULT SetCompositionWindow(
497 [in] COMPOSITIONFORM *pCompForm);
499 HRESULT SetConversionStatus(
501 [in] DWORD fdwConversion,
502 [in] DWORD fdwSentence);
504 HRESULT SetOpenStatus(
508 HRESULT SetStatusWindowPos(
512 HRESULT SimulateHotKey(
514 [in] DWORD dwHotKeyID);
516 HRESULT UnregisterWordA(
518 [in] LPSTR szReading,
520 [in] LPSTR szUnregister);
522 HRESULT UnregisterWordW(
524 [in] LPWSTR szReading,
526 [in] LPWSTR szUnregister);
529 [in] BOOL fRestoreLayout);
531 HRESULT Deactivate();
533 HRESULT OnDefWindowProc(
538 [out] LRESULT *plResult);
540 HRESULT FilterClientWindows(
541 [in] ATOM *aaClassList,
544 HRESULT GetCodePageA(
546 [out] UINT *uCodePage);
552 HRESULT AssociateContextEx(
558 [in] DWORD idThread);
560 HRESULT GetImeMenuItemsA(
564 [in] IMEMENUITEMINFOA *pImeParentMenu,
565 [out] IMEMENUITEMINFOA *pImeMenu,
567 [out] DWORD *pdwResult);
569 HRESULT GetImeMenuItemsW(
573 [in] IMEMENUITEMINFOW *pImeParentMenu,
574 [out] IMEMENUITEMINFOW *pImeMenu,
576 [out] DWORD *pdwResult);
578 HRESULT EnumInputContext(
580 [out] IEnumInputContext **ppEnum);
584 uuid(4955dd33-b159-11d0-8fcf-00aa006bcc59)
588 [default] interface IActiveIMMApp;
589 /* interface IActiveIMMIME; */
590 /* interface IActiveIMMRegistrar; */
591 /* interface IActiveIMMMessagePumpOwner; */