Пример #1
0
        private void OnMotionEvent(object o, MotionNotifyEventArgs args)
        {
            try
            {
                switch (args.Event.Type)
                {
                case Gdk.EventType.MotionNotify:
                    _ownerEvents.RaisePointerMoved(
                        new PointerEventArgs(
                            new Windows.UI.Input.PointerPoint(
                                frameId: 0,
                                timestamp: args.Event.Time,
                                device: PointerDevice.For(PointerDeviceType.Mouse),
                                pointerId: 0,
                                rawPosition: new Windows.Foundation.Point(args.Event.X, args.Event.Y),
                                position: new Windows.Foundation.Point(args.Event.X, args.Event.Y),
                                isInContact: false,
                                properties: BuildProperties(args.Event)
                                )
                            )
                        );
                    break;

                default:
                    Console.WriteLine($"Unknown event: {args.Event.State}");
                    break;
                }
            }
            catch (Exception e)
            {
                this.Log().Error("Failed to raise PointerMoved", e);
            }
        }
        private void OnMove(GestureLayer.MomentumData data)
        {
            try
            {
                var properties = BuildProperties(true, false);
                var modifiers  = VirtualKeyModifiers.None;
                var point      = GetPoint(data.X2, data.Y2);

                _ownerEvents.RaisePointerMoved(
                    new PointerEventArgs(
                        new Windows.UI.Input.PointerPoint(
                            frameId: GetNextFrameId(),
                            timestamp: Math.Max(data.VerticalSwipeTimestamp, data.HorizontalSwipeTimestamp),
                            device: PointerDevice.For(PointerDeviceType.Touch),
                            pointerId: 0,
                            rawPosition: point,
                            position: point,
                            isInContact: properties.HasPressedButton,
                            properties: properties
                            ),
                        modifiers
                        )
                    );
            }
            catch (Exception e)
            {
                this.Log().Error("Failed to raise PointerMoved", e);
            }
        }
Пример #3
0
        private void OnWindowMotionEvent(object o, MotionNotifyEventArgs args)         // a.k.a. move
        {
            try
            {
                switch (args.Event.Type)
                {
                case Gdk.EventType.MotionNotify:
                    var properties = BuildProperties(args.Event);
                    var modifiers  = GetKeyModifiers();

                    _ownerEvents.RaisePointerMoved(
                        new PointerEventArgs(
                            new Windows.UI.Input.PointerPoint(
                                frameId: GetNextFrameId(),
                                timestamp: args.Event.Time,
                                device: PointerDevice.For(PointerDeviceType.Mouse),
                                pointerId: 0,
                                rawPosition: new Windows.Foundation.Point(args.Event.X, args.Event.Y),
                                position: new Windows.Foundation.Point(args.Event.X, args.Event.Y),
                                isInContact: properties.HasPressedButton,
                                properties: properties
                                ),
                            modifiers
                            )
                        );
                    break;

                default:
                    Console.WriteLine($"Unknown event: {args.Event.State}");
                    break;
                }
            }
            catch (Exception e)
            {
                this.Log().Error("Failed to raise PointerMoved", e);
            }
        }