source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/ime.h@ 1170

Last change on this file since 1170 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 4.1 KB
Line 
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 */
6#ifndef _IME_
7#define _IME_
8
9#include <_mingw_unicode.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#ifndef _WINDEF_
16 typedef unsigned int UINT;
17#endif
18
19#define IME_MAXPROCESS 32
20
21#define SendIMEMessageEx __MINGW_NAME_AW(SendIMEMessageEx)
22
23 LRESULT WINAPI SendIMEMessageExA(HWND,LPARAM);
24 LRESULT WINAPI SendIMEMessageExW(HWND,LPARAM);
25
26 typedef struct tagIMESTRUCT {
27 UINT fnc;
28 WPARAM wParam;
29 UINT wCount;
30 UINT dchSource;
31 UINT dchDest;
32 LPARAM lParam1;
33 LPARAM lParam2;
34 LPARAM lParam3;
35 } IMESTRUCT,*PIMESTRUCT,*NPIMESTRUCT,*LPIMESTRUCT;
36
37#define CP_HWND 0
38#define CP_OPEN 1
39#define CP_DIRECT 2
40#define CP_LEVEL 3
41
42#if !defined(VK_DBE_ALPHANUMERIC)
43#define VK_DBE_ALPHANUMERIC 0x0f0
44#define VK_DBE_KATAKANA 0x0f1
45#define VK_DBE_HIRAGANA 0x0f2
46#define VK_DBE_SBCSCHAR 0x0f3
47#define VK_DBE_DBCSCHAR 0x0f4
48#define VK_DBE_ROMAN 0x0f5
49#define VK_DBE_NOROMAN 0x0f6
50#define VK_DBE_ENTERWORDREGISTERMODE 0x0f7
51#define VK_DBE_ENTERIMECONFIGMODE 0x0f8
52#define VK_DBE_FLUSHSTRING 0x0f9
53#define VK_DBE_CODEINPUT 0x0fa
54#define VK_DBE_NOCODEINPUT 0x0fb
55#define VK_DBE_DETERMINESTRING 0x0fc
56#define VK_DBE_ENTERDLGCONVERSIONMODE 0x0fd
57#endif
58
59#define MCW_DEFAULT 0x00
60#define MCW_RECT 0x01
61#define MCW_WINDOW 0x02
62#define MCW_SCREEN 0x04
63#define MCW_VERTICAL 0x08
64#define MCW_HIDDEN 0x10
65
66#define IME_MODE_ALPHANUMERIC 0x0001
67
68#ifdef KOREA
69#define IME_MODE_SBCSCHAR 0x0002
70#else
71#define IME_MODE_SBCSCHAR 0x0008
72#endif
73
74#define IME_MODE_KATAKANA 0x0002
75#define IME_MODE_HIRAGANA 0x0004
76#define IME_MODE_HANJACONVERT 0x0004
77#define IME_MODE_DBCSCHAR 0x0010
78#define IME_MODE_ROMAN 0x0020
79#define IME_MODE_NOROMAN 0x0040
80#define IME_MODE_CODEINPUT 0x0080
81#define IME_MODE_NOCODEINPUT 0x0100
82
83#define IME_GETIMECAPS 0x03
84#define IME_SETOPEN 0x04
85#define IME_GETOPEN 0x05
86#define IME_GETVERSION 0x07
87#define IME_SETCONVERSIONWINDOW 0x08
88#define IME_MOVEIMEWINDOW IME_SETCONVERSIONWINDOW
89#define IME_SETCONVERSIONMODE 0x10
90
91#define IME_GETCONVERSIONMODE 0x11
92#define IME_SET_MODE 0x12
93#define IME_SENDVKEY 0x13
94#define IME_ENTERWORDREGISTERMODE 0x18
95#define IME_SETCONVERSIONFONTEX 0x19
96
97#define IME_BANJAtoJUNJA 0x13
98#define IME_JUNJAtoBANJA 0x14
99#define IME_JOHABtoKS 0x15
100#define IME_KStoJOHAB 0x16
101
102#define IMEA_INIT 0x01
103#define IMEA_NEXT 0x02
104#define IMEA_PREV 0x03
105
106#define IME_REQUEST_CONVERT 0x01
107#define IME_ENABLE_CONVERT 0x02
108
109#define INTERIM_WINDOW 0x00
110#define MODE_WINDOW 0x01
111#define HANJA_WINDOW 0x02
112
113#define IME_RS_ERROR 0x01
114#define IME_RS_NOIME 0x02
115#define IME_RS_TOOLONG 0x05
116#define IME_RS_ILLEGAL 0x06
117#define IME_RS_NOTFOUND 0x07
118#define IME_RS_NOROOM 0x0a
119#define IME_RS_DISKERROR 0x0e
120#define IME_RS_INVALID 0x11
121#define IME_RS_NEST 0x12
122#define IME_RS_SYSTEMMODAL 0x13
123
124#define WM_IME_REPORT 0x0280
125
126#define IR_STRINGSTART 0x100
127#define IR_STRINGEND 0x101
128#define IR_OPENCONVERT 0x120
129#define IR_CHANGECONVERT 0x121
130#define IR_CLOSECONVERT 0x122
131#define IR_FULLCONVERT 0x123
132#define IR_IMESELECT 0x130
133#define IR_STRING 0x140
134#define IR_DBCSCHAR 0x160
135#define IR_UNDETERMINE 0x170
136#define IR_STRINGEX 0x180
137#define IR_MODEINFO 0x190
138
139#define WM_WNT_CONVERTREQUESTEX 0x0109
140#define WM_CONVERTREQUEST 0x010A
141#define WM_CONVERTRESULT 0x010B
142#define WM_INTERIM 0x010C
143
144#define WM_IMEKEYDOWN 0x290
145#define WM_IMEKEYUP 0x291
146
147 typedef struct tagUNDETERMINESTRUCT {
148 DWORD dwSize;
149 UINT uDefIMESize;
150 UINT uDefIMEPos;
151 UINT uUndetTextLen;
152 UINT uUndetTextPos;
153 UINT uUndetAttrPos;
154 UINT uCursorPos;
155 UINT uDeltaStart;
156 UINT uDetermineTextLen;
157 UINT uDetermineTextPos;
158 UINT uDetermineDelimPos;
159 UINT uYomiTextLen;
160 UINT uYomiTextPos;
161 UINT uYomiDelimPos;
162 } UNDETERMINESTRUCT,*PUNDETERMINESTRUCT,*NPUNDETERMINESTRUCT,*LPUNDETERMINESTRUCT;
163
164 typedef struct tagSTRINGEXSTRUCT {
165 DWORD dwSize;
166 UINT uDeterminePos;
167 UINT uDetermineDelimPos;
168 UINT uYomiPos;
169 UINT uYomiDelimPos;
170 } STRINGEXSTRUCT,*NPSTRINGEXSTRUCT,*LPSTRINGEXSTRUCT;
171
172#ifdef __cplusplus
173}
174#endif
175#endif
Note: See TracBrowser for help on using the repository browser.