winex11: Use a helper to change internal composition status.
[wine.git] / include / ime.h
blob9312e37bc154da3e2a81ce34b013cbdff99d6bdd
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
7 #ifndef _IME_
8 #define _IME_
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
14 #ifndef _WINDEF_
15 typedef unsigned int UINT;
16 #endif
18 #define IME_MAXPROCESS 32
20 LRESULT WINAPI SendIMEMessageExA(HWND,LPARAM);
21 LRESULT WINAPI SendIMEMessageExW(HWND,LPARAM);
22 #define SendIMEMessageEx WINELIB_NAME_AW(SendIMEMessageEx)
24 typedef struct tagIMESTRUCT {
25 UINT fnc;
26 WPARAM wParam;
27 UINT wCount;
28 UINT dchSource;
29 UINT dchDest;
30 LPARAM lParam1;
31 LPARAM lParam2;
32 LPARAM lParam3;
33 } IMESTRUCT,*PIMESTRUCT,*NPIMESTRUCT,*LPIMESTRUCT;
35 #define CP_HWND 0
36 #define CP_OPEN 1
37 #define CP_DIRECT 2
38 #define CP_LEVEL 3
40 #if !defined(VK_DBE_ALPHANUMERIC)
41 #define VK_DBE_ALPHANUMERIC 0x0f0
42 #define VK_DBE_KATAKANA 0x0f1
43 #define VK_DBE_HIRAGANA 0x0f2
44 #define VK_DBE_SBCSCHAR 0x0f3
45 #define VK_DBE_DBCSCHAR 0x0f4
46 #define VK_DBE_ROMAN 0x0f5
47 #define VK_DBE_NOROMAN 0x0f6
48 #define VK_DBE_ENTERWORDREGISTERMODE 0x0f7
49 #define VK_DBE_ENTERIMECONFIGMODE 0x0f8
50 #define VK_DBE_FLUSHSTRING 0x0f9
51 #define VK_DBE_CODEINPUT 0x0fa
52 #define VK_DBE_NOCODEINPUT 0x0fb
53 #define VK_DBE_DETERMINESTRING 0x0fc
54 #define VK_DBE_ENTERDLGCONVERSIONMODE 0x0fd
55 #endif
57 #define MCW_DEFAULT 0x00
58 #define MCW_RECT 0x01
59 #define MCW_WINDOW 0x02
60 #define MCW_SCREEN 0x04
61 #define MCW_VERTICAL 0x08
62 #define MCW_HIDDEN 0x10
64 #define IME_MODE_ALPHANUMERIC 0x0001
66 #ifdef KOREA
67 #define IME_MODE_SBCSCHAR 0x0002
68 #else
69 #define IME_MODE_SBCSCHAR 0x0008
70 #endif
72 #define IME_MODE_KATAKANA 0x0002
73 #define IME_MODE_HIRAGANA 0x0004
74 #define IME_MODE_HANJACONVERT 0x0004
75 #define IME_MODE_DBCSCHAR 0x0010
76 #define IME_MODE_ROMAN 0x0020
77 #define IME_MODE_NOROMAN 0x0040
78 #define IME_MODE_CODEINPUT 0x0080
79 #define IME_MODE_NOCODEINPUT 0x0100
81 #define IME_GETIMECAPS 0x03
82 #define IME_SETOPEN 0x04
83 #define IME_GETOPEN 0x05
84 #define IME_GETVERSION 0x07
85 #define IME_SETCONVERSIONWINDOW 0x08
86 #define IME_MOVEIMEWINDOW IME_SETCONVERSIONWINDOW
87 #define IME_SETCONVERSIONMODE 0x10
89 #define IME_GETCONVERSIONMODE 0x11
90 #define IME_SET_MODE 0x12
91 #define IME_SENDVKEY 0x13
92 #define IME_ENTERWORDREGISTERMODE 0x18
93 #define IME_SETCONVERSIONFONTEX 0x19
95 #define IME_BANJAtoJUNJA 0x13
96 #define IME_JUNJAtoBANJA 0x14
97 #define IME_JOHABtoKS 0x15
98 #define IME_KStoJOHAB 0x16
100 #define IMEA_INIT 0x01
101 #define IMEA_NEXT 0x02
102 #define IMEA_PREV 0x03
104 #define IME_REQUEST_CONVERT 0x01
105 #define IME_ENABLE_CONVERT 0x02
107 #define INTERIM_WINDOW 0x00
108 #define MODE_WINDOW 0x01
109 #define HANJA_WINDOW 0x02
111 #define IME_RS_ERROR 0x01
112 #define IME_RS_NOIME 0x02
113 #define IME_RS_TOOLONG 0x05
114 #define IME_RS_ILLEGAL 0x06
115 #define IME_RS_NOTFOUND 0x07
116 #define IME_RS_NOROOM 0x0a
117 #define IME_RS_DISKERROR 0x0e
118 #define IME_RS_INVALID 0x11
119 #define IME_RS_NEST 0x12
120 #define IME_RS_SYSTEMMODAL 0x13
122 #define WM_IME_REPORT 0x0280
124 #define IR_STRINGSTART 0x100
125 #define IR_STRINGEND 0x101
126 #define IR_OPENCONVERT 0x120
127 #define IR_CHANGECONVERT 0x121
128 #define IR_CLOSECONVERT 0x122
129 #define IR_FULLCONVERT 0x123
130 #define IR_IMESELECT 0x130
131 #define IR_STRING 0x140
132 #define IR_DBCSCHAR 0x160
133 #define IR_UNDETERMINE 0x170
134 #define IR_STRINGEX 0x180
135 #define IR_MODEINFO 0x190
137 #define WM_WNT_CONVERTREQUESTEX 0x0109
138 #define WM_CONVERTREQUEST 0x010A
139 #define WM_CONVERTRESULT 0x010B
140 #define WM_INTERIM 0x010C
142 #define WM_IMEKEYDOWN 0x290
143 #define WM_IMEKEYUP 0x291
145 typedef struct tagUNDETERMINESTRUCT {
146 DWORD dwSize;
147 UINT uDefIMESize;
148 UINT uDefIMEPos;
149 UINT uUndetTextLen;
150 UINT uUndetTextPos;
151 UINT uUndetAttrPos;
152 UINT uCursorPos;
153 UINT uDeltaStart;
154 UINT uDetermineTextLen;
155 UINT uDetermineTextPos;
156 UINT uDetermineDelimPos;
157 UINT uYomiTextLen;
158 UINT uYomiTextPos;
159 UINT uYomiDelimPos;
160 } UNDETERMINESTRUCT,*PUNDETERMINESTRUCT,*NPUNDETERMINESTRUCT,*LPUNDETERMINESTRUCT;
162 typedef struct tagSTRINGEXSTRUCT {
163 DWORD dwSize;
164 UINT uDeterminePos;
165 UINT uDetermineDelimPos;
166 UINT uYomiPos;
167 UINT uYomiDelimPos;
168 } STRINGEXSTRUCT,*NPSTRINGEXSTRUCT,*LPSTRINGEXSTRUCT;
170 #ifdef __cplusplus
172 #endif
173 #endif