public override void MouseDown(NSEvent theEvent) { input.SetKeyState(Key.Mouse0, true); input.SetKeyState(Key.Touch0, true); capturedByMouseView = this; if (theEvent.ClickCount >= 2) { input.SetKeyState(Key.Mouse0DoubleClick, true); } }
public override void MouseExited(NSEvent theEvent) { if (capturedByMouseView == null) { DidMouseExit?.Invoke(); } else if (firstExited == null) { firstExited = this; } }
public override void MouseEntered(NSEvent theEvent) { if (capturedByMouseView == null) { DidMouseEnter?.Invoke(); } else { lastEntered = this; } }
public override void MouseUp(NSEvent theEvent) { input.SetKeyState(Key.Mouse0, false); input.SetKeyState(Key.Touch0, false); input.SetKeyState(Key.Mouse0DoubleClick, false); capturedByMouseView = null; firstExited?.DidMouseExit?.Invoke(); lastEntered?.DidMouseEnter?.Invoke(); firstExited = null; lastEntered = null; }