1 //
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
33 const GUID IID_IActiveIMMApp = { 0x8c0e040, 0x62d1, 0x11d1, {0x93, 0x26, 0x00, 0x60, 0xb0, 0x67, 0xb8, 0x6e}};
34 const 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 
49 extern "C" __declspec(dllimport) long __stdcall CoInitialize(void far *pvReserved);
50 extern "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 //
432