2022-02-25 21:23:31 +00:00
|
|
|
|
namespace MoonWorks
|
2021-01-19 19:24:23 +00:00
|
|
|
|
{
|
2023-09-19 20:19:41 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// All the information required for window creation.
|
|
|
|
|
/// </summary>
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public struct WindowCreateInfo
|
|
|
|
|
{
|
2023-09-19 20:19:41 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// The name of the window that will be displayed in the operating system.
|
|
|
|
|
/// </summary>
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public string WindowTitle;
|
2023-09-19 20:19:41 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// The width of the window.
|
|
|
|
|
/// </summary>
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public uint WindowWidth;
|
2023-09-19 20:19:41 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// The height of the window.
|
|
|
|
|
/// </summary>
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public uint WindowHeight;
|
2023-09-19 20:19:41 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Specifies if the window will be created in windowed mode or a fullscreen mode.
|
|
|
|
|
/// </summary>
|
2022-02-23 05:14:32 +00:00
|
|
|
|
public ScreenMode ScreenMode;
|
2023-09-19 20:19:41 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Specifies the presentation mode for the window. Roughly equivalent to V-Sync.
|
|
|
|
|
/// </summary>
|
2022-09-30 20:02:51 +00:00
|
|
|
|
public PresentMode PresentMode;
|
2023-09-19 20:19:41 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Whether the window can be resized using the operating system's window dragging feature.
|
|
|
|
|
/// </summary>
|
2022-07-27 02:08:21 +00:00
|
|
|
|
public bool SystemResizable;
|
2023-09-19 20:19:41 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Specifies if the window will open at the maximum desktop resolution.
|
|
|
|
|
/// </summary>
|
2022-07-28 23:06:37 +00:00
|
|
|
|
public bool StartMaximized;
|
2022-03-02 22:46:55 +00:00
|
|
|
|
|
|
|
|
|
public WindowCreateInfo(
|
|
|
|
|
string windowTitle,
|
|
|
|
|
uint windowWidth,
|
|
|
|
|
uint windowHeight,
|
2022-07-27 02:08:21 +00:00
|
|
|
|
ScreenMode screenMode,
|
2022-09-30 20:02:51 +00:00
|
|
|
|
PresentMode presentMode,
|
2022-07-28 23:06:37 +00:00
|
|
|
|
bool systemResizable = false,
|
|
|
|
|
bool startMaximized = false
|
2022-03-02 22:46:55 +00:00
|
|
|
|
) {
|
|
|
|
|
WindowTitle = windowTitle;
|
|
|
|
|
WindowWidth = windowWidth;
|
|
|
|
|
WindowHeight = windowHeight;
|
|
|
|
|
ScreenMode = screenMode;
|
2022-09-30 20:02:51 +00:00
|
|
|
|
PresentMode = presentMode;
|
2022-07-27 02:08:21 +00:00
|
|
|
|
SystemResizable = systemResizable;
|
2022-07-28 23:06:37 +00:00
|
|
|
|
StartMaximized = startMaximized;
|
2022-03-02 22:46:55 +00:00
|
|
|
|
}
|
2022-02-23 05:14:32 +00:00
|
|
|
|
}
|
2021-01-19 19:24:23 +00:00
|
|
|
|
}
|