Browse Source

Merge pull request #6926 from AvaloniaUI/fixes/6827-osx-non-client-click

macOS: Only raise non-client click when outside view client area.
pull/6950/head
Dan Walmsley 5 years ago
committed by GitHub
parent
commit
281721b1df
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      native/Avalonia.Native/src/OSX/window.mm

15
native/Avalonia.Native/src/OSX/window.mm

@ -2398,11 +2398,18 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent
{
case NSEventTypeLeftMouseDown:
{
auto avnPoint = [AvnView toAvnPoint:[event locationInWindow]];
auto point = [self translateLocalPoint:avnPoint];
AvnVector delta;
AvnView* view = _parent->View;
NSPoint windowPoint = [event locationInWindow];
NSPoint viewPoint = [view convertPoint:windowPoint fromView:nil];
_parent->BaseEvents->RawMouseEvent(NonClientLeftButtonDown, [event timestamp] * 1000, AvnInputModifiersNone, point, delta);
if (!NSPointInRect(viewPoint, view.bounds))
{
auto avnPoint = [AvnView toAvnPoint:windowPoint];
auto point = [self translateLocalPoint:avnPoint];
AvnVector delta;
_parent->BaseEvents->RawMouseEvent(NonClientLeftButtonDown, [event timestamp] * 1000, AvnInputModifiersNone, point, delta);
}
}
break;

Loading…
Cancel
Save