/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is * Netscape Communications Corporation. * Portions created by the Initial Developer are Copyright (C) 1998 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ /* This file contains the interface definitation of the Active IMM. Please do not change it since the interface have already been fixed. */ #ifndef __AIMM_DEFINED__ #define __AIMM_DEFINED__ #include #include #if defined(__cplusplus) && !defined(CINTERFACE) interface IEnumRegisterWordA; interface IEnumRegisterWordW; interface IEnumInputContext; struct NS_IMEMENUITEMINFOA; struct NS_IMEMENUITEMINFOW; interface IActiveIMMApp : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE AssociateContext( /* [in] */ HWND hWnd, /* [in] */ HIMC hIME, /* [out] */ HIMC __RPC_FAR *phPrev) = 0; virtual HRESULT STDMETHODCALLTYPE ConfigureIMEA( /* [in] */ HKL hKL, /* [in] */ HWND hWnd, /* [in] */ DWORD dwMode, /* [in] */ REGISTERWORDA __RPC_FAR *pData) = 0; virtual HRESULT STDMETHODCALLTYPE ConfigureIMEW( /* [in] */ HKL hKL, /* [in] */ HWND hWnd, /* [in] */ DWORD dwMode, /* [in] */ REGISTERWORDW __RPC_FAR *pData) = 0; virtual HRESULT STDMETHODCALLTYPE CreateContext( /* [out] */ HIMC __RPC_FAR *phIMC) = 0; virtual HRESULT STDMETHODCALLTYPE DestroyContext( /* [in] */ HIMC hIME) = 0; virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordA( /* [in] */ HKL hKL, /* [in] */ LPSTR szReading, /* [in] */ DWORD dwStyle, /* [in] */ LPSTR szRegister, /* [in] */ LPVOID pData, /* [out] */ IEnumRegisterWordA __RPC_FAR *__RPC_FAR *pEnum) = 0; virtual HRESULT STDMETHODCALLTYPE EnumRegisterWordW( /* [in] */ HKL hKL, /* [in] */ LPWSTR szReading, /* [in] */ DWORD dwStyle, /* [in] */ LPWSTR szRegister, /* [in] */ LPVOID pData, /* [out] */ IEnumRegisterWordW __RPC_FAR *__RPC_FAR *pEnum) = 0; virtual HRESULT STDMETHODCALLTYPE EscapeA( /* [in] */ HKL hKL, /* [in] */ HIMC hIMC, /* [in] */ UINT uEscape, /* [out][in] */ LPVOID pData, /* [out] */ LRESULT __RPC_FAR *plResult) = 0; virtual HRESULT STDMETHODCALLTYPE EscapeW( /* [in] */ HKL hKL, /* [in] */ HIMC hIMC, /* [in] */ UINT uEscape, /* [out][in] */ LPVOID pData, /* [out] */ LRESULT __RPC_FAR *plResult) = 0; virtual HRESULT STDMETHODCALLTYPE GetCandidateListA( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwIndex, /* [in] */ UINT uBufLen, /* [out] */ CANDIDATELIST __RPC_FAR *pCandList, /* [out] */ UINT __RPC_FAR *puCopied) = 0; virtual HRESULT STDMETHODCALLTYPE GetCandidateListW( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwIndex, /* [in] */ UINT uBufLen, /* [out] */ CANDIDATELIST __RPC_FAR *pCandList, /* [out] */ UINT __RPC_FAR *puCopied) = 0; virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountA( /* [in] */ HIMC hIMC, /* [out] */ DWORD __RPC_FAR *pdwListSize, /* [out] */ DWORD __RPC_FAR *pdwBufLen) = 0; virtual HRESULT STDMETHODCALLTYPE GetCandidateListCountW( /* [in] */ HIMC hIMC, /* [out] */ DWORD __RPC_FAR *pdwListSize, /* [out] */ DWORD __RPC_FAR *pdwBufLen) = 0; virtual HRESULT STDMETHODCALLTYPE GetCandidateWindow( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwIndex, /* [out] */ CANDIDATEFORM __RPC_FAR *pCandidate) = 0; virtual HRESULT STDMETHODCALLTYPE GetCompositionFontA( /* [in] */ HIMC hIMC, /* [out] */ LOGFONTA __RPC_FAR *plf) = 0; virtual HRESULT STDMETHODCALLTYPE GetCompositionFontW( /* [in] */ HIMC hIMC, /* [out] */ LOGFONTW __RPC_FAR *plf) = 0; virtual HRESULT STDMETHODCALLTYPE GetCompositionStringA( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwIndex, /* [in] */ DWORD dwBufLen, /* [out] */ LONG __RPC_FAR *plCopied, /* [out] */ LPVOID pBuf) = 0; virtual HRESULT STDMETHODCALLTYPE GetCompositionStringW( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwIndex, /* [in] */ DWORD dwBufLen, /* [out] */ LONG __RPC_FAR *plCopied, /* [out] */ LPVOID pBuf) = 0; virtual HRESULT STDMETHODCALLTYPE GetCompositionWindow( /* [in] */ HIMC hIMC, /* [out] */ COMPOSITIONFORM __RPC_FAR *pCompForm) = 0; virtual HRESULT STDMETHODCALLTYPE GetContext( /* [in] */ HWND hWnd, /* [out] */ HIMC __RPC_FAR *phIMC) = 0; virtual HRESULT STDMETHODCALLTYPE GetConversionListA( /* [in] */ HKL hKL, /* [in] */ HIMC hIMC, /* [in] */ LPSTR pSrc, /* [in] */ UINT uBufLen, /* [in] */ UINT uFlag, /* [out] */ CANDIDATELIST __RPC_FAR *pDst, /* [out] */ UINT __RPC_FAR *puCopied) = 0; virtual HRESULT STDMETHODCALLTYPE GetConversionListW( /* [in] */ HKL hKL, /* [in] */ HIMC hIMC, /* [in] */ LPWSTR pSrc, /* [in] */ UINT uBufLen, /* [in] */ UINT uFlag, /* [out] */ CANDIDATELIST __RPC_FAR *pDst, /* [out] */ UINT __RPC_FAR *puCopied) = 0; virtual HRESULT STDMETHODCALLTYPE GetConversionStatus( /* [in] */ HIMC hIMC, /* [out] */ DWORD __RPC_FAR *pfdwConversion, /* [out] */ DWORD __RPC_FAR *pfdwSentence) = 0; virtual HRESULT STDMETHODCALLTYPE GetDefaultIMEWnd( /* [in] */ HWND hWnd, /* [out] */ HWND __RPC_FAR *phDefWnd) = 0; virtual HRESULT STDMETHODCALLTYPE GetDescriptionA( /* [in] */ HKL hKL, /* [in] */ UINT uBufLen, /* [out] */ LPSTR szDescription, /* [out] */ UINT __RPC_FAR *puCopied) = 0; virtual HRESULT STDMETHODCALLTYPE GetDescriptionW( /* [in] */ HKL hKL, /* [in] */ UINT uBufLen, /* [out] */ LPWSTR szDescription, /* [out] */ UINT __RPC_FAR *puCopied) = 0; virtual HRESULT STDMETHODCALLTYPE GetGuideLineA( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwIndex, /* [in] */ DWORD dwBufLen, /* [out] */ LPSTR pBuf, /* [out] */ DWORD __RPC_FAR *pdwResult) = 0; virtual HRESULT STDMETHODCALLTYPE GetGuideLineW( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwIndex, /* [in] */ DWORD dwBufLen, /* [out] */ LPWSTR pBuf, /* [out] */ DWORD __RPC_FAR *pdwResult) = 0; virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameA( /* [in] */ HKL hKL, /* [in] */ UINT uBufLen, /* [out] */ LPSTR szFileName, /* [out] */ UINT __RPC_FAR *puCopied) = 0; virtual HRESULT STDMETHODCALLTYPE GetIMEFileNameW( /* [in] */ HKL hKL, /* [in] */ UINT uBufLen, /* [out] */ LPWSTR szFileName, /* [out] */ UINT __RPC_FAR *puCopied) = 0; virtual HRESULT STDMETHODCALLTYPE GetOpenStatus( /* [in] */ HIMC hIMC) = 0; virtual HRESULT STDMETHODCALLTYPE GetProperty( /* [in] */ HKL hKL, /* [in] */ DWORD fdwIndex, /* [out] */ DWORD __RPC_FAR *pdwProperty) = 0; virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleA( /* [in] */ HKL hKL, /* [in] */ UINT nItem, /* [out] */ STYLEBUFA __RPC_FAR *pStyleBuf, /* [out] */ UINT __RPC_FAR *puCopied) = 0; virtual HRESULT STDMETHODCALLTYPE GetRegisterWordStyleW( /* [in] */ HKL hKL, /* [in] */ UINT nItem, /* [out] */ STYLEBUFW __RPC_FAR *pStyleBuf, /* [out] */ UINT __RPC_FAR *puCopied) = 0; virtual HRESULT STDMETHODCALLTYPE GetStatusWindowPos( /* [in] */ HIMC hIMC, /* [out] */ POINT __RPC_FAR *pptPos) = 0; virtual HRESULT STDMETHODCALLTYPE GetVirtualKey( /* [in] */ HWND hWnd, /* [out] */ UINT __RPC_FAR *puVirtualKey) = 0; virtual HRESULT STDMETHODCALLTYPE InstallIMEA( /* [in] */ LPSTR szIMEFileName, /* [in] */ LPSTR szLayoutText, /* [out] */ HKL __RPC_FAR *phKL) = 0; virtual HRESULT STDMETHODCALLTYPE InstallIMEW( /* [in] */ LPWSTR szIMEFileName, /* [in] */ LPWSTR szLayoutText, /* [out] */ HKL __RPC_FAR *phKL) = 0; virtual HRESULT STDMETHODCALLTYPE IsIME( /* [in] */ HKL hKL) = 0; virtual HRESULT STDMETHODCALLTYPE IsUIMessageA( /* [in] */ HWND hWndIME, /* [in] */ UINT msg, /* [in] */ WPARAM wParam, /* [in] */ LPARAM lParam) = 0; virtual HRESULT STDMETHODCALLTYPE IsUIMessageW( /* [in] */ HWND hWndIME, /* [in] */ UINT msg, /* [in] */ WPARAM wParam, /* [in] */ LPARAM lParam) = 0; virtual HRESULT STDMETHODCALLTYPE NotifyIME( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwAction, /* [in] */ DWORD dwIndex, /* [in] */ DWORD dwValue) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterWordA( /* [in] */ HKL hKL, /* [in] */ LPSTR szReading, /* [in] */ DWORD dwStyle, /* [in] */ LPSTR szRegister) = 0; virtual HRESULT STDMETHODCALLTYPE RegisterWordW( /* [in] */ HKL hKL, /* [in] */ LPWSTR szReading, /* [in] */ DWORD dwStyle, /* [in] */ LPWSTR szRegister) = 0; virtual HRESULT STDMETHODCALLTYPE ReleaseContext( /* [in] */ HWND hWnd, /* [in] */ HIMC hIMC) = 0; virtual HRESULT STDMETHODCALLTYPE SetCandidateWindow( /* [in] */ HIMC hIMC, /* [in] */ CANDIDATEFORM __RPC_FAR *pCandidate) = 0; virtual HRESULT STDMETHODCALLTYPE SetCompositionFontA( /* [in] */ HIMC hIMC, /* [in] */ LOGFONTA __RPC_FAR *plf) = 0; virtual HRESULT STDMETHODCALLTYPE SetCompositionFontW( /* [in] */ HIMC hIMC, /* [in] */ LOGFONTW __RPC_FAR *plf) = 0; virtual HRESULT STDMETHODCALLTYPE SetCompositionStringA( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwIndex, /* [in] */ LPVOID pComp, /* [in] */ DWORD dwCompLen, /* [in] */ LPVOID pRead, /* [in] */ DWORD dwReadLen) = 0; virtual HRESULT STDMETHODCALLTYPE SetCompositionStringW( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwIndex, /* [in] */ LPVOID pComp, /* [in] */ DWORD dwCompLen, /* [in] */ LPVOID pRead, /* [in] */ DWORD dwReadLen) = 0; virtual HRESULT STDMETHODCALLTYPE SetCompositionWindow( /* [in] */ HIMC hIMC, /* [in] */ COMPOSITIONFORM __RPC_FAR *pCompForm) = 0; virtual HRESULT STDMETHODCALLTYPE SetConversionStatus( /* [in] */ HIMC hIMC, /* [in] */ DWORD fdwConversion, /* [in] */ DWORD fdwSentence) = 0; virtual HRESULT STDMETHODCALLTYPE SetOpenStatus( /* [in] */ HIMC hIMC, /* [in] */ BOOL fOpen) = 0; virtual HRESULT STDMETHODCALLTYPE SetStatusWindowPos( /* [in] */ HIMC hIMC, /* [in] */ POINT __RPC_FAR *pptPos) = 0; virtual HRESULT STDMETHODCALLTYPE SimulateHotKey( /* [in] */ HWND hWnd, /* [in] */ DWORD dwHotKeyID) = 0; virtual HRESULT STDMETHODCALLTYPE UnregisterWordA( /* [in] */ HKL hKL, /* [in] */ LPSTR szReading, /* [in] */ DWORD dwStyle, /* [in] */ LPSTR szUnregister) = 0; virtual HRESULT STDMETHODCALLTYPE UnregisterWordW( /* [in] */ HKL hKL, /* [in] */ LPWSTR szReading, /* [in] */ DWORD dwStyle, /* [in] */ LPWSTR szUnregister) = 0; virtual HRESULT STDMETHODCALLTYPE Activate( /* [in] */ BOOL fRestoreLayout) = 0; virtual HRESULT STDMETHODCALLTYPE Deactivate( void) = 0; virtual HRESULT STDMETHODCALLTYPE OnDefWindowProc( /* [in] */ HWND hWnd, /* [in] */ UINT Msg, /* [in] */ WPARAM wParam, /* [in] */ LPARAM lParam, /* [out] */ LRESULT __RPC_FAR *plResult) = 0; virtual HRESULT STDMETHODCALLTYPE FilterClientWindows( /* [in] */ ATOM __RPC_FAR *aaClassList, /* [in] */ UINT uSize) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodePageA( /* [in] */ HKL hKL, /* [out] */ UINT __RPC_FAR *uCodePage) = 0; virtual HRESULT STDMETHODCALLTYPE GetLangId( /* [in] */ HKL hKL, /* [out] */ LANGID __RPC_FAR *plid) = 0; virtual HRESULT STDMETHODCALLTYPE AssociateContextEx( /* [in] */ HWND hWnd, /* [in] */ HIMC hIMC, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE DisableIME( /* [in] */ DWORD idThread) = 0; virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsA( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwType, /* [in] */ NS_IMEMENUITEMINFOA __RPC_FAR *pImeParentMenu, /* [out] */ NS_IMEMENUITEMINFOA __RPC_FAR *pImeMenu, /* [in] */ DWORD dwSize, /* [out] */ DWORD __RPC_FAR *pdwResult) = 0; virtual HRESULT STDMETHODCALLTYPE GetImeMenuItemsW( /* [in] */ HIMC hIMC, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwType, /* [in] */ NS_IMEMENUITEMINFOW __RPC_FAR *pImeParentMenu, /* [out] */ NS_IMEMENUITEMINFOW __RPC_FAR *pImeMenu, /* [in] */ DWORD dwSize, /* [out] */ DWORD __RPC_FAR *pdwResult) = 0; virtual HRESULT STDMETHODCALLTYPE EnumInputContext( /* [in] */ DWORD idThread, /* [out] */ IEnumInputContext __RPC_FAR *__RPC_FAR *ppEnum) = 0; }; interface IActiveIMMMessagePumpOwner : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Start( void) = 0; virtual HRESULT STDMETHODCALLTYPE End( void) = 0; virtual HRESULT STDMETHODCALLTYPE OnTranslateMessage( /* [in] */ const MSG __RPC_FAR *pMsg) = 0; virtual HRESULT STDMETHODCALLTYPE Pause( /* [out] */ DWORD __RPC_FAR *pdwCookie) = 0; virtual HRESULT STDMETHODCALLTYPE Resume( /* [in] */ DWORD dwCookie) = 0; }; #endif /* C style interface */ #endif /* __AIMM_DEFINED__ */