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