blob: 0251255cb31d216999666f8f178aed9e5b704c3f [file] [log] [blame]
DRC2ff39b82011-07-28 08:38:59 +00001//
2// "$Id: aimm.h 7913 2010-11-29 18:18:27Z greg.ercolano $"
3//
4// Standard dialog header file for the UTF-8 Fast Light Tool Kit (FLTK-UTF8).
5//
6// Copyright 2009-2010 by Bill Spitzak and others.
7//
8// This library is free software; you can redistribute it and/or
9// modify it under the terms of the GNU Library General Public
10// License as published by the Free Software Foundation; either
11// version 2 of the License, or (at your option) any later version
12// with exceptions that allow sub-classing and static linking in
13// non-LGPL compliant software. These exceptions are subject to
14// conditions, see the FLTK License for more details.
15//
16// This library is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the FLTK
19// License for more details.
20//
21// You should have received a copy of the FLTK License along with
22// this library; if not, write to OksiD Software, Jean-Marc Lienher,
23// Rue de la Cheminee 1, CH-2065 Savagnier, Switzerland.
24//
25// Please report all bugs and problems to "oksid@bluewin.ch".
26//
27
28#ifndef AIMM_H
29# define AIMM_H
30//# define HANDLE_PTR HANDLE*
31//# define DWORD_PTR DWORD*
32//# define CLSCTX_INPROC_SERVER 0x1
33const GUID IID_IActiveIMMApp = { 0x8c0e040, 0x62d1, 0x11d1, {0x93, 0x26, 0x00, 0x60, 0xb0, 0x67, 0xb8, 0x6e}};
34const GUID CLSID_CActiveIMM = { 0x4955dd33, 0xb159, 0x11d0, {0x8f, 0xcf, 0x00, 0xaa, 0x00, 0x6b, 0xcc, 0x59}};
35/*
36 class IUnknown
37 {
38 public:
39
40 virtual long __stdcall QueryInterface(
41 const GUID & riid,
42 void **ppvObject) = 0;
43
44 virtual ULONG __stdcall AddRef( void) = 0;
45
46 virtual ULONG __stdcall Release( void) = 0;
47 };
48
49extern "C" __declspec(dllimport) long __stdcall CoInitialize(void far *pvReserved);
50extern "C" __declspec(dllimport) long __stdcall CoCreateInstance(const GUID & rclsid, IUnknown * pUnkOuter,
51 DWORD dwClsContext, const GUID & riid, LPVOID FAR* ppv);
52
53*/
54
55 class IActiveIMMApp : public IUnknown
56 {
57 public:
58 virtual long __stdcall AssociateContext(
59 HWND hWnd,
60 HIMC hIME,
61 HIMC *phPrev) = 0;
62
63 virtual long __stdcall ConfigureIMEA(
64 HKL hKL,
65 HWND hWnd,
66 DWORD dwMode,
67 void *pData) = 0;
68
69 virtual long __stdcall ConfigureIMEW(
70 HKL hKL,
71 HWND hWnd,
72 DWORD dwMode,
73 void *pData) = 0;
74
75 virtual long __stdcall CreateContext(
76 HIMC *phIMC) = 0;
77
78 virtual long __stdcall DestroyContext(
79 HIMC hIME) = 0;
80
81 virtual long __stdcall EnumRegisterWordA(
82 HKL hKL,
83 LPSTR szReading,
84 DWORD dwStyle,
85 LPSTR szRegister,
86 LPVOID pData,
87 void **pEnum) = 0;
88
89 virtual long __stdcall EnumRegisterWordW(
90 HKL hKL,
91 LPWSTR szReading,
92 DWORD dwStyle,
93 LPWSTR szRegister,
94 LPVOID pData,
95 void **pEnum) = 0;
96
97 virtual long __stdcall EscapeA(
98 HKL hKL,
99 HIMC hIMC,
100 UINT uEscape,
101 /* [out][in] */ LPVOID pData,
102 LRESULT *plResult) = 0;
103
104 virtual long __stdcall EscapeW(
105 HKL hKL,
106 HIMC hIMC,
107 UINT uEscape,
108 /* [out][in] */ LPVOID pData,
109 LRESULT *plResult) = 0;
110
111 virtual long __stdcall GetCandidateListA(
112 HIMC hIMC,
113 DWORD dwIndex,
114 UINT uBufLen,
115 void *pCandList,
116 UINT *puCopied) = 0;
117
118 virtual long __stdcall GetCandidateListW(
119 HIMC hIMC,
120 DWORD dwIndex,
121 UINT uBufLen,
122 void *pCandList,
123 UINT *puCopied) = 0;
124
125 virtual long __stdcall GetCandidateListCountA(
126 HIMC hIMC,
127 DWORD *pdwListSize,
128 DWORD *pdwBufLen) = 0;
129
130 virtual long __stdcall GetCandidateListCountW(
131 HIMC hIMC,
132 DWORD *pdwListSize,
133 DWORD *pdwBufLen) = 0;
134
135 virtual long __stdcall GetCandidateWindow(
136 HIMC hIMC,
137 DWORD dwIndex,
138 void *pCandidate) = 0;
139
140 virtual long __stdcall GetCompositionFontA(
141 HIMC hIMC,
142 LOGFONTA *plf) = 0;
143
144 virtual long __stdcall GetCompositionFontW(
145 HIMC hIMC,
146 LOGFONTW *plf) = 0;
147
148 virtual long __stdcall GetCompositionStringA(
149 HIMC hIMC,
150 DWORD dwIndex,
151 DWORD dwBufLen,
152 LONG *plCopied,
153 LPVOID pBuf) = 0;
154
155 virtual long __stdcall GetCompositionStringW(
156 HIMC hIMC,
157 DWORD dwIndex,
158 DWORD dwBufLen,
159 LONG *plCopied,
160 LPVOID pBuf) = 0;
161
162 virtual long __stdcall GetCompositionWindow(
163 HIMC hIMC,
164 void *pCompForm) = 0;
165
166 virtual long __stdcall GetContext(
167 HWND hWnd,
168 HIMC *phIMC) = 0;
169
170 virtual long __stdcall GetConversionListA(
171 HKL hKL,
172 HIMC hIMC,
173 LPSTR pSrc,
174 UINT uBufLen,
175 UINT uFlag,
176 void *pDst,
177 UINT *puCopied) = 0;
178
179 virtual long __stdcall GetConversionListW(
180 HKL hKL,
181 HIMC hIMC,
182 LPWSTR pSrc,
183 UINT uBufLen,
184 UINT uFlag,
185 void *pDst,
186 UINT *puCopied) = 0;
187
188 virtual long __stdcall GetConversionStatus(
189 HIMC hIMC,
190 DWORD *pfdwConversion,
191 DWORD *pfdwSentence) = 0;
192
193 virtual long __stdcall GetDefaultIMEWnd(
194 HWND hWnd,
195 HWND *phDefWnd) = 0;
196
197 virtual long __stdcall GetDescriptionA(
198 HKL hKL,
199 UINT uBufLen,
200 LPSTR szDescription,
201 UINT *puCopied) = 0;
202
203 virtual long __stdcall GetDescriptionW(
204 HKL hKL,
205 UINT uBufLen,
206 LPWSTR szDescription,
207 UINT *puCopied) = 0;
208
209 virtual long __stdcall GetGuideLineA(
210 HIMC hIMC,
211 DWORD dwIndex,
212 DWORD dwBufLen,
213 LPSTR pBuf,
214 DWORD *pdwResult) = 0;
215
216 virtual long __stdcall GetGuideLineW(
217 HIMC hIMC,
218 DWORD dwIndex,
219 DWORD dwBufLen,
220 LPWSTR pBuf,
221 DWORD *pdwResult) = 0;
222
223 virtual long __stdcall GetIMEFileNameA(
224 HKL hKL,
225 UINT uBufLen,
226 LPSTR szFileName,
227 UINT *puCopied) = 0;
228
229 virtual long __stdcall GetIMEFileNameW(
230 HKL hKL,
231 UINT uBufLen,
232 LPWSTR szFileName,
233 UINT *puCopied) = 0;
234
235 virtual long __stdcall GetOpenStatus(
236 HIMC hIMC) = 0;
237
238 virtual long __stdcall GetProperty(
239 HKL hKL,
240 DWORD fdwIndex,
241 DWORD *pdwProperty) = 0;
242
243 virtual long __stdcall GetRegisterWordStyleA(
244 HKL hKL,
245 UINT nItem,
246 STYLEBUFA *pStyleBuf,
247 UINT *puCopied) = 0;
248
249 virtual long __stdcall GetRegisterWordStyleW(
250 HKL hKL,
251 UINT nItem,
252 STYLEBUFW *pStyleBuf,
253 UINT *puCopied) = 0;
254
255 virtual long __stdcall GetStatusWindowPos(
256 HIMC hIMC,
257 POINT *pptPos) = 0;
258
259 virtual long __stdcall GetVirtualKey(
260 HWND hWnd,
261 UINT *puVirtualKey) = 0;
262
263 virtual long __stdcall InstallIMEA(
264 LPSTR szIMEFileName,
265 LPSTR szLayoutText,
266 HKL *phKL) = 0;
267
268 virtual long __stdcall InstallIMEW(
269 LPWSTR szIMEFileName,
270 LPWSTR szLayoutText,
271 HKL *phKL) = 0;
272
273 virtual long __stdcall IsIME(
274 HKL hKL) = 0;
275
276 virtual long __stdcall IsUIMessageA(
277 HWND hWndIME,
278 UINT msg,
279 WPARAM wParam,
280 LPARAM lParam) = 0;
281
282 virtual long __stdcall IsUIMessageW(
283 HWND hWndIME,
284 UINT msg,
285 WPARAM wParam,
286 LPARAM lParam) = 0;
287
288 virtual long __stdcall NotifyIME(
289 HIMC hIMC,
290 DWORD dwAction,
291 DWORD dwIndex,
292 DWORD dwValue) = 0;
293
294 virtual long __stdcall RegisterWordA(
295 HKL hKL,
296 LPSTR szReading,
297 DWORD dwStyle,
298 LPSTR szRegister) = 0;
299
300 virtual long __stdcall RegisterWordW(
301 HKL hKL,
302 LPWSTR szReading,
303 DWORD dwStyle,
304 LPWSTR szRegister) = 0;
305
306 virtual long __stdcall ReleaseContext(
307 HWND hWnd,
308 HIMC hIMC) = 0;
309
310 virtual long __stdcall SetCandidateWindow(
311 HIMC hIMC,
312 void *pCandidate) = 0;
313
314 virtual long __stdcall SetCompositionFontA(
315 HIMC hIMC,
316 LOGFONTA *plf) = 0;
317
318 virtual long __stdcall SetCompositionFontW(
319 HIMC hIMC,
320 LOGFONTW *plf) = 0;
321
322 virtual long __stdcall SetCompositionStringA(
323 HIMC hIMC,
324 DWORD dwIndex,
325 LPVOID pComp,
326 DWORD dwCompLen,
327 LPVOID pRead,
328 DWORD dwReadLen) = 0;
329
330 virtual long __stdcall SetCompositionStringW(
331 HIMC hIMC,
332 DWORD dwIndex,
333 LPVOID pComp,
334 DWORD dwCompLen,
335 LPVOID pRead,
336 DWORD dwReadLen) = 0;
337
338 virtual long __stdcall SetCompositionWindow(
339 HIMC hIMC,
340 void *pCompForm) = 0;
341
342 virtual long __stdcall SetConversionStatus(
343 HIMC hIMC,
344 DWORD fdwConversion,
345 DWORD fdwSentence) = 0;
346
347 virtual long __stdcall SetOpenStatus(
348 HIMC hIMC,
349 BOOL fOpen) = 0;
350
351 virtual long __stdcall SetStatusWindowPos(
352 HIMC hIMC,
353 POINT *pptPos) = 0;
354
355 virtual long __stdcall SimulateHotKey(
356 HWND hWnd,
357 DWORD dwHotKeyID) = 0;
358
359 virtual long __stdcall UnregisterWordA(
360 HKL hKL,
361 LPSTR szReading,
362 DWORD dwStyle,
363 LPSTR szUnregister) = 0;
364
365 virtual long __stdcall UnregisterWordW(
366 HKL hKL,
367 LPWSTR szReading,
368 DWORD dwStyle,
369 LPWSTR szUnregister) = 0;
370
371 virtual long __stdcall Activate(
372 BOOL fRestoreLayout) = 0;
373
374 virtual long __stdcall Deactivate( void) = 0;
375
376 virtual long __stdcall OnDefWindowProc(
377 HWND hWnd,
378 UINT Msg,
379 WPARAM wParam,
380 LPARAM lParam,
381 LRESULT *plResult) = 0;
382
383 virtual long __stdcall FilterClientWindows(
384 ATOM *aaClassList,
385 UINT uSize) = 0;
386
387 virtual long __stdcall GetCodePageA(
388 HKL hKL,
389 UINT *uCodePage) = 0;
390
391 virtual long __stdcall GetLangId(
392 HKL hKL,
393 WORD *plid) = 0;
394
395 virtual long __stdcall AssociateContextEx(
396 HWND hWnd,
397 HIMC hIMC,
398 DWORD dwFlags) = 0;
399
400 virtual long __stdcall DisableIME(
401 DWORD idThread) = 0;
402
403 virtual long __stdcall GetImeMenuItemsA(
404 HIMC hIMC,
405 DWORD dwFlags,
406 DWORD dwType,
407 void *pImeParentMenu,
408 void *pImeMenu,
409 DWORD dwSize,
410 DWORD *pdwResult) = 0;
411
412 virtual long __stdcall GetImeMenuItemsW(
413 HIMC hIMC,
414 DWORD dwFlags,
415 DWORD dwType,
416 void *pImeParentMenu,
417 void *pImeMenu,
418 DWORD dwSize,
419 DWORD *pdwResult) = 0;
420
421 virtual long __stdcall EnumInputContext(
422 DWORD idThread,
423 void **ppEnum) = 0;
424
425 };
426
427#endif
428
429//
430// End of "$Id: aimm.h 7913 2010-11-29 18:18:27Z greg.ercolano $".
431//