| /* | |
| * Copyright 2007 Jacek Caban for CodeWeavers | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| */ | |
| #ifndef DO_NO_IMPORTS | |
| import "unknwn.idl"; | |
| #endif | |
| cpp_quote("#include <imm.h>") | |
| cpp_quote("#if 0") | |
| typedef struct { | |
| LPSTR lpReading; | |
| LPSTR lpWord; | |
| } REGISTERWORDA; | |
| typedef struct { | |
| LPWSTR lpReading; | |
| LPWSTR lpWord; | |
| } REGISTERWORDW; | |
| #define LF_FACESIZE 32 | |
| typedef struct { | |
| LONG lfHeight; | |
| LONG lfWidth; | |
| LONG lfEscapement; | |
| LONG lfOrientation; | |
| LONG lfWeight; | |
| BYTE lfItalic; | |
| BYTE lfUnderline; | |
| BYTE lfStrikeOut; | |
| BYTE lfCharSet; | |
| BYTE lfOutPrecision; | |
| BYTE lfClipPrecision; | |
| BYTE lfQuality; | |
| BYTE lfPitchAndFamily; | |
| CHAR lfFaceName[LF_FACESIZE]; | |
| } LOGFONTA; | |
| typedef struct { | |
| LONG lfHeight; | |
| LONG lfWidth; | |
| LONG lfEscapement; | |
| LONG lfOrientation; | |
| LONG lfWeight; | |
| BYTE lfItalic; | |
| BYTE lfUnderline; | |
| BYTE lfStrikeOut; | |
| BYTE lfCharSet; | |
| BYTE lfOutPrecision; | |
| BYTE lfClipPrecision; | |
| BYTE lfQuality; | |
| BYTE lfPitchAndFamily; | |
| WCHAR lfFaceName[LF_FACESIZE]; | |
| } LOGFONTW; | |
| typedef DWORD HIMC; | |
| typedef DWORD HIMCC; | |
| typedef struct { | |
| DWORD dwIndex; | |
| DWORD dwStyle; | |
| POINT ptCurrentPos; | |
| RECT rcArea; | |
| } CANDIDATEFORM; | |
| typedef struct { | |
| DWORD dwStyle; | |
| POINT ptCurrentPos; | |
| RECT rcArea; | |
| } COMPOSITIONFORM; | |
| typedef struct { | |
| DWORD dwSize; | |
| DWORD dwStyle; | |
| DWORD dwCount; | |
| DWORD dwSelection; | |
| DWORD dwPageStart; | |
| DWORD dwPageSize; | |
| DWORD dwOffset[1]; | |
| } CANDIDATELIST; | |
| #define STYLE_DESCRIPTION_SIZE 32 | |
| typedef struct { | |
| DWORD dwStyle; | |
| CHAR szDescription[STYLE_DESCRIPTION_SIZE]; | |
| } STYLEBUFA; | |
| typedef struct { | |
| DWORD dwStyle; | |
| WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; | |
| } STYLEBUFW; | |
| typedef WORD ATOM; | |
| #define IMEMENUITEM_STRING_SIZE 80 | |
| typedef struct { | |
| UINT cbSize; | |
| UINT fType; | |
| UINT fState; | |
| UINT wID; | |
| HBITMAP hbmpChecked; | |
| HBITMAP hbmpUnchecked; | |
| DWORD dwItemData; | |
| CHAR szString[IMEMENUITEM_STRING_SIZE]; | |
| HBITMAP hbmpItem; | |
| } IMEMENUITEMINFOA; | |
| typedef struct { | |
| UINT cbSize; | |
| UINT fType; | |
| UINT fState; | |
| UINT wID; | |
| HBITMAP hbmpChecked; | |
| HBITMAP hbmpUnchecked; | |
| DWORD dwItemData; | |
| WCHAR szString[IMEMENUITEM_STRING_SIZE]; | |
| HBITMAP hbmpItem; | |
| } IMEMENUITEMINFOW; | |
| cpp_quote("#endif") | |
| [ | |
| object, | |
| uuid(08c03412-f96b-11d0-a475-00aa006bcc59), | |
| pointer_default(unique) | |
| ] | |
| interface IEnumRegisterWordA : IUnknown | |
| { | |
| HRESULT Clone( | |
| [out] IEnumRegisterWordA **ppEnum); | |
| HRESULT Next( | |
| [in] ULONG ulCount, | |
| [out] REGISTERWORDA *rgRegisterword, | |
| [out] ULONG *pcFetched); | |
| HRESULT Reset(); | |
| HRESULT Skip( | |
| [in] ULONG ulCount); | |
| } | |
| [ | |
| object, | |
| uuid(4955dd31-b159-11d0-8fcf-00aa006bcc59), | |
| pointer_default(unique) | |
| ] | |
| interface IEnumRegisterWordW : IUnknown | |
| { | |
| HRESULT Clone( | |
| [out] IEnumRegisterWordW **ppEnum); | |
| HRESULT Next( | |
| [in] ULONG ulCount, | |
| [out] REGISTERWORDW *rgRegisterword, | |
| [out] ULONG *pcFetched); | |
| HRESULT Reset(); | |
| HRESULT Skip( | |
| [in] ULONG ulCount); | |
| } | |
| [ | |
| object, | |
| uuid(09b5eab0-f997-11d1-93d4-0060b067b86e), | |
| pointer_default(unique), | |
| local | |
| ] | |
| interface IEnumInputContext : IUnknown | |
| { | |
| HRESULT Clone( | |
| [out] IEnumInputContext **ppEnum); | |
| HRESULT Next( | |
| [in] ULONG ulCount, | |
| [out] HIMC *rgInputContext, | |
| [out] ULONG *pcFetched); | |
| HRESULT Reset(); | |
| HRESULT Skip( | |
| [in] ULONG ulCount); | |
| } | |
| [ | |
| object, | |
| uuid(08c0e040-62d1-11d1-9326-0060b067b86e), | |
| pointer_default(unique), | |
| local | |
| ] | |
| interface IActiveIMMApp : IUnknown | |
| { | |
| HRESULT AssociateContext( | |
| [in] HWND hWnd, | |
| [in] HIMC hIME, | |
| [out] HIMC *phPrev); | |
| HRESULT ConfigureIMEA( | |
| [in] HKL hKL, | |
| [in] HWND hwnd, | |
| [in] DWORD dwMode, | |
| [in] REGISTERWORDA *pData); | |
| HRESULT ConfigureIMEW( | |
| [in] HKL hKL, | |
| [in] HWND hWnd, | |
| [in] DWORD dwMode, | |
| [in] REGISTERWORDW *pData); | |
| HRESULT CreateContext( | |
| [out] HIMC *phIMC); | |
| HRESULT DestroyContext( | |
| [in] HIMC hIME); | |
| HRESULT EnumRegisterWordA( | |
| [in] HKL hKL, | |
| [in] LPSTR szReading, | |
| [in] DWORD dwStyle, | |
| [in] LPSTR szRegister, | |
| [in] LPVOID pData, | |
| [out] IEnumRegisterWordA **pEnum); | |
| HRESULT EnumRegisterWordW( | |
| [in] HKL hKL, | |
| [in] LPWSTR szReading, | |
| [in] DWORD dwStyle, | |
| [in] LPWSTR szRegister, | |
| [in] LPVOID pData, | |
| [out] IEnumRegisterWordW **pEnum); | |
| HRESULT EscapeA( | |
| [in] HKL hKL, | |
| [in] HIMC hIMC, | |
| [in] UINT uEscape, | |
| [in, out] LPVOID pData, | |
| [out] LRESULT *plResult); | |
| HRESULT EscapeW( | |
| [in] HKL hKL, | |
| [in] HIMC hIMC, | |
| [in] UINT uEscape, | |
| [in, out] LPVOID pData, | |
| [out] LRESULT *plResult); | |
| HRESULT GetCandidateListA( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwIndex, | |
| [in] UINT uBufLen, | |
| [out] CANDIDATELIST *pCandList, | |
| [out] UINT *puCopied); | |
| HRESULT GetCandidateListW( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwIndex, | |
| [in] UINT uBufLen, | |
| [out] CANDIDATELIST *pCandList, | |
| [out] UINT *puCopied); | |
| HRESULT GetCandidateListCountA( | |
| [in] HIMC hIMC, | |
| [out] DWORD *pdwListSize, | |
| [out] DWORD *pdwBufLen); | |
| HRESULT GetCandidateListCountW( | |
| [in] HIMC hIMC, | |
| [out] DWORD *pdwListSize, | |
| [out] DWORD *pdwBufLen); | |
| HRESULT GetCandidateWindow( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwIndex, | |
| [out] CANDIDATEFORM *pCandidate); | |
| HRESULT GetCompositionFontA( | |
| [in] HIMC hIMC, | |
| [out] LOGFONTA *plf); | |
| HRESULT GetCompositionFontW( | |
| [in] HIMC hIMC, | |
| [out] LOGFONTW *plf); | |
| HRESULT GetCompositionStringA( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwIndex, | |
| [in] DWORD dwBufLen, | |
| [out] LONG *plCopied, | |
| [out] LPVOID pBuf); | |
| HRESULT GetCompositionStringW( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwIndex, | |
| [in] DWORD dwBufLen, | |
| [out] LONG *plCopied, | |
| [out] LPVOID pBuf); | |
| HRESULT GetCompositionWindow( | |
| [in] HIMC hIMC, | |
| [out] COMPOSITIONFORM *pCompForm); | |
| HRESULT GetContext( | |
| [in] HWND hwnd, | |
| [out] HIMC *phIMC); | |
| HRESULT GetConversionListA( | |
| [in] HKL hKL, | |
| [in] HIMC hIMC, | |
| [in] LPSTR pSrc, | |
| [in] UINT uBufLen, | |
| [in] UINT uFlag, | |
| [out] CANDIDATELIST *pDst, | |
| [out] UINT *puCopied); | |
| HRESULT GetConversionListW( | |
| [in] HKL hKL, | |
| [in] HIMC hIMC, | |
| [in] LPWSTR pSrc, | |
| [in] UINT uBufLen, | |
| [in] UINT uFlag, | |
| [out] CANDIDATELIST *pDst, | |
| [out] UINT *puCopied); | |
| HRESULT GetConversionStatus( | |
| [in] HIMC hIMC, | |
| [out] DWORD *pfdwConversion, | |
| [out] DWORD *pfdwSentence); | |
| HRESULT GetDefaultIMEWnd( | |
| [in] HWND hWnd, | |
| [out] HWND *phDefWnd); | |
| HRESULT GetDescriptionA( | |
| [in] HKL hKL, | |
| [in] UINT uBufLen, | |
| [out] LPSTR szDescription, | |
| [out] UINT *puCopied); | |
| HRESULT GetDescriptionW( | |
| [in] HKL hKL, | |
| [in] UINT uBufLen, | |
| [out] LPWSTR szDescription, | |
| [out] UINT *puCopied); | |
| HRESULT GetGuideLineA( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwIndex, | |
| [in] DWORD dwBufLen, | |
| [out] LPSTR pBuf, | |
| [out] DWORD *pdwResult); | |
| HRESULT GetGuideLineW( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwIndex, | |
| [in] DWORD dwBufLen, | |
| [out] LPWSTR pBuf, | |
| [out] DWORD *pdwResult); | |
| HRESULT GetIMEFileNameA( | |
| [in] HKL hKL, | |
| [in] UINT uBufLen, | |
| [out] LPSTR szFileName, | |
| [out] UINT *puCopied); | |
| HRESULT GetIMEFileNameW( | |
| [in] HKL hKL, | |
| [in] UINT uBufLen, | |
| [out] LPWSTR szFileName, | |
| [out] UINT *puCopied); | |
| HRESULT GetOpenStatus( | |
| [in] HIMC hIMC); | |
| HRESULT GetProperty( | |
| [in] HKL hKL, | |
| [in] DWORD fdwIndex, | |
| [out] DWORD *pdwProperty); | |
| HRESULT GetRegisterWordStyleA( | |
| [in] HKL hKL, | |
| [in] UINT nItem, | |
| [out] STYLEBUFA *pStyleBuf, | |
| [out] UINT *puCopied); | |
| HRESULT GetRegisterWordStyleW( | |
| [in] HKL hKL, | |
| [in] UINT nItem, | |
| [out] STYLEBUFW *pStyleBuf, | |
| [out] UINT *puCopied); | |
| HRESULT GetStatusWindowPos( | |
| [in] HIMC hIMC, | |
| [out] POINT *pptPos); | |
| HRESULT GetVirtualKey( | |
| [in] HWND hWnd, | |
| [out] UINT *puVirtualKey); | |
| HRESULT InstallIMEA( | |
| [in] LPSTR szIMEFileName, | |
| [in] LPSTR szLayoutText, | |
| [out] HKL *phKL); | |
| HRESULT InstallIMEW( | |
| [in] LPWSTR szIMEFileName, | |
| [in] LPWSTR szLayoutText, | |
| [out] HKL *phKL); | |
| HRESULT IsIME( | |
| [in] HKL hKL); | |
| HRESULT IsUIMessageA( | |
| [in] HWND hWndIME, | |
| [in] UINT msg, | |
| [in] WPARAM wParam, | |
| [in] LPARAM lParam); | |
| HRESULT IsUIMessageW( | |
| [in] HWND hWndIME, | |
| [in] UINT msg, | |
| [in] WPARAM wParam, | |
| [in] LPARAM lParam); | |
| HRESULT NotifyIME( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwAction, | |
| [in] DWORD dwIndex, | |
| [in] DWORD dwValue); | |
| HRESULT RegisterWordA( | |
| [in] HKL hKL, | |
| [in] LPSTR szReading, | |
| [in] DWORD dwStyle, | |
| [in] LPSTR szRegister); | |
| HRESULT RegisterWordW( | |
| [in] HKL hKL, | |
| [in] LPWSTR szReading, | |
| [in] DWORD dwStyle, | |
| [in] LPWSTR szRegister); | |
| HRESULT ReleaseContext( | |
| [in] HWND hWnd, | |
| [in] HIMC hIMC); | |
| HRESULT SetCandidateWindow( | |
| [in] HIMC hIMC, | |
| [in] CANDIDATEFORM *pCandidate); | |
| HRESULT SetCompositionFontA( | |
| [in] HIMC hIMC, | |
| [in] LOGFONTA *plf); | |
| HRESULT SetCompositionFontW( | |
| [in] HIMC hIMC, | |
| [in] LOGFONTW *plf); | |
| HRESULT SetCompositionStringA( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwIndex, | |
| [in] LPVOID pComp, | |
| [in] DWORD dwCompLen, | |
| [in] LPVOID pRead, | |
| [in] DWORD dwReadLen); | |
| HRESULT SetCompositionStringW( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwIndex, | |
| [in] LPVOID pComp, | |
| [in] DWORD dwCompLen, | |
| [in] LPVOID pRead, | |
| [in] DWORD dwReadLen); | |
| HRESULT SetCompositionWindow( | |
| [in] HIMC hIMC, | |
| [in] COMPOSITIONFORM *pCompForm); | |
| HRESULT SetConversionStatus( | |
| [in] HIMC hIMC, | |
| [in] DWORD fdwConversion, | |
| [in] DWORD fdwSentence); | |
| HRESULT SetOpenStatus( | |
| [in] HIMC hIMC, | |
| [in] BOOL fOpen); | |
| HRESULT SetStatusWindowPos( | |
| [in] HIMC hIMC, | |
| [in] POINT *pptPos); | |
| HRESULT SimulateHotKey( | |
| [in] HWND hwnd, | |
| [in] DWORD dwHotKeyID); | |
| HRESULT UnregisterWordA( | |
| [in] HKL hKL, | |
| [in] LPSTR szReading, | |
| [in] DWORD dwStyle, | |
| [in] LPSTR szUnregister); | |
| HRESULT UnregisterWordW( | |
| [in] HKL hKL, | |
| [in] LPWSTR szReading, | |
| [in] DWORD dwStyle, | |
| [in] LPWSTR szUnregister); | |
| HRESULT Activate( | |
| [in] BOOL fRestoreLayout); | |
| HRESULT Deactivate(); | |
| HRESULT OnDefWindowProc( | |
| [in] HWND hWnd, | |
| [in] UINT Msg, | |
| [in] WPARAM wParam, | |
| [in] LPARAM lParam, | |
| [out] LRESULT *plResult); | |
| HRESULT FilterClientWindows( | |
| [in] ATOM *aaClassList, | |
| [in] UINT uSize); | |
| HRESULT GetCodePageA( | |
| [in] HKL hKL, | |
| [out] UINT *uCodePage); | |
| HRESULT GetLangId( | |
| [in] HKL hKL, | |
| [out] LANGID *plid); | |
| HRESULT AssociateContextEx( | |
| [in] HWND hWnd, | |
| [in] HIMC hIMC, | |
| [in] DWORD dwFlags); | |
| HRESULT DisableIME( | |
| [in] DWORD idThread); | |
| HRESULT GetImeMenuItemsA( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwFlags, | |
| [in] DWORD dwType, | |
| [in] IMEMENUITEMINFOA *pImeParentMenu, | |
| [out] IMEMENUITEMINFOA *pImeMenu, | |
| [in] DWORD dwSize, | |
| [out] DWORD *pdwResult); | |
| HRESULT GetImeMenuItemsW( | |
| [in] HIMC hIMC, | |
| [in] DWORD dwFlags, | |
| [in] DWORD dwType, | |
| [in] IMEMENUITEMINFOW *pImeParentMenu, | |
| [out] IMEMENUITEMINFOW *pImeMenu, | |
| [in] DWORD dwSize, | |
| [out] DWORD *pdwResult); | |
| HRESULT EnumInputContext( | |
| [in] DWORD idThread, | |
| [out] IEnumInputContext **ppEnum); | |
| } | |
| [ | |
| uuid(4955dd33-b159-11d0-8fcf-00aa006bcc59) | |
| ] | |
| coclass CActiveIMM | |
| { | |
| [default] interface IActiveIMMApp; | |
| /* interface IActiveIMMIME; */ | |
| /* interface IActiveIMMRegistrar; */ | |
| /* interface IActiveIMMMessagePumpOwner; */ | |
| } |