FLTK 1.3.0
aimm.h
00001 //
00002 // "$Id$"
00003 //
00004 // Standard dialog header file for the UTF-8 Fast Light Tool Kit (FLTK-UTF8).
00005 //
00006 // Copyright 2009-2010 by Bill Spitzak and others.
00007 //
00008 // This library is free software; you can redistribute it and/or
00009 // modify it under the terms of the GNU Library General Public
00010 // License as published by the Free Software Foundation; either
00011 // version 2 of the License, or (at your option) any later version
00012 // with exceptions that allow sub-classing and static linking in
00013 // non-LGPL compliant software. These exceptions are subject to
00014 // conditions, see the FLTK License for more details.
00015 //
00016 // This library is distributed in the hope that it will be useful,
00017 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the FLTK
00019 // License for more details.
00020 //
00021 // You should have received a copy of the FLTK License along with
00022 // this library; if not, write to  OksiD Software, Jean-Marc Lienher,
00023 // Rue de la Cheminee 1, CH-2065 Savagnier, Switzerland.
00024 //
00025 // Please report all bugs and problems to "oksid@bluewin.ch".
00026 //
00027 
00028 #ifndef AIMM_H
00029 #  define AIMM_H
00030 //#  define HANDLE_PTR HANDLE* 
00031 //#  define DWORD_PTR DWORD*
00032 //#  define CLSCTX_INPROC_SERVER 0x1
00033 const GUID IID_IActiveIMMApp = { 0x8c0e040, 0x62d1, 0x11d1, {0x93, 0x26, 0x00, 0x60, 0xb0, 0x67, 0xb8, 0x6e}};
00034 const GUID CLSID_CActiveIMM = { 0x4955dd33, 0xb159, 0x11d0, {0x8f, 0xcf, 0x00, 0xaa, 0x00, 0x6b, 0xcc, 0x59}};
00035 /*
00036         class IUnknown
00037     {
00038     public:
00039         
00040         virtual long __stdcall QueryInterface( 
00041             const GUID & riid,
00042             void **ppvObject) = 0;
00043         
00044         virtual ULONG __stdcall AddRef( void) = 0;
00045         
00046         virtual ULONG __stdcall Release( void) = 0;
00047     };
00048 
00049 extern "C" __declspec(dllimport) long __stdcall CoInitialize(void far *pvReserved);
00050 extern "C" __declspec(dllimport) long __stdcall CoCreateInstance(const GUID & rclsid, IUnknown * pUnkOuter,
00051                     DWORD dwClsContext, const GUID & riid, LPVOID FAR* ppv);
00052 
00053 */
00054 
00055     class IActiveIMMApp : public IUnknown
00056     {
00057     public:
00058         virtual long __stdcall AssociateContext( 
00059              HWND hWnd,
00060              HIMC hIME,
00061              HIMC  *phPrev) = 0;
00062         
00063         virtual long __stdcall ConfigureIMEA( 
00064              HKL hKL,
00065              HWND hWnd,
00066              DWORD dwMode,
00067              void  *pData) = 0;
00068         
00069         virtual long __stdcall ConfigureIMEW( 
00070              HKL hKL,
00071              HWND hWnd,
00072              DWORD dwMode,
00073              void  *pData) = 0;
00074         
00075         virtual long __stdcall CreateContext( 
00076              HIMC  *phIMC) = 0;
00077         
00078         virtual long __stdcall DestroyContext( 
00079              HIMC hIME) = 0;
00080         
00081         virtual long __stdcall EnumRegisterWordA( 
00082              HKL hKL,
00083              LPSTR szReading,
00084              DWORD dwStyle,
00085              LPSTR szRegister,
00086              LPVOID pData,
00087              void  **pEnum) = 0;
00088         
00089         virtual long __stdcall EnumRegisterWordW( 
00090              HKL hKL,
00091              LPWSTR szReading,
00092              DWORD dwStyle,
00093              LPWSTR szRegister,
00094              LPVOID pData,
00095              void  **pEnum) = 0;
00096         
00097         virtual long __stdcall EscapeA( 
00098              HKL hKL,
00099              HIMC hIMC,
00100              UINT uEscape,
00101             /* [out][in] */ LPVOID pData,
00102              LRESULT  *plResult) = 0;
00103         
00104         virtual long __stdcall EscapeW( 
00105              HKL hKL,
00106              HIMC hIMC,
00107              UINT uEscape,
00108             /* [out][in] */ LPVOID pData,
00109              LRESULT  *plResult) = 0;
00110         
00111         virtual long __stdcall GetCandidateListA( 
00112              HIMC hIMC,
00113              DWORD dwIndex,
00114              UINT uBufLen,
00115              void  *pCandList,
00116              UINT  *puCopied) = 0;
00117         
00118         virtual long __stdcall GetCandidateListW( 
00119              HIMC hIMC,
00120              DWORD dwIndex,
00121              UINT uBufLen,
00122              void  *pCandList,
00123              UINT  *puCopied) = 0;
00124         
00125         virtual long __stdcall GetCandidateListCountA( 
00126              HIMC hIMC,
00127              DWORD  *pdwListSize,
00128              DWORD  *pdwBufLen) = 0;
00129         
00130         virtual long __stdcall GetCandidateListCountW( 
00131              HIMC hIMC,
00132              DWORD  *pdwListSize,
00133              DWORD  *pdwBufLen) = 0;
00134         
00135         virtual long __stdcall GetCandidateWindow( 
00136              HIMC hIMC,
00137              DWORD dwIndex,
00138              void  *pCandidate) = 0;
00139         
00140         virtual long __stdcall GetCompositionFontA( 
00141              HIMC hIMC,
00142              LOGFONTA  *plf) = 0;
00143         
00144         virtual long __stdcall GetCompositionFontW( 
00145              HIMC hIMC,
00146              LOGFONTW  *plf) = 0;
00147         
00148         virtual long __stdcall GetCompositionStringA( 
00149              HIMC hIMC,
00150              DWORD dwIndex,
00151              DWORD dwBufLen,
00152              LONG  *plCopied,
00153              LPVOID pBuf) = 0;
00154         
00155         virtual long __stdcall GetCompositionStringW( 
00156              HIMC hIMC,
00157              DWORD dwIndex,
00158              DWORD dwBufLen,
00159              LONG  *plCopied,
00160              LPVOID pBuf) = 0;
00161         
00162         virtual long __stdcall GetCompositionWindow( 
00163              HIMC hIMC,
00164              void  *pCompForm) = 0;
00165         
00166         virtual long __stdcall GetContext( 
00167              HWND hWnd,
00168              HIMC  *phIMC) = 0;
00169         
00170         virtual long __stdcall GetConversionListA( 
00171              HKL hKL,
00172              HIMC hIMC,
00173              LPSTR pSrc,
00174              UINT uBufLen,
00175              UINT uFlag,
00176              void  *pDst,
00177              UINT  *puCopied) = 0;
00178         
00179         virtual long __stdcall GetConversionListW( 
00180              HKL hKL,
00181              HIMC hIMC,
00182              LPWSTR pSrc,
00183              UINT uBufLen,
00184              UINT uFlag,
00185              void  *pDst,
00186              UINT  *puCopied) = 0;
00187         
00188         virtual long __stdcall GetConversionStatus( 
00189              HIMC hIMC,
00190              DWORD  *pfdwConversion,
00191              DWORD  *pfdwSentence) = 0;
00192         
00193         virtual long __stdcall GetDefaultIMEWnd( 
00194              HWND hWnd,
00195              HWND  *phDefWnd) = 0;
00196         
00197         virtual long __stdcall GetDescriptionA( 
00198              HKL hKL,
00199              UINT uBufLen,
00200              LPSTR szDescription,
00201              UINT  *puCopied) = 0;
00202         
00203         virtual long __stdcall GetDescriptionW( 
00204              HKL hKL,
00205              UINT uBufLen,
00206              LPWSTR szDescription,
00207              UINT  *puCopied) = 0;
00208         
00209         virtual long __stdcall GetGuideLineA( 
00210              HIMC hIMC,
00211              DWORD dwIndex,
00212              DWORD dwBufLen,
00213              LPSTR pBuf,
00214              DWORD  *pdwResult) = 0;
00215         
00216         virtual long __stdcall GetGuideLineW( 
00217              HIMC hIMC,
00218              DWORD dwIndex,
00219              DWORD dwBufLen,
00220              LPWSTR pBuf,
00221              DWORD  *pdwResult) = 0;
00222         
00223         virtual long __stdcall GetIMEFileNameA( 
00224              HKL hKL,
00225              UINT uBufLen,
00226              LPSTR szFileName,
00227              UINT  *puCopied) = 0;
00228         
00229         virtual long __stdcall GetIMEFileNameW( 
00230              HKL hKL,
00231              UINT uBufLen,
00232              LPWSTR szFileName,
00233              UINT  *puCopied) = 0;
00234         
00235         virtual long __stdcall GetOpenStatus( 
00236              HIMC hIMC) = 0;
00237         
00238         virtual long __stdcall GetProperty( 
00239              HKL hKL,
00240              DWORD fdwIndex,
00241              DWORD  *pdwProperty) = 0;
00242         
00243         virtual long __stdcall GetRegisterWordStyleA( 
00244              HKL hKL,
00245              UINT nItem,
00246              STYLEBUFA  *pStyleBuf,
00247              UINT  *puCopied) = 0;
00248         
00249         virtual long __stdcall GetRegisterWordStyleW( 
00250              HKL hKL,
00251              UINT nItem,
00252              STYLEBUFW  *pStyleBuf,
00253              UINT  *puCopied) = 0;
00254         
00255         virtual long __stdcall GetStatusWindowPos( 
00256              HIMC hIMC,
00257              POINT  *pptPos) = 0;
00258         
00259         virtual long __stdcall GetVirtualKey( 
00260              HWND hWnd,
00261              UINT  *puVirtualKey) = 0;
00262         
00263         virtual long __stdcall InstallIMEA( 
00264              LPSTR szIMEFileName,
00265              LPSTR szLayoutText,
00266              HKL  *phKL) = 0;
00267         
00268         virtual long __stdcall InstallIMEW( 
00269              LPWSTR szIMEFileName,
00270              LPWSTR szLayoutText,
00271              HKL  *phKL) = 0;
00272         
00273         virtual long __stdcall IsIME( 
00274              HKL hKL) = 0;
00275         
00276         virtual long __stdcall IsUIMessageA( 
00277              HWND hWndIME,
00278              UINT msg,
00279              WPARAM wParam,
00280              LPARAM lParam) = 0;
00281         
00282         virtual long __stdcall IsUIMessageW( 
00283              HWND hWndIME,
00284              UINT msg,
00285              WPARAM wParam,
00286              LPARAM lParam) = 0;
00287         
00288         virtual long __stdcall NotifyIME( 
00289              HIMC hIMC,
00290              DWORD dwAction,
00291              DWORD dwIndex,
00292              DWORD dwValue) = 0;
00293         
00294         virtual long __stdcall RegisterWordA( 
00295              HKL hKL,
00296              LPSTR szReading,
00297              DWORD dwStyle,
00298              LPSTR szRegister) = 0;
00299         
00300         virtual long __stdcall RegisterWordW( 
00301              HKL hKL,
00302              LPWSTR szReading,
00303              DWORD dwStyle,
00304              LPWSTR szRegister) = 0;
00305         
00306         virtual long __stdcall ReleaseContext( 
00307              HWND hWnd,
00308              HIMC hIMC) = 0;
00309         
00310         virtual long __stdcall SetCandidateWindow( 
00311              HIMC hIMC,
00312              void  *pCandidate) = 0;
00313         
00314         virtual long __stdcall SetCompositionFontA( 
00315              HIMC hIMC,
00316              LOGFONTA  *plf) = 0;
00317         
00318         virtual long __stdcall SetCompositionFontW( 
00319              HIMC hIMC,
00320              LOGFONTW  *plf) = 0;
00321         
00322         virtual long __stdcall SetCompositionStringA( 
00323              HIMC hIMC,
00324              DWORD dwIndex,
00325              LPVOID pComp,
00326              DWORD dwCompLen,
00327              LPVOID pRead,
00328              DWORD dwReadLen) = 0;
00329         
00330         virtual long __stdcall SetCompositionStringW( 
00331              HIMC hIMC,
00332              DWORD dwIndex,
00333              LPVOID pComp,
00334              DWORD dwCompLen,
00335              LPVOID pRead,
00336              DWORD dwReadLen) = 0;
00337         
00338         virtual long __stdcall SetCompositionWindow( 
00339              HIMC hIMC,
00340              void  *pCompForm) = 0;
00341         
00342         virtual long __stdcall SetConversionStatus( 
00343              HIMC hIMC,
00344              DWORD fdwConversion,
00345              DWORD fdwSentence) = 0;
00346         
00347         virtual long __stdcall SetOpenStatus( 
00348              HIMC hIMC,
00349              BOOL fOpen) = 0;
00350         
00351         virtual long __stdcall SetStatusWindowPos( 
00352              HIMC hIMC,
00353              POINT  *pptPos) = 0;
00354         
00355         virtual long __stdcall SimulateHotKey( 
00356              HWND hWnd,
00357              DWORD dwHotKeyID) = 0;
00358         
00359         virtual long __stdcall UnregisterWordA( 
00360              HKL hKL,
00361              LPSTR szReading,
00362              DWORD dwStyle,
00363              LPSTR szUnregister) = 0;
00364         
00365         virtual long __stdcall UnregisterWordW( 
00366              HKL hKL,
00367              LPWSTR szReading,
00368              DWORD dwStyle,
00369              LPWSTR szUnregister) = 0;
00370         
00371         virtual long __stdcall Activate( 
00372              BOOL fRestoreLayout) = 0;
00373         
00374         virtual long __stdcall Deactivate( void) = 0;
00375         
00376         virtual long __stdcall OnDefWindowProc( 
00377              HWND hWnd,
00378              UINT Msg,
00379              WPARAM wParam,
00380              LPARAM lParam,
00381              LRESULT  *plResult) = 0;
00382         
00383         virtual long __stdcall FilterClientWindows( 
00384              ATOM  *aaClassList,
00385              UINT uSize) = 0;
00386         
00387         virtual long __stdcall GetCodePageA( 
00388              HKL hKL,
00389              UINT  *uCodePage) = 0;
00390         
00391         virtual long __stdcall GetLangId( 
00392              HKL hKL,
00393              WORD  *plid) = 0;
00394         
00395         virtual long __stdcall AssociateContextEx( 
00396              HWND hWnd,
00397              HIMC hIMC,
00398              DWORD dwFlags) = 0;
00399         
00400         virtual long __stdcall DisableIME( 
00401              DWORD idThread) = 0;
00402         
00403         virtual long __stdcall GetImeMenuItemsA( 
00404              HIMC hIMC,
00405              DWORD dwFlags,
00406              DWORD dwType,
00407              void  *pImeParentMenu,
00408              void  *pImeMenu,
00409              DWORD dwSize,
00410              DWORD  *pdwResult) = 0;
00411         
00412         virtual long __stdcall GetImeMenuItemsW( 
00413              HIMC hIMC,
00414              DWORD dwFlags,
00415              DWORD dwType,
00416              void  *pImeParentMenu,
00417             void  *pImeMenu,
00418              DWORD dwSize,
00419              DWORD  *pdwResult) = 0;
00420         
00421         virtual long __stdcall EnumInputContext( 
00422              DWORD idThread,
00423              void  **ppEnum) = 0;
00424         
00425     };
00426 
00427 #endif
00428 
00429 //
00430 // End of "$Id$".
00431 //