|
|
@@ -39,6 +39,7 @@ namespace Avalonia.MonoMac
|
|
|
private NSTrackingArea _area;
|
|
|
private NSCursor _cursor;
|
|
|
private bool _nonUiRedrawQueued;
|
|
|
+ private bool _isMouseOver;
|
|
|
|
|
|
public CGSize PixelSize { get; set; }
|
|
|
|
|
|
@@ -135,7 +136,8 @@ namespace Avalonia.MonoMac
|
|
|
if (_cursor != null)
|
|
|
{
|
|
|
AddCursorRect(Frame, _cursor);
|
|
|
- _cursor.Set();
|
|
|
+ if (_isMouseOver)
|
|
|
+ _cursor.Set();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -302,10 +304,17 @@ namespace Avalonia.MonoMac
|
|
|
|
|
|
public override void MouseExited(NSEvent theEvent)
|
|
|
{
|
|
|
+ _isMouseOver = false;
|
|
|
MouseEvent(theEvent, RawMouseEventType.LeaveWindow);
|
|
|
base.MouseExited(theEvent);
|
|
|
}
|
|
|
|
|
|
+ public override void MouseEntered(NSEvent theEvent)
|
|
|
+ {
|
|
|
+ _isMouseOver = true;
|
|
|
+ base.MouseEntered(theEvent);
|
|
|
+ }
|
|
|
+
|
|
|
void KeyboardEvent(RawKeyEventType type, NSEvent ev)
|
|
|
{
|
|
|
var code = KeyTransform.TransformKeyCode(ev.KeyCode);
|