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. /*++
  2. Copyright (c) 1985 - 1999, Microsoft Corporation
  3. Module Name:
  4. txtevcb.h
  5. Abstract:
  6. This file defines the CTextEventSinkCallBack Class.
  7. Author:
  8. Revision History:
  9. Notes:
  10. --*/
  11. #ifndef _TXTEVCB_H_
  12. #define _TXTEVCB_H_
  13. class ImmIfIME;
  14. class CTextEventSinkCallBack : public CTextEventSink
  15. {
  16. public:
  17. CTextEventSinkCallBack(ImmIfIME* pImmIfIME, HIMC hIMC);
  18. virtual ~CTextEventSinkCallBack();
  19. void SetCallbackDataPointer(void* pv)
  20. {
  21. SetCallbackPV(pv);
  22. };
  23. BOOL _IsSapiFeedbackUIPresent(Interface_Attach<ITfContext>& ic, TESENDEDIT *ee);
  24. //
  25. // Callbacks
  26. //
  27. private:
  28. static HRESULT TextEventSinkCallback(UINT uCode, void *pv, void *pvData);
  29. typedef struct _EnumROPropertyArgs
  30. {
  31. Interface<ITfProperty> Property;
  32. TfEditCookie ec;
  33. GUID comp_guid;
  34. LIBTHREAD *pLibTLS;
  35. } EnumROPropertyArgs;
  36. //
  37. // Enumrate callbacks
  38. //
  39. typedef struct _EnumPropertyUpdateArgs
  40. {
  41. _EnumPropertyUpdateArgs(ITfContext* pv, ImmIfIME* p1, IMCLock& p2) : ic(pv), immif(p1), imc(p2) { }
  42. Interface<ITfProperty> Property;
  43. TfEditCookie ec;
  44. Interface_Attach<ITfContext> ic;
  45. ImmIfIME* immif;
  46. IMCLock& imc;
  47. DWORD dwDeltaStart;
  48. } EnumPropertyUpdateArgs;
  49. static ENUM_RET EnumReadOnlyRangeCallback(ITfRange* pRange, EnumROPropertyArgs *pargs);
  50. //
  51. // Enumrate property update
  52. //
  53. static ENUM_RET EnumPropertyUpdateCallback(ITfRange* update_range, EnumPropertyUpdateArgs *pargs);
  54. ImmIfIME *m_pImmIfIME;
  55. HIMC m_hIMC;
  56. };
  57. #endif // _TXTEVCB_H_