/**************************************************************************** IPOINT.H Owner: cslim Copyright (c) 1997-1999 Microsoft Corporation IImeIPoint1 interface History: 20-JUL-1999 cslim Created *****************************************************************************/ #if !defined(_IPOINT_H__INCLUDED_) #define _IPOINT_H__INCLUDED_ #include #include "ipoint1.h" #include "imc.h" class CIImeIPoint : public IImeIPoint1 { // Ctor and Dtor public: CIImeIPoint(); ~CIImeIPoint(); // IImePoint1 Methods public: STDMETHODIMP QueryInterface(THIS_ REFIID riid, LPVOID * ppvObj); STDMETHODIMP_(ULONG) AddRef(VOID); STDMETHODIMP_(ULONG) Release(VOID); STDMETHODIMP InsertImeItem (IPCANDIDATE* pImeItem, INT iPos, DWORD *lpdwCharId); STDMETHODIMP ReplaceImeItem (INT iPos, INT iTargetLen, IPCANDIDATE* pImeItem, DWORD *lpdwCharId); STDMETHODIMP InsertStringEx (WCHAR* pwSzInsert, INT cchSzInsert, DWORD *lpdwCharId); STDMETHODIMP DeleteCompString (INT iPos, INT cchSzDel); STDMETHODIMP ReplaceCompString (INT iPos, INT iTargetLen, WCHAR *pwSzInsert, INT cchSzInsert, DWORD *lpdwCharId); STDMETHODIMP ControlIME (DWORD dwIMEFuncID, LPARAM lpara); STDMETHODIMP GetAllCompositionInfo(WCHAR **ppwSzCompStr, DWORD **ppdwCharID, INT *pcchCompStr, INT *piIPPos, INT *piStartUndetStrPos, INT *pcchUndetStr, INT *piEditStart, INT *piEditLen); STDMETHODIMP GetIpCandidate (DWORD dwCharId, IPCANDIDATE **ppImeItem, INT *piColumn, INT *piCount); STDMETHODIMP SelectIpCandidate (DWORD dwCharId, INT iselno); STDMETHODIMP UpdateContext (BOOL fGenerateMessage); // Helper functions public: HRESULT Initialize(HIMC hIMC); VOID GetImeCtx(VOID** ppImeCtx ) { *ppImeCtx = (VOID*)m_pCIMECtx; } // Internal data protected: ULONG m_cRef; // Ref count CIMECtx* m_pCIMECtx; // IME Input Context handle HIMC m_hIMC; // char serial number DWORD m_dwCharNo; }; typedef CIImeIPoint* LPCImeIPoint; #endif // _IPOINT_H__INCLUDED_