2020-09-30 16:53:49 +02:00

71 lines
1.9 KiB
C++

/**************************************************************************\
* Module Name: fnsoftkbd.h
*
* Copyright (c) 1985 - 2000, Microsoft Corporation
*
* Declaration of SoftKbd function object. This Function object could be used
* by other Tips to control Softkbd IMX's behavior.
*
* History:
* 11-April-2000 weibz Created
\**************************************************************************/
#ifndef FNSOFTKBD_H
#define FNSOFTKBD_H
#include "private.h"
#include "softkbd.h"
class CFunctionProvider;
//////////////////////////////////////////////////////////////////////////////
//
// CFnSoftKbd
//
//////////////////////////////////////////////////////////////////////////////
class CFnSoftKbd : public ITfFnSoftKbd
{
public:
CFnSoftKbd(CFunctionProvider *pFuncPrv);
~CFnSoftKbd();
//
// IUnknown methods
//
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
//
// ITfFunction
//
STDMETHODIMP GetDisplayName(BSTR *pbstrCand);
STDMETHODIMP IsEnabled(BOOL *pfEnable);
//
// ITfFnSoftKbd
//
STDMETHODIMP GetSoftKbdLayoutId(DWORD dwLayoutType, DWORD *lpdwLayoutId);
STDMETHODIMP SetActiveLayoutId(DWORD dwLayoutId );
STDMETHODIMP SetSoftKbdOnOff(BOOL fOn );
STDMETHODIMP SetSoftKbdPosSize(POINT StartPoint, WORD width, WORD height);
STDMETHODIMP SetSoftKbdColors(COLORTYPE colorType, COLORREF Color);
STDMETHODIMP GetActiveLayoutId(DWORD *lpdwLayoutId );
STDMETHODIMP GetSoftKbdOnOff(BOOL *lpfOn );
STDMETHODIMP GetSoftKbdPosSize(POINT *lpStartPoint,WORD *lpwidth,WORD *lpheight);
STDMETHODIMP GetSoftKbdColors(COLORTYPE colorType, COLORREF *lpColor);
private:
friend CSoftkbdIMX;
CFunctionProvider *_pFuncPrv;
long _cRef;
};
#endif // FNSOFTKBD_H