|
|
@ -488,6 +488,10 @@ namespace Avalonia.Win32 |
|
|
case WindowsMessage.WM_POINTERLEAVE: |
|
|
case WindowsMessage.WM_POINTERLEAVE: |
|
|
{ |
|
|
{ |
|
|
GetDevicePointerInfo(wParam, out var device, out var info, ref timestamp); |
|
|
GetDevicePointerInfo(wParam, out var device, out var info, ref timestamp); |
|
|
|
|
|
if (device is TouchDevice) |
|
|
|
|
|
{ |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
var point = PointToClient(new PixelPoint(info.ptPixelLocationX, info.ptPixelLocationY)); |
|
|
var point = PointToClient(new PixelPoint(info.ptPixelLocationX, info.ptPixelLocationY)); |
|
|
var modifiers = GetInputModifiers(info.dwKeyStates); |
|
|
var modifiers = GetInputModifiers(info.dwKeyStates); |
|
|
|
|
|
|
|
|
@ -798,8 +802,7 @@ namespace Avalonia.Win32 |
|
|
case PointerInputType.PT_PEN: |
|
|
case PointerInputType.PT_PEN: |
|
|
return ToEventType(info.ButtonChangeType); |
|
|
return ToEventType(info.ButtonChangeType); |
|
|
case PointerInputType.PT_TOUCH: |
|
|
case PointerInputType.PT_TOUCH: |
|
|
if (info.pointerFlags.HasFlag(PointerFlags.POINTER_FLAG_CANCELED) || |
|
|
if (info.pointerFlags.HasFlag(PointerFlags.POINTER_FLAG_CANCELED)) |
|
|
!info.pointerFlags.HasFlag(PointerFlags.POINTER_FLAG_CONFIDENCE)) |
|
|
|
|
|
{ |
|
|
{ |
|
|
return RawPointerEventType.TouchCancel; |
|
|
return RawPointerEventType.TouchCancel; |
|
|
} |
|
|
} |
|
|
|