Skip to content

Commit

Permalink
feat(skiawpf): Added support for Full Screen mode
Browse files Browse the repository at this point in the history
  • Loading branch information
carldebilly committed Jul 31, 2020
1 parent 9947711 commit 64adca7
Showing 1 changed file with 30 additions and 5 deletions.
35 changes: 30 additions & 5 deletions src/Uno.UI.Runtime.Skia.Wpf/WPF/WpfApplicationViewExtension.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Windows;
using Windows.UI.ViewManagement;

using WpfApplication = System.Windows.Application;
Expand All @@ -19,17 +20,41 @@ public WpfApplicationViewExtension(object owner)
_mainWpfWindow = WpfApplication.Current.MainWindow;
}

#if !DEBUG
#error TODO
#endif
public string Title
{
get => _mainWpfWindow.Title;
set => _mainWpfWindow.Title = value;
}

public bool TryEnterFullScreenMode() => throw new NotImplementedException();
private bool _isFullScreen = false;
private (WindowStyle WindowStyle, WindowState WindowState) _previousModes;

public void ExitFullScreenMode() => throw new NotImplementedException();
public bool TryEnterFullScreenMode()
{
if (_isFullScreen || _mainWpfWindow.WindowStyle == WindowStyle.None)
{
return false;
}

_previousModes = (_mainWpfWindow.WindowStyle, _mainWpfWindow.WindowState);

_mainWpfWindow.WindowStyle = WindowStyle.None;
_mainWpfWindow.WindowState = WindowState.Maximized;
_isFullScreen = true;

return true;
}

public void ExitFullScreenMode()
{
if (!_isFullScreen)
{
return;
}

_isFullScreen = false;
_mainWpfWindow.WindowStyle = _previousModes.WindowStyle;
_mainWpfWindow.WindowState = _previousModes.WindowState;
}
}
}

0 comments on commit 64adca7

Please sign in to comment.