mirror of
https://github.com/Ellpeck/MLEM.git
synced 2024-11-29 23:58:34 +01:00
made graphics extensions not cause an exception
This commit is contained in:
parent
00b07e1c45
commit
0a1147df9d
1 changed files with 5 additions and 6 deletions
|
@ -9,18 +9,17 @@ namespace MLEM.Extensions {
|
||||||
private static int lastHeight;
|
private static int lastHeight;
|
||||||
|
|
||||||
public static void SetFullscreen(this GraphicsDeviceManager manager, bool fullscreen) {
|
public static void SetFullscreen(this GraphicsDeviceManager manager, bool fullscreen) {
|
||||||
|
if (fullscreen || lastWidth == 0 || lastHeight == 0) {
|
||||||
|
var view = manager.GraphicsDevice.Viewport;
|
||||||
|
lastWidth = view.Width;
|
||||||
|
lastHeight = view.Height;
|
||||||
|
}
|
||||||
manager.IsFullScreen = fullscreen;
|
manager.IsFullScreen = fullscreen;
|
||||||
if (fullscreen) {
|
if (fullscreen) {
|
||||||
lastWidth = manager.GraphicsDevice.Viewport.Width;
|
|
||||||
lastHeight = manager.GraphicsDevice.Viewport.Height;
|
|
||||||
|
|
||||||
var curr = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode;
|
var curr = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode;
|
||||||
manager.PreferredBackBufferWidth = curr.Width;
|
manager.PreferredBackBufferWidth = curr.Width;
|
||||||
manager.PreferredBackBufferHeight = curr.Height;
|
manager.PreferredBackBufferHeight = curr.Height;
|
||||||
} else {
|
} else {
|
||||||
if (lastWidth <= 0 || lastHeight <= 0)
|
|
||||||
throw new InvalidOperationException("Can't call SetFullscreen to change out of fullscreen mode without going into fullscreen mode first");
|
|
||||||
|
|
||||||
manager.PreferredBackBufferWidth = lastWidth;
|
manager.PreferredBackBufferWidth = lastWidth;
|
||||||
manager.PreferredBackBufferHeight = lastHeight;
|
manager.PreferredBackBufferHeight = lastHeight;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue