/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ #ifndef _IME_ #define _IME_ #ifdef __cplusplus extern "C" { #endif #ifndef _WINDEF_ typedef unsigned int UINT; #endif #define IME_MAXPROCESS 32 LRESULT WINAPI SendIMEMessageExA(HWND,LPARAM); LRESULT WINAPI SendIMEMessageExW(HWND,LPARAM); #define SendIMEMessageEx WINELIB_NAME_AW(SendIMEMessageEx) typedef struct tagIMESTRUCT { UINT fnc; WPARAM wParam; UINT wCount; UINT dchSource; UINT dchDest; LPARAM lParam1; LPARAM lParam2; LPARAM lParam3; } IMESTRUCT,*PIMESTRUCT,*NPIMESTRUCT,*LPIMESTRUCT; #define CP_HWND 0 #define CP_OPEN 1 #define CP_DIRECT 2 #define CP_LEVEL 3 #if !defined(VK_DBE_ALPHANUMERIC) #define VK_DBE_ALPHANUMERIC 0x0f0 #define VK_DBE_KATAKANA 0x0f1 #define VK_DBE_HIRAGANA 0x0f2 #define VK_DBE_SBCSCHAR 0x0f3 #define VK_DBE_DBCSCHAR 0x0f4 #define VK_DBE_ROMAN 0x0f5 #define VK_DBE_NOROMAN 0x0f6 #define VK_DBE_ENTERWORDREGISTERMODE 0x0f7 #define VK_DBE_ENTERIMECONFIGMODE 0x0f8 #define VK_DBE_FLUSHSTRING 0x0f9 #define VK_DBE_CODEINPUT 0x0fa #define VK_DBE_NOCODEINPUT 0x0fb #define VK_DBE_DETERMINESTRING 0x0fc #define VK_DBE_ENTERDLGCONVERSIONMODE 0x0fd #endif #define MCW_DEFAULT 0x00 #define MCW_RECT 0x01 #define MCW_WINDOW 0x02 #define MCW_SCREEN 0x04 #define MCW_VERTICAL 0x08 #define MCW_HIDDEN 0x10 #define IME_MODE_ALPHANUMERIC 0x0001 #ifdef KOREA #define IME_MODE_SBCSCHAR 0x0002 #else #define IME_MODE_SBCSCHAR 0x0008 #endif #define IME_MODE_KATAKANA 0x0002 #define IME_MODE_HIRAGANA 0x0004 #define IME_MODE_HANJACONVERT 0x0004 #define IME_MODE_DBCSCHAR 0x0010 #define IME_MODE_ROMAN 0x0020 #define IME_MODE_NOROMAN 0x0040 #define IME_MODE_CODEINPUT 0x0080 #define IME_MODE_NOCODEINPUT 0x0100 #define IME_GETIMECAPS 0x03 #define IME_SETOPEN 0x04 #define IME_GETOPEN 0x05 #define IME_GETVERSION 0x07 #define IME_SETCONVERSIONWINDOW 0x08 #define IME_MOVEIMEWINDOW IME_SETCONVERSIONWINDOW #define IME_SETCONVERSIONMODE 0x10 #define IME_GETCONVERSIONMODE 0x11 #define IME_SET_MODE 0x12 #define IME_SENDVKEY 0x13 #define IME_ENTERWORDREGISTERMODE 0x18 #define IME_SETCONVERSIONFONTEX 0x19 #define IME_BANJAtoJUNJA 0x13 #define IME_JUNJAtoBANJA 0x14 #define IME_JOHABtoKS 0x15 #define IME_KStoJOHAB 0x16 #define IMEA_INIT 0x01 #define IMEA_NEXT 0x02 #define IMEA_PREV 0x03 #define IME_REQUEST_CONVERT 0x01 #define IME_ENABLE_CONVERT 0x02 #define INTERIM_WINDOW 0x00 #define MODE_WINDOW 0x01 #define HANJA_WINDOW 0x02 #define IME_RS_ERROR 0x01 #define IME_RS_NOIME 0x02 #define IME_RS_TOOLONG 0x05 #define IME_RS_ILLEGAL 0x06 #define IME_RS_NOTFOUND 0x07 #define IME_RS_NOROOM 0x0a #define IME_RS_DISKERROR 0x0e #define IME_RS_INVALID 0x11 #define IME_RS_NEST 0x12 #define IME_RS_SYSTEMMODAL 0x13 #define WM_IME_REPORT 0x0280 #define IR_STRINGSTART 0x100 #define IR_STRINGEND 0x101 #define IR_OPENCONVERT 0x120 #define IR_CHANGECONVERT 0x121 #define IR_CLOSECONVERT 0x122 #define IR_FULLCONVERT 0x123 #define IR_IMESELECT 0x130 #define IR_STRING 0x140 #define IR_DBCSCHAR 0x160 #define IR_UNDETERMINE 0x170 #define IR_STRINGEX 0x180 #define IR_MODEINFO 0x190 #define WM_WNT_CONVERTREQUESTEX 0x0109 #define WM_CONVERTREQUEST 0x010A #define WM_CONVERTRESULT 0x010B #define WM_INTERIM 0x010C #define WM_IMEKEYDOWN 0x290 #define WM_IMEKEYUP 0x291 typedef struct tagUNDETERMINESTRUCT { DWORD dwSize; UINT uDefIMESize; UINT uDefIMEPos; UINT uUndetTextLen; UINT uUndetTextPos; UINT uUndetAttrPos; UINT uCursorPos; UINT uDeltaStart; UINT uDetermineTextLen; UINT uDetermineTextPos; UINT uDetermineDelimPos; UINT uYomiTextLen; UINT uYomiTextPos; UINT uYomiDelimPos; } UNDETERMINESTRUCT,*PUNDETERMINESTRUCT,*NPUNDETERMINESTRUCT,*LPUNDETERMINESTRUCT; typedef struct tagSTRINGEXSTRUCT { DWORD dwSize; UINT uDeterminePos; UINT uDetermineDelimPos; UINT uYomiPos; UINT uYomiDelimPos; } STRINGEXSTRUCT,*NPSTRINGEXSTRUCT,*LPSTRINGEXSTRUCT; #ifdef __cplusplus } #endif #endif