3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Declarations for IMM32
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) the Wine project
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncextern "C" {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct tagREGISTERWORDA {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} REGISTERWORDA, *PREGISTERWORDA, *NPREGISTERWORDA, *LPREGISTERWORDA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct tagREGISTERWORDW {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} REGISTERWORDW, *PREGISTERWORDW, *NPREGISTERWORDW, *LPREGISTERWORDW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct tagSTYLEBUFA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct tagSTYLEBUFW
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* wParam for WM_IME_CONTROL */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * wParam for WM_IME_CONTROL to the soft keyboard
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * dwAction for ImmNotifyIME
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* lParam for WM_IME_SETCONTEXT */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* the modifiers of hot key */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Windows for Simplified Chinese Edition hot key ID from 0x10 - 0x2F */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Windows for Japanese Edition hot key ID from 0x30 - 0x4F */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Windows for Korean Edition hot key ID from 0x50 - 0x6F */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Windows for Traditional Chinese Edition hot key ID from 0x70 - 0x8F */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* direct switch hot key ID from 0x100 - 0x11F */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* IME private hot key from 0x200 - 0x21F */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * dwSystemInfoFlags bits
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * parameter of ImmGetCompositionString
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* style bit flags for WM_IME_COMPOSITION */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * bits of fdwInit of INPUTCONTEXT
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * IME version constants
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* IME property bits */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* IME UICapability bits */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* ImmSetCompositionString Capability bits */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* IME WM_IME_SELECT inheritance Capability bits */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* ID for deIndex of ImmGetGuideLine */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* ID for dwLevel of GUIDELINE Structure */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* ID for dwIndex of GUIDELINE Structure */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* ID for dwIndex of ImmGetProperty */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* dwIndex for ImmSetCompositionString API */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* attribute for COMPOSITIONSTRING Structure */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* bit field for IMC_SETCOMPOSITIONWINDOW, IMC_SETCANDIDATEWINDOW */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* conversion direction for ImmGetConversionList */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* bit field for conversion mode */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* IME_CMODE_HANGEUL is old name of IME_CMODE_HANGUL. It will be gone eventually. */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IME_CMODE_KATAKANA 0x0002 /* only effect under IME_CMODE_NATIVE */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* style of candidate */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* wParam of report message WM_IME_NOTIFY */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* wParam of report message WM_IME_REQUEST */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* error code of ImmGetCompositionString */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* dialog mode of ImmConfigureIME */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* dialog mode of ImmEscape */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* style of word registration */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* dwFlags for ImmAssociateContextEx */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* dwFlags for ImmGetImeMenuItems */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* dwType for ImmGetImeMenuItems */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* fType of IMEMENUITEMINFO structure */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* fState of IMEMENUITEMINFO structure */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * type of soft keyboard
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * for Windows Traditional Chinese Edition
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* for Windows Simplified Chinese Edition */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmAssociateContextEx(HWND, HIMC, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmConfigureIMEA(HKL, HWND, DWORD, LPVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmConfigureIMEW(HKL, HWND, DWORD, LPVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmConfigureIME WINELIB_NAME_AW(ImmConfigureIME)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmEnumInputContext(DWORD, IMCENUMPROC, LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncUINT WINAPI ImmEnumRegisterWordA(HKL, REGISTERWORDENUMPROCA, LPCSTR, DWORD, LPCSTR, LPVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncUINT WINAPI ImmEnumRegisterWordW(HKL, REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, LPVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmEnumRegisterWord WINELIB_NAME_AW(ImmEnumRegisterWord)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI ImmGetCandidateListA(HIMC, DWORD, LPCANDIDATELIST, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI ImmGetCandidateListW(HIMC, DWORD, LPCANDIDATELIST, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmGetCandidateList WINELIB_NAME_AW(ImmGetCandidateList)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI ImmGetCandidateListCountA(HIMC, LPDWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI ImmGetCandidateListCountW(HIMC, LPDWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmGetCandidateListCount WINELIB_NAME_AW(ImmGetCandidateListCount)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmGetCandidateWindow(HIMC, DWORD, LPCANDIDATEFORM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmGetCompositionFontA(HIMC, LPLOGFONTA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmGetCompositionFontW(HIMC, LPLOGFONTW);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmGetCompositionFont WINELIB_NAME_AW(ImmGetCompositionFont)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmSetCompositionFontA(HIMC, LPLOGFONTA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmSetCompositionFontW(HIMC, LPLOGFONTW);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmSetCompositionFont WINELIB_NAME_AW(ImmSetCompositionFont)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncLONG WINAPI ImmGetCompositionStringA(HIMC, DWORD, LPVOID, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncLONG WINAPI ImmGetCompositionStringW(HIMC, DWORD, LPVOID, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmGetCompositionString WINELIB_NAME_AW(ImmGetCompositionString)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmGetCompositionWindow(HIMC, LPCOMPOSITIONFORM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI ImmGetConversionListA(HKL, HIMC, LPCSTR, LPCANDIDATELIST, DWORD, UINT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI ImmGetConversionListW(HKL, HIMC, LPCWSTR, LPCANDIDATELIST, DWORD, UINT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmGetConversionList WINELIB_NAME_AW(ImmGetConversionList)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmGetConversionStatus(HIMC, LPDWORD, LPDWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmGetDescription WINELIB_NAME_AW(ImmGetDescription)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI ImmGetGuideLineA(HIMC, DWORD, LPSTR, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI ImmGetGuideLineW(HIMC, DWORD, LPWSTR, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmGetGuideLine WINELIB_NAME_AW(ImmGetGuideLine)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmGetIMEFileName WINELIB_NAME_AW(ImmGetIMEFileName)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI ImmGetImeMenuItemsA(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDWORD WINAPI ImmGetImeMenuItemsW(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmGetImeMenuItems WINELIB_NAME_AW(ImmGetImeMenuItems)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncUINT WINAPI ImmGetRegisterWordStyleA(HKL, UINT, LPSTYLEBUFA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncUINT WINAPI ImmGetRegisterWordStyleW(HKL, UINT, LPSTYLEBUFW);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmGetRegisterWordStyle WINELIB_NAME_AW(ImmGetRegisterWordStyle)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmInstallIME WINELIB_NAME_AW(ImmInstallIME)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmIsUIMessage WINELIB_NAME_AW(ImmIsUIMessage)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmNotifyIME(HIMC, DWORD, DWORD, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmProcessKey(HWND, HKL, UINT, LPARAM, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmRegisterWord WINELIB_NAME_AW(ImmRegisterWord)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmSetCandidateWindow(HIMC, LPCANDIDATEFORM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmSetCompositionStringA(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmSetCompositionStringW(HIMC, DWORD, LPCVOID, DWORD, LPCVOID, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmSetCompositionString WINELIB_NAME_AW(ImmSetCompositionString)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmSetCompositionWindow(HIMC, LPCOMPOSITIONFORM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmSetConversionStatus(HIMC, DWORD, DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmUnregisterWordA(HKL, LPCSTR, DWORD, LPCSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncBOOL WINAPI ImmUnregisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ImmUnregisterWord WINELIB_NAME_AW(ImmUnregisterWord)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* __WINE_IMM_H */