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.

78 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 CKorIMX;
  11. class CSoftKeyboardEventSink : public ISoftKeyboardEventSink
  12. {
  13. public:
  14. CSoftKeyboardEventSink(CKorIMX *pKorIMX, 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. CKorIMX *m_pKorIMX;
  32. BOOL _fCaps;
  33. BOOL _fShift;
  34. BOOL _fAlt;
  35. BOOL _fCtrl;
  36. TfClientId _tid;
  37. ITfThreadMgr *_tim;
  38. };
  39. class CSoftKbdWindowEventSink : public ISoftKbdWindowEventSink
  40. {
  41. public:
  42. CSoftKbdWindowEventSink(CKorIMX *pKorIMX);
  43. ~CSoftKbdWindowEventSink();
  44. //
  45. // IUnknown methods
  46. //
  47. STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj);
  48. STDMETHODIMP_(ULONG) AddRef(void);
  49. STDMETHODIMP_(ULONG) Release(void);
  50. //
  51. // ISoftKbdWindowEventSink
  52. //
  53. STDMETHODIMP OnWindowClose( );
  54. STDMETHODIMP OnWindowMove( int xWnd,int yWnd, int width, int height);
  55. private:
  56. long _cRef;
  57. CKorIMX *m_pKorIMX;
  58. };
  59. #endif //