Browse Source

use WindowProperties to hold fullscreen flag.

pull/3849/head
Dan Walmsley 6 years ago
parent
commit
51ad905a2c
  1. 14
      src/Windows/Avalonia.Win32/WindowImpl.cs

14
src/Windows/Avalonia.Win32/WindowImpl.cs

@ -38,7 +38,6 @@ namespace Avalonia.Win32
};
private SavedWindowInfo _savedWindowInfo;
private bool _fullScreen;
private IntPtr _taskBarList;
#if USE_MANAGED_DRAG
@ -253,7 +252,7 @@ namespace Avalonia.Win32
private void SetFullScreen(bool fullscreen)
{
// Save current window state if not already fullscreen.
if (!_fullScreen)
if (!_windowProperties.IsFullScreen)
{
_savedWindowInfo.Style = GetStyle();
_savedWindowInfo.ExStyle = GetExtendedStyle();
@ -261,9 +260,9 @@ namespace Avalonia.Win32
_savedWindowInfo.WindowRect = windowRect;
}
_fullScreen = fullscreen;
_windowProperties.IsFullScreen = fullscreen;
if (_fullScreen)
if (_windowProperties.IsFullScreen)
{
// Set new window style and size.
SetStyle(_savedWindowInfo.Style & ~(WindowStyles.WS_CAPTION | WindowStyles.WS_THICKFRAME));
@ -639,7 +638,7 @@ namespace Avalonia.Win32
switch (state)
{
case WindowState.Minimized:
if (_fullScreen)
if (_windowProperties.IsFullScreen)
{
SetFullScreen(false);
}
@ -647,7 +646,7 @@ namespace Avalonia.Win32
command = ShowWindowCommand.Minimize;
break;
case WindowState.Maximized:
if (_fullScreen)
if (_windowProperties.IsFullScreen)
{
SetFullScreen(false);
}
@ -656,7 +655,7 @@ namespace Avalonia.Win32
break;
case WindowState.Normal:
if (_fullScreen)
if (_windowProperties.IsFullScreen)
{
SetFullScreen(false);
}
@ -838,6 +837,7 @@ namespace Avalonia.Win32
public bool ShowInTaskbar;
public bool IsResizable;
public SystemDecorations Decorations;
public bool IsFullScreen;
}
}
}

Loading…
Cancel
Save