protected override void WndProc(ref Message m) { switch (m.Msg) { case WM_DISPLAYCHANGE: GestureMachine.Reset(); break; } base.WndProc(ref m); }
public WindowsHook.Result MouseProc(LowLevelMouseHook.Event evnt, LowLevelMouseHook.MSLLHOOKSTRUCT data) { if (data.fromCreviceApp) { Debug.Print("{0} was passed to the next hook because this event has the signature of CreviceApp", Enum.GetName(typeof(LowLevelMouseHook.Event), evnt)); return(WindowsHook.Result.Transfer); } else if (data.fromTablet) { Debug.Print("{0} was passed to the next hook because this event has the signature of Tablet", Enum.GetName(typeof(LowLevelMouseHook.Event), evnt)); return(WindowsHook.Result.Transfer); } var point = new Point(data.pt.x, data.pt.y); switch (evnt) { case LowLevelMouseHook.Event.WM_MOUSEMOVE: return(Convert(GestureMachine.Input(Core.Def.Constant.Move, point))); case LowLevelMouseHook.Event.WM_LBUTTONDOWN: return(Convert(GestureMachine.Input(Core.Def.Constant.LeftButtonDown, point))); case LowLevelMouseHook.Event.WM_LBUTTONUP: return(Convert(GestureMachine.Input(Core.Def.Constant.LeftButtonUp, point))); case LowLevelMouseHook.Event.WM_RBUTTONDOWN: return(Convert(GestureMachine.Input(Core.Def.Constant.RightButtonDown, point))); case LowLevelMouseHook.Event.WM_RBUTTONUP: return(Convert(GestureMachine.Input(Core.Def.Constant.RightButtonUp, point))); case LowLevelMouseHook.Event.WM_MBUTTONDOWN: return(Convert(GestureMachine.Input(Core.Def.Constant.MiddleButtonDown, point))); case LowLevelMouseHook.Event.WM_MBUTTONUP: return(Convert(GestureMachine.Input(Core.Def.Constant.MiddleButtonUp, point))); case LowLevelMouseHook.Event.WM_MOUSEWHEEL: if (data.mouseData.asWheelDelta.delta < 0) { return(Convert(GestureMachine.Input(Core.Def.Constant.WheelDown, point))); } else { return(Convert(GestureMachine.Input(Core.Def.Constant.WheelUp, point))); } case LowLevelMouseHook.Event.WM_XBUTTONDOWN: if (data.mouseData.asXButton.isXButton1) { return(Convert(GestureMachine.Input(Core.Def.Constant.X1ButtonDown, point))); } else { return(Convert(GestureMachine.Input(Core.Def.Constant.X2ButtonDown, point))); } case LowLevelMouseHook.Event.WM_XBUTTONUP: if (data.mouseData.asXButton.isXButton1) { return(Convert(GestureMachine.Input(Core.Def.Constant.X1ButtonUp, point))); } else { return(Convert(GestureMachine.Input(Core.Def.Constant.X2ButtonUp, point))); } case LowLevelMouseHook.Event.WM_MOUSEHWHEEL: if (data.mouseData.asWheelDelta.delta < 0) { return(Convert(GestureMachine.Input(Core.Def.Constant.WheelRight, point))); } else { return(Convert(GestureMachine.Input(Core.Def.Constant.WheelLeft, point))); } } return(WindowsHook.Result.Transfer); }
protected override void OnClosed(EventArgs e) { base.OnClosed(e); GestureMachine.Dispose(); }