Browse Source

Don't allow window zoom when CanResize=false.

pull/10851/head
Steven Kirk 3 years ago
parent
commit
6c852f805f
  1. 12
      src/Avalonia.Native/WindowImpl.cs

12
src/Avalonia.Native/WindowImpl.cs

@ -21,6 +21,7 @@ namespace Avalonia.Native
private DoubleClickHelper _doubleClickHelper; private DoubleClickHelper _doubleClickHelper;
private readonly ITopLevelNativeMenuExporter _nativeMenuExporter; private readonly ITopLevelNativeMenuExporter _nativeMenuExporter;
private readonly AvaloniaNativeTextInputMethod _inputMethod; private readonly AvaloniaNativeTextInputMethod _inputMethod;
private bool _canResize = true;
internal WindowImpl(IAvaloniaNativeFactory factory, AvaloniaNativePlatformOptions opts, internal WindowImpl(IAvaloniaNativeFactory factory, AvaloniaNativePlatformOptions opts,
AvaloniaNativeGlPlatformGraphics glFeature) : base(factory, opts, glFeature) AvaloniaNativeGlPlatformGraphics glFeature) : base(factory, opts, glFeature)
@ -75,6 +76,7 @@ namespace Avalonia.Native
public void CanResize(bool value) public void CanResize(bool value)
{ {
_canResize = value;
_native.SetCanResize(value.AsComBool()); _native.SetCanResize(value.AsComBool());
} }
@ -137,14 +139,10 @@ namespace Avalonia.Native
{ {
if (_doubleClickHelper.IsDoubleClick(e.Timestamp, e.Position)) if (_doubleClickHelper.IsDoubleClick(e.Timestamp, e.Position))
{ {
// TOGGLE WINDOW STATE. if (_canResize)
if (WindowState == WindowState.Maximized || WindowState == WindowState.FullScreen)
{ {
WindowState = WindowState.Normal; WindowState = WindowState is WindowState.Maximized or WindowState.FullScreen ?
} WindowState.Normal : WindowState.Maximized;
else
{
WindowState = WindowState.Maximized;
} }
} }
else else

Loading…
Cancel
Save