You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.2 KiB
79 lines
2.2 KiB
/****************************************************************************
|
|
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 <objbase.h>
|
|
#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_
|
|
|