diff --git a/api/Avalonia.nupkg.xml b/api/Avalonia.nupkg.xml
index a495938edc..6add9ec307 100644
--- a/api/Avalonia.nupkg.xml
+++ b/api/Avalonia.nupkg.xml
@@ -385,6 +385,12 @@
baseline/Avalonia/lib/net10.0/Avalonia.Controls.dll
current/Avalonia/lib/net10.0/Avalonia.Controls.dll
+
+ CP0001
+ T:Avalonia.Controls.SystemDecorations
+ baseline/Avalonia/lib/net10.0/Avalonia.Controls.dll
+ current/Avalonia/lib/net10.0/Avalonia.Controls.dll
+
CP0001
T:Avalonia.Controls.SystemDialog
@@ -811,6 +817,12 @@
baseline/Avalonia/lib/net8.0/Avalonia.Controls.dll
current/Avalonia/lib/net8.0/Avalonia.Controls.dll
+
+ CP0001
+ T:Avalonia.Controls.SystemDecorations
+ baseline/Avalonia/lib/net8.0/Avalonia.Controls.dll
+ current/Avalonia/lib/net8.0/Avalonia.Controls.dll
+
CP0001
T:Avalonia.Controls.SystemDialog
@@ -1489,6 +1501,12 @@
baseline/Avalonia/lib/net10.0/Avalonia.Controls.dll
current/Avalonia/lib/net10.0/Avalonia.Controls.dll
+
+ CP0002
+ F:Avalonia.Controls.Window.SystemDecorationsProperty
+ baseline/Avalonia/lib/net10.0/Avalonia.Controls.dll
+ current/Avalonia/lib/net10.0/Avalonia.Controls.dll
+
CP0002
M:Avalonia.AppBuilder.get_LifetimeOverride
@@ -1867,6 +1885,12 @@
baseline/Avalonia/lib/net10.0/Avalonia.Controls.dll
current/Avalonia/lib/net10.0/Avalonia.Controls.dll
+
+ CP0002
+ M:Avalonia.Controls.Window.get_SystemDecorations
+ baseline/Avalonia/lib/net10.0/Avalonia.Controls.dll
+ current/Avalonia/lib/net10.0/Avalonia.Controls.dll
+
CP0002
M:Avalonia.Controls.Window.set_ExtendClientAreaChromeHints(Avalonia.Platform.ExtendClientAreaChromeHints)
@@ -1897,6 +1921,12 @@
baseline/Avalonia/lib/net10.0/Avalonia.Controls.dll
current/Avalonia/lib/net10.0/Avalonia.Controls.dll
+
+ CP0002
+ M:Avalonia.Platform.IWindowImpl.SetSystemDecorations(Avalonia.Controls.SystemDecorations)
+ baseline/Avalonia/lib/net10.0/Avalonia.Controls.dll
+ current/Avalonia/lib/net10.0/Avalonia.Controls.dll
+
CP0002
M:Avalonia.Platform.Screen.#ctor(System.Double,Avalonia.PixelRect,Avalonia.PixelRect,System.Boolean)
@@ -2665,6 +2695,12 @@
baseline/Avalonia/lib/net8.0/Avalonia.Controls.dll
current/Avalonia/lib/net8.0/Avalonia.Controls.dll
+
+ CP0002
+ F:Avalonia.Controls.Window.SystemDecorationsProperty
+ baseline/Avalonia/lib/net8.0/Avalonia.Controls.dll
+ current/Avalonia/lib/net8.0/Avalonia.Controls.dll
+
CP0002
M:Avalonia.AppBuilder.get_LifetimeOverride
@@ -3043,6 +3079,12 @@
baseline/Avalonia/lib/net8.0/Avalonia.Controls.dll
current/Avalonia/lib/net8.0/Avalonia.Controls.dll
+
+ CP0002
+ M:Avalonia.Controls.Window.get_SystemDecorations
+ baseline/Avalonia/lib/net8.0/Avalonia.Controls.dll
+ current/Avalonia/lib/net8.0/Avalonia.Controls.dll
+
CP0002
M:Avalonia.Controls.Window.set_ExtendClientAreaChromeHints(Avalonia.Platform.ExtendClientAreaChromeHints)
@@ -3073,6 +3115,12 @@
baseline/Avalonia/lib/net8.0/Avalonia.Controls.dll
current/Avalonia/lib/net8.0/Avalonia.Controls.dll
+
+ CP0002
+ M:Avalonia.Platform.IWindowImpl.SetSystemDecorations(Avalonia.Controls.SystemDecorations)
+ baseline/Avalonia/lib/net8.0/Avalonia.Controls.dll
+ current/Avalonia/lib/net8.0/Avalonia.Controls.dll
+
CP0002
M:Avalonia.Platform.Screen.#ctor(System.Double,Avalonia.PixelRect,Avalonia.PixelRect,System.Boolean)
@@ -3331,6 +3379,12 @@
baseline/Avalonia/lib/net10.0/Avalonia.Base.dll
current/Avalonia/lib/net10.0/Avalonia.Base.dll
+
+ CP0006
+ M:Avalonia.Platform.IWindowImpl.SetWindowDecorations(Avalonia.Controls.WindowDecorations)
+ baseline/Avalonia/lib/net10.0/Avalonia.Controls.dll
+ current/Avalonia/lib/net10.0/Avalonia.Controls.dll
+
CP0006
M:Avalonia.Platform.IWindowingPlatform.GetWindowsZOrder(System.ReadOnlySpan{Avalonia.Platform.IWindowImpl},System.Span{System.Int64})
@@ -3547,6 +3601,12 @@
baseline/Avalonia/lib/net8.0/Avalonia.Base.dll
current/Avalonia/lib/net8.0/Avalonia.Base.dll
+
+ CP0006
+ M:Avalonia.Platform.IWindowImpl.SetWindowDecorations(Avalonia.Controls.WindowDecorations)
+ baseline/Avalonia/lib/net8.0/Avalonia.Controls.dll
+ current/Avalonia/lib/net8.0/Avalonia.Controls.dll
+
CP0006
M:Avalonia.Platform.IWindowingPlatform.GetWindowsZOrder(System.ReadOnlySpan{Avalonia.Platform.IWindowImpl},System.Span{System.Int64})
diff --git a/samples/ControlCatalog/DecoratedWindow.xaml b/samples/ControlCatalog/DecoratedWindow.xaml
index 997ae54f41..804eebfb40 100644
--- a/samples/ControlCatalog/DecoratedWindow.xaml
+++ b/samples/ControlCatalog/DecoratedWindow.xaml
@@ -2,7 +2,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ControlCatalog.DecoratedWindow"
Title="Avalonia Control Gallery"
- SystemDecorations="None" Name="Window">
+ WindowDecorations="None" Name="Window">
@@ -43,11 +43,11 @@
Hello world!
-
+
- None
- BorderOnly
- Full
+ None
+ BorderOnly
+ Full
CanResize
diff --git a/samples/ControlCatalog/MainView.xaml b/samples/ControlCatalog/MainView.xaml
index 20b7d33c60..cce09c03f7 100644
--- a/samples/ControlCatalog/MainView.xaml
+++ b/samples/ControlCatalog/MainView.xaml
@@ -218,9 +218,9 @@
SelectionChanged="Decorations_SelectionChanged"
ToolTip.Tip="System Decorations">
- None
- BorderOnly
- Full
+ None
+ BorderOnly
+ Full
0 && e.AddedItems[0] is SystemDecorations systemDecorations)
+ if (TopLevel.GetTopLevel(this) is Window window && e.AddedItems.Count > 0 && e.AddedItems[0] is WindowDecorations systemDecorations)
{
- window.SystemDecorations = systemDecorations;
+ window.WindowDecorations = systemDecorations;
}
}
@@ -79,7 +79,7 @@ namespace ControlCatalog
base.OnAttachedToVisualTree(e);
if (TopLevel.GetTopLevel(this) is Window window)
- Decorations.SelectedIndex = (int)window.SystemDecorations;
+ Decorations.SelectedIndex = (int)window.WindowDecorations;
var insets = TopLevel.GetTopLevel(this)!.InsetsManager;
if (insets != null)
diff --git a/samples/IntegrationTestApp/Pages/WindowPage.axaml.cs b/samples/IntegrationTestApp/Pages/WindowPage.axaml.cs
index baae2b8766..cc94c4c250 100644
--- a/samples/IntegrationTestApp/Pages/WindowPage.axaml.cs
+++ b/samples/IntegrationTestApp/Pages/WindowPage.axaml.cs
@@ -51,7 +51,7 @@ public partial class WindowPage : UserControl
ShowWindowSize.Text = string.Empty;
window.ExtendClientAreaToDecorationsHint = ShowWindowExtendClientAreaToDecorationsHint.IsChecked ?? false;
- window.SystemDecorations = (SystemDecorations)ShowWindowSystemDecorations.SelectedIndex;
+ window.WindowDecorations = (WindowDecorations)ShowWindowSystemDecorations.SelectedIndex;
window.WindowState = (WindowState)ShowWindowState.SelectedIndex;
switch (ShowWindowMode.SelectedIndex)
@@ -87,7 +87,7 @@ public partial class WindowPage : UserControl
{
Title = "Transparent Window",
Name = "TransparentWindow",
- SystemDecorations = SystemDecorations.None,
+ WindowDecorations = WindowDecorations.None,
Background = Brushes.Transparent,
TransparencyLevelHint = new[] { WindowTransparencyLevel.Transparent },
WindowStartupLocation = WindowStartupLocation.CenterOwner,
@@ -136,7 +136,7 @@ public partial class WindowPage : UserControl
Width = 200,
Height = 200,
Background = Brushes.Green,
- SystemDecorations = SystemDecorations.None,
+ WindowDecorations = WindowDecorations.None,
WindowStartupLocation = WindowStartupLocation.CenterOwner,
Content = new Border
{
diff --git a/samples/IntegrationTestApp/ShowWindowTest.axaml b/samples/IntegrationTestApp/ShowWindowTest.axaml
index 272c61ed0c..38f096e478 100644
--- a/samples/IntegrationTestApp/ShowWindowTest.axaml
+++ b/samples/IntegrationTestApp/ShowWindowTest.axaml
@@ -45,7 +45,7 @@
-
+
None
BorderOnly
Full
diff --git a/src/Avalonia.Controls/Platform/IWindowImpl.cs b/src/Avalonia.Controls/Platform/IWindowImpl.cs
index 1c55274bfd..7a55a0386b 100644
--- a/src/Avalonia.Controls/Platform/IWindowImpl.cs
+++ b/src/Avalonia.Controls/Platform/IWindowImpl.cs
@@ -46,9 +46,9 @@ namespace Avalonia.Platform
Action? GotInputWhenDisabled { get; set; }
///
- /// Enables or disables system window decorations (title bar, buttons, etc)
+ /// Enables or disables window decorations (title bar, buttons, etc)
///
- void SetSystemDecorations(SystemDecorations enabled);
+ void SetWindowDecorations(WindowDecorations enabled);
///
/// Sets the icon of this window.
diff --git a/src/Avalonia.Controls/Window.cs b/src/Avalonia.Controls/Window.cs
index 16bd8c5f2a..043abb0e1b 100644
--- a/src/Avalonia.Controls/Window.cs
+++ b/src/Avalonia.Controls/Window.cs
@@ -45,9 +45,9 @@ namespace Avalonia.Controls
}
///
- /// Determines system decorations (title bar, border, etc) for a
+ /// Determines window decorations (title bar, border, etc) for a
///
- public enum SystemDecorations
+ public enum WindowDecorations
{
///
/// No decorations
@@ -132,10 +132,10 @@ namespace Avalonia.Controls
o => o.OffScreenMargin);
///
- /// Defines the property.
+ /// Defines the property.
///
- public static readonly StyledProperty SystemDecorationsProperty =
- AvaloniaProperty.Register(nameof(SystemDecorations), SystemDecorations.Full);
+ public static readonly StyledProperty WindowDecorationsProperty =
+ AvaloniaProperty.Register(nameof(WindowDecorations), WindowDecorations.Full);
///
/// Defines the property.
@@ -357,12 +357,19 @@ namespace Avalonia.Controls
}
///
- /// Sets the system decorations (title bar, border, etc)
+ /// Gets or sets the window decorations (title bar, border, etc).
///
- public SystemDecorations SystemDecorations
+ public WindowDecorations WindowDecorations
{
- get => GetValue(SystemDecorationsProperty);
- set => SetValue(SystemDecorationsProperty, value);
+ get => GetValue(WindowDecorationsProperty);
+ set => SetValue(WindowDecorationsProperty, value);
+ }
+
+ [Obsolete("Use WindowDecorations instead.")]
+ public WindowDecorations SystemDecorations
+ {
+ get => WindowDecorations;
+ set => WindowDecorations = value;
}
///
@@ -676,10 +683,10 @@ namespace Avalonia.Controls
{
var platformNeeds = PlatformImpl?.RequestedDrawnDecorations ?? PlatformRequestedDrawnDecoration.None;
var parts = Chrome.DrawnWindowDecorationParts.None;
- if (SystemDecorations != SystemDecorations.None)
+ if (WindowDecorations != WindowDecorations.None)
{
if (platformNeeds.HasFlag(PlatformRequestedDrawnDecoration.TitleBar) &&
- SystemDecorations == SystemDecorations.Full)
+ WindowDecorations == WindowDecorations.Full)
parts |= Chrome.DrawnWindowDecorationParts.TitleBar;
if (platformNeeds.HasFlag(PlatformRequestedDrawnDecoration.Shadow))
parts |= Chrome.DrawnWindowDecorationParts.Shadow;
@@ -1343,11 +1350,11 @@ namespace Avalonia.Controls
protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change)
{
base.OnPropertyChanged(change);
- if (change.Property == SystemDecorationsProperty)
+ if (change.Property == WindowDecorationsProperty)
{
- var (_, typedNewValue) = change.GetOldAndNewValue();
+ var (_, typedNewValue) = change.GetOldAndNewValue();
- PlatformImpl?.SetSystemDecorations(typedNewValue);
+ PlatformImpl?.SetWindowDecorations(typedNewValue);
}
else if (change.Property == OwnerProperty)
diff --git a/src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs b/src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs
index 4fbe77d485..e714b62511 100644
--- a/src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs
+++ b/src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs
@@ -124,7 +124,7 @@ namespace Avalonia.DesignerSupport.Remote
{
}
- public void SetSystemDecorations(SystemDecorations enabled)
+ public void SetWindowDecorations(WindowDecorations enabled)
{
}
diff --git a/src/Avalonia.DesignerSupport/Remote/Stubs.cs b/src/Avalonia.DesignerSupport/Remote/Stubs.cs
index c9b6515ff6..706cd7de75 100644
--- a/src/Avalonia.DesignerSupport/Remote/Stubs.cs
+++ b/src/Avalonia.DesignerSupport/Remote/Stubs.cs
@@ -138,7 +138,7 @@ namespace Avalonia.DesignerSupport.Remote
{
}
- public void SetSystemDecorations(SystemDecorations enabled)
+ public void SetWindowDecorations(WindowDecorations enabled)
{
}
diff --git a/src/Avalonia.Native/WindowImpl.cs b/src/Avalonia.Native/WindowImpl.cs
index 7adbfca6af..f23b6cbc62 100644
--- a/src/Avalonia.Native/WindowImpl.cs
+++ b/src/Avalonia.Native/WindowImpl.cs
@@ -20,7 +20,7 @@ namespace Avalonia.Native
private readonly ITopLevelNativeMenuExporter _nativeMenuExporter;
private bool _canResize = true;
private bool _canMaximize = true;
- private Controls.SystemDecorations _decorations = Controls.SystemDecorations.Full;
+ private Controls.WindowDecorations _decorations = Controls.WindowDecorations.Full;
internal WindowImpl(IAvaloniaNativeFactory factory, AvaloniaNativePlatformOptions opts) : base(factory)
{
@@ -91,7 +91,7 @@ namespace Avalonia.Native
_native.SetCanMaximize(value.AsComBool());
}
- public void SetSystemDecorations(Controls.SystemDecorations enabled)
+ public void SetWindowDecorations(Controls.WindowDecorations enabled)
{
_decorations = enabled;
_native.SetDecorations((Interop.SystemDecorations)enabled);
@@ -186,7 +186,7 @@ namespace Avalonia.Native
if(_native is MicroComProxyBase pb && pb.IsDisposed)
return;
- if (WindowState == WindowState.FullScreen || !_isExtended || _decorations != Controls.SystemDecorations.Full)
+ if (WindowState == WindowState.FullScreen || !_isExtended || _decorations != Controls.WindowDecorations.Full)
{
ExtendedMargins = new Thickness();
}
diff --git a/src/Avalonia.X11/X11Window.cs b/src/Avalonia.X11/X11Window.cs
index 01190709b6..014dd014a5 100644
--- a/src/Avalonia.X11/X11Window.cs
+++ b/src/Avalonia.X11/X11Window.cs
@@ -317,7 +317,7 @@ namespace Avalonia.X11
MotifDecorations.Maximize | MotifDecorations.Minimize | MotifDecorations.ResizeH;
if (_popup
- || _systemDecorations == SystemDecorations.None)
+ || _windowDecorations == WindowDecorations.None)
decorations = 0;
var isDisabled = !IsEnabled;
@@ -695,7 +695,7 @@ namespace Avalonia.X11
private Thickness? GetFrameExtents()
{
- if (_systemDecorations != SystemDecorations.Full)
+ if (_windowDecorations != WindowDecorations.Full)
return new Thickness(0);
XGetWindowProperty(_x11.Display, _handle, _x11.Atoms._NET_FRAME_EXTENTS, IntPtr.Zero,
@@ -865,8 +865,8 @@ namespace Avalonia.X11
return rv;
}
- private SystemDecorations _requestedSystemDecorations = SystemDecorations.Full;
- private SystemDecorations _systemDecorations = SystemDecorations.Full;
+ private WindowDecorations _requestedWindowDecorations = WindowDecorations.Full;
+ private WindowDecorations _windowDecorations = WindowDecorations.Full;
private bool _canResize = true;
private bool _canMinimize = true;
private bool _canMaximize = true;
@@ -1179,9 +1179,9 @@ namespace Avalonia.X11
public PixelPoint PointToScreen(Point point) => _mode.PointToScreen(point);
- public void SetSystemDecorations(SystemDecorations enabled)
+ public void SetWindowDecorations(WindowDecorations enabled)
{
- _requestedSystemDecorations = enabled;
+ _requestedWindowDecorations = enabled;
UpdateEffectiveSystemDecorations();
}
@@ -1189,15 +1189,15 @@ namespace Avalonia.X11
{
// When extending client area, always hide WM decorations (we draw our own)
var effective = _extendClientAreaToDecorations
- ? SystemDecorations.None
- : (_requestedSystemDecorations == SystemDecorations.Full
- ? SystemDecorations.Full
- : SystemDecorations.None);
+ ? WindowDecorations.None
+ : (_requestedWindowDecorations == WindowDecorations.Full
+ ? WindowDecorations.Full
+ : WindowDecorations.None);
- if (_systemDecorations == effective)
+ if (_windowDecorations == effective)
return;
- _systemDecorations = effective;
+ _windowDecorations = effective;
UpdateMotifHints();
UpdateSizeHints(null);
}
diff --git a/src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs b/src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs
index 6ed907aa77..c755caf4eb 100644
--- a/src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs
+++ b/src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs
@@ -398,7 +398,7 @@ namespace Avalonia.Headless
}
- public void SetSystemDecorations(SystemDecorations enabled)
+ public void SetWindowDecorations(WindowDecorations enabled)
{
}
diff --git a/src/Windows/Avalonia.Win32/EmbeddedWindowImpl.cs b/src/Windows/Avalonia.Win32/EmbeddedWindowImpl.cs
index a039d568c6..0aeebc3206 100644
--- a/src/Windows/Avalonia.Win32/EmbeddedWindowImpl.cs
+++ b/src/Windows/Avalonia.Win32/EmbeddedWindowImpl.cs
@@ -14,7 +14,7 @@ namespace Avalonia.Win32
IsResizable = false,
IsMinimizable = false,
IsMaximizable = false,
- Decorations = SystemDecorations.None
+ Decorations = WindowDecorations.None
};
}
diff --git a/src/Windows/Avalonia.Win32/PopupImpl.cs b/src/Windows/Avalonia.Win32/PopupImpl.cs
index 8a8450443f..fd7b0982c4 100644
--- a/src/Windows/Avalonia.Win32/PopupImpl.cs
+++ b/src/Windows/Avalonia.Win32/PopupImpl.cs
@@ -113,7 +113,7 @@ namespace Avalonia.Win32
IsResizable = false,
IsMinimizable = false,
IsMaximizable = false,
- Decorations = SystemDecorations.None,
+ Decorations = WindowDecorations.None,
};
_parent = parent;
diff --git a/src/Windows/Avalonia.Win32/TrayIconImpl.cs b/src/Windows/Avalonia.Win32/TrayIconImpl.cs
index 917cc7ea3c..a53d461833 100644
--- a/src/Windows/Avalonia.Win32/TrayIconImpl.cs
+++ b/src/Windows/Avalonia.Win32/TrayIconImpl.cs
@@ -231,7 +231,7 @@ namespace Avalonia.Win32
var _trayMenu = new TrayPopupRoot
{
Name = "AvaloniaTrayPopupRoot_" + _tooltipText,
- SystemDecorations = SystemDecorations.None,
+ WindowDecorations = WindowDecorations.None,
SizeToContent = SizeToContent.WidthAndHeight,
Background = null,
TransparencyLevelHint = new[] { WindowTransparencyLevel.Transparent },
diff --git a/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs b/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs
index b8d3515ce3..ab86830b73 100644
--- a/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs
+++ b/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs
@@ -60,7 +60,7 @@ namespace Avalonia.Win32
case WindowsMessage.WM_NCCALCSIZE when ToInt32(wParam) == 1:
{
- if (_windowProperties.Decorations == SystemDecorations.None)
+ if (_windowProperties.Decorations == WindowDecorations.None)
return IntPtr.Zero;
// When the client area is extended into the frame, we are still requesting the standard styles matching
diff --git a/src/Windows/Avalonia.Win32/WindowImpl.cs b/src/Windows/Avalonia.Win32/WindowImpl.cs
index 57ba62307a..cda1d91194 100644
--- a/src/Windows/Avalonia.Win32/WindowImpl.cs
+++ b/src/Windows/Avalonia.Win32/WindowImpl.cs
@@ -139,7 +139,7 @@ namespace Avalonia.Win32
IsResizable = true,
IsMinimizable = true,
IsMaximizable = true,
- Decorations = SystemDecorations.Full
+ Decorations = WindowDecorations.Full
};
var surfaceFactory = AvaloniaLocator.Current.GetService();
@@ -544,7 +544,7 @@ namespace Avalonia.Win32
}
}
- private bool HasFullDecorations => _windowProperties.Decorations == SystemDecorations.Full;
+ private bool HasFullDecorations => _windowProperties.Decorations == WindowDecorations.Full;
public void Move(PixelPoint point) => Position = point;
@@ -596,7 +596,7 @@ namespace Avalonia.Win32
{
// We told Windows we have a caption, but since we're actually extending into it,
// it should be excluded from the final window bounds.
- if (_windowProperties.Decorations != SystemDecorations.None)
+ if (_windowProperties.Decorations != WindowDecorations.None)
{
var borderOnlyRect = ClientRectToWindowRect(requestedClientRect, WindowStyles.WS_BORDER);
requestedWindowRect.top = borderOnlyRect.top;
@@ -893,7 +893,7 @@ namespace Avalonia.Win32
UpdateWindowProperties(newWindowProperties);
}
- public void SetSystemDecorations(SystemDecorations value)
+ public void SetWindowDecorations(WindowDecorations value)
{
var newWindowProperties = _windowProperties;
@@ -1149,7 +1149,7 @@ namespace Avalonia.Win32
borderCaptionThickness.left *= -1;
borderCaptionThickness.top *= -1;
- if (_windowProperties.Decorations == SystemDecorations.Full)
+ if (_windowProperties.Decorations == WindowDecorations.Full)
{
if (_extendTitleBarHint != -1)
borderCaptionThickness.top = (int)(_extendTitleBarHint * RenderScaling);
@@ -1294,7 +1294,7 @@ namespace Avalonia.Win32
newWindowProperties.WindowState = state;
- UpdateWindowProperties(newWindowProperties, newWindowProperties.Decorations != SystemDecorations.Full);
+ UpdateWindowProperties(newWindowProperties, newWindowProperties.Decorations != WindowDecorations.Full);
if (command.HasValue)
{
@@ -1466,7 +1466,7 @@ namespace Avalonia.Win32
switch (newProperties.Decorations)
{
- case SystemDecorations.Full:
+ case WindowDecorations.Full:
style |= WindowStyles.WS_BORDER | WindowStyles.WS_CAPTION | WindowStyles.WS_SYSMENU;
if (newProperties.IsMinimizable)
@@ -1477,12 +1477,12 @@ namespace Avalonia.Win32
break;
- case SystemDecorations.BorderOnly:
+ case WindowDecorations.BorderOnly:
style |= WindowStyles.WS_BORDER;
break;
}
- if (newProperties.Decorations != SystemDecorations.None && newProperties.IsResizable)
+ if (newProperties.Decorations != WindowDecorations.None && newProperties.IsResizable)
style |= WindowStyles.WS_THICKFRAME;
var windowStates = GetWindowStateStyles();
@@ -1508,7 +1508,7 @@ namespace Avalonia.Win32
if (!_isFullScreenActive && ((oldProperties.Decorations != newProperties.Decorations) || forceChanges))
{
- var margin = newProperties.Decorations == SystemDecorations.BorderOnly ? 1 : 0;
+ var margin = newProperties.Decorations == WindowDecorations.BorderOnly ? 1 : 0;
var margins = new MARGINS
{
@@ -1655,7 +1655,7 @@ namespace Avalonia.Win32
public bool IsResizable;
public bool IsMinimizable;
public bool IsMaximizable;
- public SystemDecorations Decorations;
+ public WindowDecorations Decorations;
public bool IsFullScreen;
public WindowState WindowState;
}
diff --git a/tests/Avalonia.IntegrationTests.Appium/WindowTests_MacOS.cs b/tests/Avalonia.IntegrationTests.Appium/WindowTests_MacOS.cs
index e1d5075c7e..e2554a346b 100644
--- a/tests/Avalonia.IntegrationTests.Appium/WindowTests_MacOS.cs
+++ b/tests/Avalonia.IntegrationTests.Appium/WindowTests_MacOS.cs
@@ -345,13 +345,13 @@ namespace Avalonia.IntegrationTests.Appium
}
[PlatformTheory(TestPlatforms.MacOS)]
- [InlineData(SystemDecorations.None)]
- [InlineData(SystemDecorations.BorderOnly)]
- [InlineData(SystemDecorations.Full)]
- public void ExtendClientArea_SystemDecorations_Shows_Correct_Buttons(SystemDecorations decorations)
+ [InlineData(WindowDecorations.None)]
+ [InlineData(WindowDecorations.BorderOnly)]
+ [InlineData(WindowDecorations.Full)]
+ public void ExtendClientArea_SystemDecorations_Shows_Correct_Buttons(WindowDecorations decorations)
{
// #10650
- using (OpenWindow(extendClientArea: true, systemDecorations: decorations))
+ using (OpenWindow(extendClientArea: true, windowDecorations: decorations))
{
var secondaryWindow = GetWindow("SecondaryWindow");
@@ -359,7 +359,7 @@ namespace Avalonia.IntegrationTests.Appium
{
var chrome = secondaryWindow.GetSystemChromeButtons();
- if (decorations == SystemDecorations.Full)
+ if (decorations == WindowDecorations.Full)
{
Assert.NotNull(chrome.Close);
Assert.NotNull(chrome.Minimize);
@@ -374,7 +374,7 @@ namespace Avalonia.IntegrationTests.Appium
}
finally
{
- if (decorations != SystemDecorations.Full)
+ if (decorations != WindowDecorations.Full)
{
secondaryWindow.FindElementByAccessibilityId("CurrentSystemDecorations").Click();
Session.FindElementByAccessibilityId("SystemDecorationsFull").SendClick();
@@ -388,7 +388,7 @@ namespace Avalonia.IntegrationTests.Appium
ShowWindowMode mode = ShowWindowMode.NonOwned,
WindowStartupLocation location = WindowStartupLocation.Manual,
bool canResize = true,
- SystemDecorations systemDecorations = SystemDecorations.Full,
+ WindowDecorations windowDecorations = WindowDecorations.Full,
bool extendClientArea = false)
{
var sizeTextBox = Session.FindElementByAccessibilityId("ShowWindowSize");
@@ -417,10 +417,10 @@ namespace Avalonia.IntegrationTests.Appium
if (canResizeCheckBox.GetIsChecked() != canResize)
canResizeCheckBox.Click();
- if (systemDecorationsComboBox.GetComboBoxValue() != systemDecorations.ToString())
+ if (systemDecorationsComboBox.GetComboBoxValue() != windowDecorations.ToString())
{
systemDecorationsComboBox.Click();
- Session.FindElementByName(systemDecorations.ToString()).SendClick();
+ Session.FindElementByName(windowDecorations.ToString()).SendClick();
}
if (extendClientAreaCheckBox.GetIsChecked() != extendClientArea)
diff --git a/tests/Avalonia.IntegrationTests.Win32/ExtendClientAreaWindowTests.cs b/tests/Avalonia.IntegrationTests.Win32/ExtendClientAreaWindowTests.cs
index cae559e605..7c7d34ac14 100644
--- a/tests/Avalonia.IntegrationTests.Win32/ExtendClientAreaWindowTests.cs
+++ b/tests/Avalonia.IntegrationTests.Win32/ExtendClientAreaWindowTests.cs
@@ -26,7 +26,7 @@ public abstract class ExtendClientAreaWindowTests : IDisposable
}
}
- protected abstract SystemDecorations Decorations { get; }
+ protected abstract WindowDecorations Decorations { get; }
public static MatrixTheoryData States
=> new([true, false], Enum.GetValues());
@@ -39,7 +39,7 @@ public abstract class ExtendClientAreaWindowTests : IDisposable
{
CanResize = canResize,
WindowState = state,
- SystemDecorations = Decorations,
+ WindowDecorations = Decorations,
ExtendClientAreaToDecorationsHint = true,
Width = ClientWidth,
Height = ClientHeight,
@@ -160,8 +160,8 @@ public abstract class ExtendClientAreaWindowTests : IDisposable
public sealed class DecorationsFull : ExtendClientAreaWindowTests
{
- protected override SystemDecorations Decorations
- => SystemDecorations.Full;
+ protected override WindowDecorations Decorations
+ => WindowDecorations.Full;
protected override void VerifyNormalState(bool canResize)
{
@@ -182,8 +182,8 @@ public abstract class ExtendClientAreaWindowTests : IDisposable
public sealed class DecorationsBorderOnly : ExtendClientAreaWindowTests
{
- protected override SystemDecorations Decorations
- => SystemDecorations.BorderOnly;
+ protected override WindowDecorations Decorations
+ => WindowDecorations.BorderOnly;
protected override void VerifyNormalState(bool canResize)
{
@@ -197,8 +197,8 @@ public abstract class ExtendClientAreaWindowTests : IDisposable
public sealed class DecorationsNone : ExtendClientAreaWindowTests
{
- protected override SystemDecorations Decorations
- => SystemDecorations.None;
+ protected override WindowDecorations Decorations
+ => WindowDecorations.None;
protected override void VerifyNormalState(bool canResize)
{
diff --git a/tests/Avalonia.IntegrationTests.Win32/StandardWindowTests.cs b/tests/Avalonia.IntegrationTests.Win32/StandardWindowTests.cs
index c58bd0012a..5971c4dc6c 100644
--- a/tests/Avalonia.IntegrationTests.Win32/StandardWindowTests.cs
+++ b/tests/Avalonia.IntegrationTests.Win32/StandardWindowTests.cs
@@ -27,7 +27,7 @@ public abstract class StandardWindowTests : IDisposable
}
}
- protected abstract SystemDecorations Decorations { get; }
+ protected abstract WindowDecorations Decorations { get; }
protected abstract bool HasCaption { get; }
@@ -42,7 +42,7 @@ public abstract class StandardWindowTests : IDisposable
{
CanResize = canResize,
WindowState = state,
- SystemDecorations = Decorations,
+ WindowDecorations = Decorations,
ExtendClientAreaToDecorationsHint = false,
Width = ClientWidth,
Height = ClientHeight,
@@ -108,8 +108,8 @@ public abstract class StandardWindowTests : IDisposable
public sealed class DecorationsFull : StandardWindowTests
{
- protected override SystemDecorations Decorations
- => SystemDecorations.Full;
+ protected override WindowDecorations Decorations
+ => WindowDecorations.Full;
protected override bool HasCaption
=> true;
@@ -117,8 +117,8 @@ public abstract class StandardWindowTests : IDisposable
public sealed class DecorationsBorderOnly : StandardWindowTests
{
- protected override SystemDecorations Decorations
- => SystemDecorations.BorderOnly;
+ protected override WindowDecorations Decorations
+ => WindowDecorations.BorderOnly;
protected override bool HasCaption
=> false;
@@ -126,8 +126,8 @@ public abstract class StandardWindowTests : IDisposable
public sealed class DecorationsNone : StandardWindowTests
{
- protected override SystemDecorations Decorations
- => SystemDecorations.None;
+ protected override WindowDecorations Decorations
+ => WindowDecorations.None;
protected override bool HasCaption
=> false;