private void _skiaView_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { _capturedMouseEvents = null; var context = new Framework.Input.MouseEventsContext((Framework.Input.MouseButtons)e.Button, e.Clicks, e.Delta); _root.HandleMouseDown(e.X, e.Y, context); _capturedMouseEvents = context.CaptureTo; }
private void _skiaView_Touch(object sender, SKTouchEventArgs e) { var scaleDpi = new Primitives.Point(_skiaView.CanvasSize.Width / _skiaView.Width, _skiaView.CanvasSize.Height / _skiaView.Height); var location = new Primitives.Point(e.Location.X / scaleDpi.X, e.Location.Y / scaleDpi.Y); if (e.ActionType == SKTouchAction.Pressed) { _capturedMouseEvents = null; var context = new Framework.Input.MouseEventsContext((Framework.Input.MouseButtons)e.MouseButton, 1, e.WheelDelta); _root.HandleMouseMove(location.X, location.Y, context); _root.HandleMouseDown(location.X, location.Y, context); //_root.HandleMouseUp(location.X, location.Y, context); _capturedMouseEvents = context.CaptureTo; e.Handled = true; } else if (e.ActionType == SKTouchAction.Moved) { var context = new Framework.Input.MouseEventsContext((Framework.Input.MouseButtons)e.MouseButton, 1, e.WheelDelta) { CaptureTo = _capturedMouseEvents }; if (_capturedMouseEvents != null) { _capturedMouseEvents.HandleMouseMove(location.X, location.Y, context); } else { _root.HandleMouseMove(location.X, location.Y, context); } _capturedMouseEvents = context.CaptureTo; e.Handled = true; } else if (e.ActionType == SKTouchAction.Released) { var context = new Framework.Input.MouseEventsContext((Framework.Input.MouseButtons)e.MouseButton, 1, e.WheelDelta) { CaptureTo = _capturedMouseEvents }; if (_capturedMouseEvents != null) { _capturedMouseEvents.HandleMouseUp(location.X, location.Y, context); _capturedMouseEvents = null; } else { _root.HandleMouseUp(location.X, location.Y, new Framework.Input.MouseEventsContext((Framework.Input.MouseButtons)e.MouseButton, 1, e.WheelDelta)); } e.Handled = true; } }
private void _skiaView_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { var context = new Framework.Input.MouseEventsContext((Framework.Input.MouseButtons)e.Button, e.Clicks, e.Delta) { CaptureTo = _capturedMouseEvents }; if (_capturedMouseEvents != null) { _capturedMouseEvents.HandleMouseUp(e.X, e.Y, context); _capturedMouseEvents = null; } else { _root.HandleMouseUp(e.X, e.Y, new Framework.Input.MouseEventsContext((Framework.Input.MouseButtons)e.Button, e.Clicks, e.Delta)); } }