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