Leaked source code of windows server 2003
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.

76 lines
1.7 KiB

  1. // SoftKbdES.h: interface for the SoftKeyboardEventSink class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #ifndef __SOFTKBDES_H__
  5. #define __SOFTKBDES_H__
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "softkbd.h"
  10. class CSoftkbdIMX;
  11. class CSoftKeyboardEventSink : public ISoftKeyboardEventSink
  12. {
  13. public:
  14. CSoftKeyboardEventSink(CSoftkbdIMX *pSoftKbdIMX, DWORD dwSoftLayout);
  15. ~CSoftKeyboardEventSink();
  16. //
  17. // IUnknown methods
  18. //
  19. STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj);
  20. STDMETHODIMP_(ULONG) AddRef(void);
  21. STDMETHODIMP_(ULONG) Release(void);
  22. //
  23. // ISoftKeyboardEventSink
  24. //
  25. STDMETHODIMP OnKeySelection(KEYID KeySelected, WCHAR *lpszLabel);
  26. // void SetTidDim(TfClientId tid, ITfDocumentMgr *dim);
  27. // void ReleaseTidDim( );
  28. private:
  29. long _cRef;
  30. DWORD _dwSoftLayout;
  31. CSoftkbdIMX *_pSoftKbdIMX;
  32. BOOL _fCaps;
  33. BOOL _fShift;
  34. TfClientId _tid;
  35. ITfThreadMgr *_tim;
  36. };
  37. class CSoftKbdWindowEventSink : public ISoftKbdWindowEventSink
  38. {
  39. public:
  40. CSoftKbdWindowEventSink(CSoftkbdIMX *pSoftKbdIMX);
  41. ~CSoftKbdWindowEventSink();
  42. //
  43. // IUnknown methods
  44. //
  45. STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj);
  46. STDMETHODIMP_(ULONG) AddRef(void);
  47. STDMETHODIMP_(ULONG) Release(void);
  48. //
  49. // ISoftKbdWindowEventSink
  50. //
  51. STDMETHODIMP OnWindowClose( );
  52. STDMETHODIMP OnWindowMove( int xWnd,int yWnd, int width, int height);
  53. private:
  54. long _cRef;
  55. CSoftkbdIMX *_pSoftKbdIMX;
  56. };
  57. #endif //