Browse Source

Extend the client area when a Win32 window is opened in maximised state (#16593)

pull/16705/head
Tom Edwards 1 year ago
committed by GitHub
parent
commit
8a61eca9c2
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 21
      src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs

21
src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs

@ -614,12 +614,7 @@ namespace Avalonia.Win32
break; break;
case WindowsMessage.WM_SHOWWINDOW: case WindowsMessage.WM_SHOWWINDOW:
_shown = wParam != default; OnShowHideMessage(wParam != default);
if (_isClientAreaExtended)
{
ExtendClientArea();
}
break; break;
case WindowsMessage.WM_SIZE: case WindowsMessage.WM_SIZE:
@ -801,11 +796,11 @@ namespace Avalonia.Win32
var winPos = Marshal.PtrToStructure<WINDOWPOS>(lParam); var winPos = Marshal.PtrToStructure<WINDOWPOS>(lParam);
if((winPos.flags & (uint)SetWindowPosFlags.SWP_SHOWWINDOW) != 0) if((winPos.flags & (uint)SetWindowPosFlags.SWP_SHOWWINDOW) != 0)
{ {
_shown = true; OnShowHideMessage(true);
} }
else if ((winPos.flags & (uint)SetWindowPosFlags.SWP_HIDEWINDOW) != 0) else if ((winPos.flags & (uint)SetWindowPosFlags.SWP_HIDEWINDOW) != 0)
{ {
_shown = false; OnShowHideMessage(false);
} }
break; break;
} }
@ -854,6 +849,16 @@ namespace Avalonia.Win32
return DefWindowProc(hWnd, msg, wParam, lParam); return DefWindowProc(hWnd, msg, wParam, lParam);
} }
private void OnShowHideMessage(bool shown)
{
_shown = shown;
if (_isClientAreaExtended)
{
ExtendClientArea();
}
}
private Lazy<IReadOnlyList<RawPointerPoint>?>? CreateLazyIntermediatePoints(POINTER_INFO info) private Lazy<IReadOnlyList<RawPointerPoint>?>? CreateLazyIntermediatePoints(POINTER_INFO info)
{ {
var historyCount = Math.Min((int)info.historyCount, MaxPointerHistorySize); var historyCount = Math.Min((int)info.historyCount, MaxPointerHistorySize);

Loading…
Cancel
Save