Browse Source

Fix X11 BorderOnly window resizing (#21579)

Co-authored-by: Tim Miller <drasticactions@users.noreply.github.com>
pull/21613/head
Rudy Paningal 3 months ago
committed by GitHub
parent
commit
8268d7dc1a
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      src/Avalonia.Controls/Window.cs
  2. 7
      src/Avalonia.X11/X11Window.cs

1
src/Avalonia.Controls/Window.cs

@ -1519,6 +1519,7 @@ namespace Avalonia.Controls
var (_, typedNewValue) = change.GetOldAndNewValue<WindowDecorations>();
PlatformImpl?.SetWindowDecorations(typedNewValue);
UpdateDrawnDecorations();
}
else if (change.Property == WindowDecorationsThemeProperty)

7
src/Avalonia.X11/X11Window.cs

@ -970,7 +970,7 @@ namespace Avalonia.X11
mouse.Position = mouse.Position / RenderScaling;
// Chrome hit-test for drawn decorations
if (UseManagedDecorations
if (NeedsDrawnDecorations
&& mouse.Type == RawPointerEventType.LeftButtonDown
&& _inputRoot is { } inputRoot)
{
@ -1556,6 +1556,7 @@ namespace Avalonia.X11
private bool _extendingClientAreaToDecorations;
private bool UseManagedDecorations => _extendingClientAreaToDecorations || _platform.Options.ForceDrawnDecorationsInternal;
private bool NeedsDrawnDecorations => UseManagedDecorations || _requestedWindowDecorations == WindowDecorations.BorderOnly;
public void SetExtendClientAreaToDecorationsHint(bool extendIntoClientAreaHint)
{
@ -1652,10 +1653,10 @@ namespace Avalonia.X11
public AcrylicPlatformCompensationLevels AcrylicCompensationLevels { get; } = new AcrylicPlatformCompensationLevels(1, 0.8, 0.8);
public bool NeedsManagedDecorations => UseManagedDecorations;
public bool NeedsManagedDecorations => NeedsDrawnDecorations;
public PlatformRequestedDrawnDecoration RequestedDrawnDecorations =>
UseManagedDecorations
NeedsDrawnDecorations
? PlatformRequestedDrawnDecoration.Border
| PlatformRequestedDrawnDecoration.ResizeGrips
| PlatformRequestedDrawnDecoration.TitleBar

Loading…
Cancel
Save