void HandlePointerAxis(MouseDevice mouse, PointerEvent e) { if (mouse != null) { mouse.State.SetIsConnected(true); double value = e.AxisValue; PointerAxis axis = e.Axis; switch (axis) { case PointerAxis.HorizontalScroll: mouse.State.SetScrollRelative((float)value, 0); break; case PointerAxis.VerticalScroll: mouse.State.SetScrollRelative(0, (float)value); break; default: Debug.Print("[Input] Unknown scroll axis {0}.", axis); break; } } }
private static extern double GetAxisValue(IntPtr @event, PointerAxis axis);
private static extern int HasAxis(IntPtr @event, PointerAxis axis);
public double AxisValue(PointerAxis axis) { return(GetAxisValue(Event, axis)); }
public bool HasAxis(PointerAxis axis) { return(HasAxis(Event, axis) != 0); }