1.8 KiB
title | date | weight |
---|---|---|
Window | 2021-01-24T20:43:17-08:00 | 1 |
Window management in MoonWorks is implemented using the SDL2 library. All window management is handled through the Window
class. A reference to this class named MainWindow
is automatically created on startup and can be retrieved from your Game
subclass.
Your game is assumed to have a window and you must pass a WindowCreateInfo
struct when creating your Game
.
WindowTitle
is the name of the window that will be displayed in the operating system.WindowWidth
is how wide the window will be.WindowHeight
is how tall the window will be.ScreenMode
determines whether the window will be created in windowed mode, fullscreen, or borderless fullscreen.SystemResizable
specifies if the user will be able to resize the window by clicking and dragging the corners.StartMaximized
specifies if the window will open at the maximum desktop resolution.
You can change the screen mode at runtime with the SetScreenMode
method:
Window.SetScreenMode(ScreenMode.Fullscreen);
You can change the window size at runtime with the SetWindowSize
method.
Window.SetWindowSize(1280, 720);
Note that if you change the screen resolution, it is your responsibility to manage any graphics state that may need to change as a result of this change.
You may specify a method to be called when the window size changes by calling RegisterSizeChangeCallback
.
Window.RegisterSizeChangeCallback(MySizeChangeCallback);
MoonWorks does support your application having multiple windows. To create a new Window, you can call the Window class's constructor. To make it renderable you will need to call ClaimWindow
from the GraphicsDevice
, which we will get to later.