ManipulationHelper.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #pragma once
  2. #include "ManipulationEventSink.h"
  3. namespace ManipulationHelper
  4. {
  5. /// <summary>
  6. /// 操作帮助器,用来直接面相用户的接口.封装了对ManipulationEventSink(_IManipulationEvents)和IManipulationProcessor的操作;
  7. /// </summary>
  8. class ManipulationHelper
  9. {
  10. public:
  11. /// <summary>
  12. /// 构造函数
  13. /// </summary>
  14. /// <param name="">帮助器绑定的控件的窗口句柄</param>
  15. ManipulationHelper(HWND);
  16. ~ManipulationHelper();
  17. /// <summary>
  18. /// 封装的IManipulationProcessor的ProcessDown方法;实现用户把Touch消息(TouchDown)的相关内容放入Processor里面;
  19. /// </summary>
  20. /// <param name="manipulatorId">Touch消息对应的操作ID</param>
  21. /// <param name="x">Touch消息触点的X坐标(屏幕坐标系)</param>
  22. /// <param name="y">Touch消息触点的Y坐标(屏幕坐标系)</param>
  23. /// <returns></returns>
  24. int ProcessDown(MANIPULATOR_ID manipulatorId, FLOAT x, FLOAT y);
  25. //封装的IManipulationProcessor的ProcessMove方法;实现用户把Touch消息(TouchMove)的相关内容放入Processor里面;
  26. int ProcessMove(MANIPULATOR_ID manipulatorId, FLOAT x, FLOAT y);
  27. //封装的IManipulationProcessor的ProcessUp方法;实现用户把Touch消息(TouchUp)的相关内容放入Processor里面;
  28. int ProcessUp(MANIPULATOR_ID manipulatorId, FLOAT x, FLOAT y);
  29. /// <summary>
  30. /// 设置_IManipulationEvents的ManipulationStarted接口回调函数(委托)
  31. /// </summary>
  32. /// <param name="">回调函数指针</param>
  33. void SetManipulationStartedCallBack(ManipulationStartedCallBack);
  34. // 设置_IManipulationEvents的ManipulationDelta接口回调函数(委托)
  35. void SetManipulationDeltaCallBack(ManipulationDeltaCallBack);
  36. // 设置_IManipulationEvents的ManipulationCompleted接口回调函数(委托)
  37. void SetManipulationCompletedCallBack(ManipulationCompletedCallBack);
  38. //是否初始化Ok的标志;主要用作表示构造函数是否初始化完整;
  39. BOOL InitOkFlag = false;
  40. private:
  41. //初始化各主要成员的实例
  42. BOOL InitInstance();
  43. //实现_IManipulationEvents接口的成员;用来处理IManipulationProcessor生成的触摸操作事件;
  44. ManipulationEventSink* m_pManipulationEventSink = NULL;
  45. //Com组件的IManipulationProcessor实例成员;
  46. IManipulationProcessor* m_pIManipProc = NULL;
  47. //帮助器绑定的控件的窗口句柄
  48. HWND m_wndHandle = NULL;
  49. };
  50. }