Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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));
            }
        }