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.

73 lines
1.4 KiB

  1. /*++
  2. Copyright (c) 2001, Microsoft Corporation
  3. Module Name:
  4. icocb.h
  5. Abstract:
  6. This file defines the CInputContextOwnerCallBack Class.
  7. Author:
  8. Revision History:
  9. Notes:
  10. --*/
  11. #ifndef _ICOCB_H_
  12. #define _ICOCB_H_
  13. #include "template.h"
  14. #include "imc.h"
  15. #include "context.h"
  16. #include "candpos.h"
  17. class CMouseSink;
  18. class CInputContextOwnerCallBack : public CInputContextOwner
  19. {
  20. public:
  21. CInputContextOwnerCallBack(
  22. TfClientId tid,
  23. Interface_Attach<ITfContext> pic,
  24. LIBTHREAD *pLibTLS);
  25. virtual ~CInputContextOwnerCallBack();
  26. BOOL Init();
  27. void SetCallbackDataPointer(void* pv)
  28. {
  29. SetCallbackPV(pv);
  30. };
  31. HRESULT IcoTextExt(IMCLock& imc, CicInputContext& CicContext, LANGID langid, ICOARGS *pargs);
  32. //
  33. // Mouse sink
  34. //
  35. LRESULT MsImeMouseHandler(ULONG uEdge, ULONG uQuadrant, ULONG dwBtnStatus, IMCLock& imc);
  36. //
  37. // Callbacks
  38. //
  39. private:
  40. static HRESULT ICOwnerSinkCallback(UINT uCode, ICOARGS *pargs, void *pv);
  41. HRESULT GetAttribute(IMCLock& imc, CicInputContext& CicContext, LANGID langid, const GUID *pguid, VARIANT *pvarValue);
  42. //
  43. // Mouse sink
  44. //
  45. CMouseSink *m_pMouseSink;
  46. private:
  47. Interface_Attach<ITfContext> m_ic;
  48. TfClientId m_tid;
  49. LIBTHREAD* m_pLibTLS;
  50. };
  51. #endif // _ICOCB_H_