ReXGlue SDK
Loading...
Searching...
No Matches
window.h
Go to the documentation of this file.
1
10
11#pragma once
12
13#include <string>
14
15#include <rex/types.h>
16
17namespace rex::ui {
18
20enum class AspectRatio : u8 {
22 k4x3,
23 k5x4,
24 k3x2,
25 k16x10,
26 k16x9,
27 k21x9,
28 k32x9,
29};
30
31struct WindowSize {
32 u32 width_px = 0;
33 u32 height_px = 0;
34};
35
36enum class CursorVisibility : u8 {
37 kVisible,
39 kHidden,
40};
41
42struct Monitor {
44 i32 index = 0;
45 std::string name;
47 i32 x = 0;
49 i32 y = 0;
51 u32 width = 0;
53 u32 height = 0;
55 f32 refresh_rate = 0;
58};
59
60struct HostLocale {
62 std::string language;
64 std::string country;
65};
66
68 std::string title;
69 u32 width = 1280;
70 u32 height = 720;
71 u32 min_width = 0;
72 u32 min_height = 0;
74 bool fullscreen = true;
75 bool fullscreen_exclusive = false;
76 i32 monitor = 0;
77 bool vulkan_surface = false;
78 u32 mode_width = 0;
79 u32 mode_height = 0;
80};
81
82enum class CursorShape : u8 {
83 kArrow,
84 kTextInput,
85 kResizeAll,
86 kResizeNS,
87 kResizeEW,
88 kResizeNESW,
89 kResizeNWSE,
90 kHand,
91 kNotAllowed,
92};
93
94} // namespace rex::ui
Definition window.h:60
std::string language
Definition window.h:62
std::string country
Definition window.h:64
Definition window.h:42
u32 width
Definition window.h:51
f32 content_scale
Definition window.h:57
i32 y
Definition window.h:49
u32 height
Definition window.h:53
i32 index
Definition window.h:44
f32 refresh_rate
Definition window.h:55
i32 x
Definition window.h:47
Definition window.h:67
bool vulkan_surface
Definition window.h:77
bool fullscreen_exclusive
Definition window.h:75
u32 mode_height
Definition window.h:79
u32 mode_width
Definition window.h:78
Definition window.h:31
Integer types, byte order wrappers and size literals.
AspectRatio
Definition window.h:20
@ kStretch
Definition window.h:21
CursorVisibility
Definition window.h:36
@ kAutoHidden
Definition window.h:38