1 module d2d.window.windowflags;
2 
3 import d2d;
4 
5 /// Window creation flags.
6 enum WindowFlags : uint
7 {
8 	/// Fullscreen window with custom resolution.
9 	Fullscreen     = SDL_WINDOW_FULLSCREEN,
10 	/// Fullscreen window without automatic resolution.
11 	FullscreenAuto = SDL_WINDOW_FULLSCREEN_DESKTOP,
12 	/// Directly show the window without calling `show();`
13 	Shown          = SDL_WINDOW_SHOWN,
14 	/// Window is hidden by default and needs to be shown by `show();`
15 	Hidden         = SDL_WINDOW_HIDDEN,
16 	/// Window has no border or title bar.
17 	Borderless     = SDL_WINDOW_BORDERLESS,
18 	/// Window is resizable.
19 	Resizable      = SDL_WINDOW_RESIZABLE,
20 	/// Window is initially started in minimized mode.
21 	Minimized      = SDL_WINDOW_MINIMIZED,
22 	/// Window is initially started in maximized mode.
23 	Maximized      = SDL_WINDOW_MAXIMIZED,
24 	/// Window directly gains input and mouse focus on startup.
25 	Focused        = SDL_WINDOW_INPUT_FOCUS | SDL_WINDOW_MOUSE_FOCUS,
26 	/// Window allows high DPI monitors.
27 	HighDPI        = SDL_WINDOW_ALLOW_HIGHDPI,
28 	/// Combination of `Shown | Focused`
29 	Default        = Shown | Focused,
30 }
31 
32 unittest
33 {
34 	assert((WindowFlags.Default | WindowFlags.HighDPI) == (WindowFlags.Shown | WindowFlags.Focused | WindowFlags.HighDPI));
35 }