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); } }
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); } }