private void WidgetMouseWheelHandler(object sender, MouseWheelEventArgs e) { mouseScrollCumulation += e.Delta; int jumps = mouseScrollCumulation / 120; mouseScrollCumulation %= 120; var p = e.GetPosition(Widget); Context.InvokeUserCode(delegate { for (int i = 0; i < jumps; i++) { var a = new MouseScrolledEventArgs(e.Timestamp, p.X, p.Y, ScrollDirection.Up); eventSink.OnMouseScrolled(a); if (a.Handled) { e.Handled = true; } } for (int i = 0; i > jumps; i--) { var a = new MouseScrolledEventArgs(e.Timestamp, p.X, p.Y, ScrollDirection.Down); eventSink.OnMouseScrolled(a); if (a.Handled) { e.Handled = true; } } }); }
private void WidgetMouseWheelHandler(object sender, MouseWheelEventArgs e) { mouseScrollCumulation += e.Delta; int jumps = mouseScrollCumulation / 120; mouseScrollCumulation %= 120; var p = e.GetPosition(Widget); Toolkit.Invoke(delegate { for (int i = 0; i < jumps; i++) { eventSink.OnMouseScrolled(new MouseScrolledEventArgs( e.Timestamp, p.X * WidthPixelRatio, p.Y * HeightPixelRatio, ScrollDirection.Up)); } for (int i = 0; i > jumps; i--) { eventSink.OnMouseScrolled(new MouseScrolledEventArgs( e.Timestamp, p.X * WidthPixelRatio, p.Y * HeightPixelRatio, ScrollDirection.Down)); } }); }