56 static void clear_default();
57 MAKE_PROPERTY(config_properties, get_config_properties);
58 MAKE_PROPERTY(
default, get_default, set_default);
67 INLINE
bool is_any_specified()
const;
69 INLINE
void set_origin(
const LPoint2i &origin);
70 INLINE
void set_origin(
int x_origin,
int y_origin);
72 INLINE LPoint2i get_origin()
const;
74 INLINE
const LPoint2i &get_origin()
const;
76 INLINE
int get_x_origin()
const;
77 INLINE
int get_y_origin()
const;
78 INLINE
bool has_origin()
const;
79 INLINE
void clear_origin();
80 MAKE_PROPERTY2(origin, has_origin, get_origin, set_origin, clear_origin);
82 INLINE
void set_size(
const LVector2i &size);
83 INLINE
void set_size(
int x_size,
int y_size);
85 INLINE LVector2i get_size()
const;
87 INLINE
const LVector2i &get_size()
const;
89 INLINE
int get_x_size()
const;
90 INLINE
int get_y_size()
const;
91 INLINE
bool has_size()
const;
92 INLINE
void clear_size();
93 MAKE_PROPERTY2(size, has_size, get_size, set_size, clear_size);
95 INLINE
bool has_mouse_mode()
const;
96 INLINE
void set_mouse_mode(MouseMode mode);
97 INLINE MouseMode get_mouse_mode()
const;
98 INLINE
void clear_mouse_mode();
99 MAKE_PROPERTY2(mouse_mode, has_mouse_mode, get_mouse_mode,
100 set_mouse_mode, clear_mouse_mode);
102 INLINE
void set_title(
const std::string &title);
104 INLINE std::string get_title()
const;
106 INLINE
const std::string &get_title()
const;
108 INLINE
bool has_title()
const;
109 INLINE
void clear_title();
110 MAKE_PROPERTY2(title, has_title, get_title, set_title, clear_title);
112 INLINE
void set_undecorated(
bool undecorated);
113 INLINE
bool get_undecorated()
const;
114 INLINE
bool has_undecorated()
const;
115 INLINE
void clear_undecorated();
116 MAKE_PROPERTY2(undecorated, has_undecorated, get_undecorated,
117 set_undecorated, clear_undecorated);
119 INLINE
void set_fixed_size(
bool fixed_size);
120 INLINE
bool get_fixed_size()
const;
121 INLINE
bool has_fixed_size()
const;
122 INLINE
void clear_fixed_size();
123 MAKE_PROPERTY2(fixed_size, has_fixed_size, get_fixed_size,
124 set_fixed_size, clear_fixed_size);
126 INLINE
void set_fullscreen(
bool fullscreen);
127 INLINE
bool get_fullscreen()
const;
128 INLINE
bool has_fullscreen()
const;
129 INLINE
void clear_fullscreen();
130 MAKE_PROPERTY2(fullscreen, has_fullscreen, get_fullscreen,
131 set_fullscreen, clear_fullscreen);
133 INLINE
void set_foreground(
bool foreground);
134 INLINE
bool get_foreground()
const;
135 INLINE
bool has_foreground()
const;
136 INLINE
void clear_foreground();
137 MAKE_PROPERTY2(foreground, has_foreground, get_foreground,
138 set_foreground, clear_foreground);
140 INLINE
void set_minimized(
bool minimized);
141 INLINE
bool get_minimized()
const;
142 INLINE
bool has_minimized()
const;
143 INLINE
void clear_minimized();
144 MAKE_PROPERTY2(minimized, has_minimized, get_minimized,
145 set_minimized, clear_minimized);
147 INLINE
void set_raw_mice(
bool raw_mice);
148 INLINE
bool get_raw_mice()
const;
149 INLINE
bool has_raw_mice()
const;
150 INLINE
void clear_raw_mice();
152 INLINE
void set_open(
bool open);
153 INLINE
bool get_open()
const;
154 INLINE
bool has_open()
const;
155 INLINE
void clear_open();
156 MAKE_PROPERTY2(open, has_open, get_open, set_open, clear_open);
158 INLINE
void set_cursor_hidden(
bool cursor_hidden);
159 INLINE
bool get_cursor_hidden()
const;
160 INLINE
bool has_cursor_hidden()
const;
161 INLINE
void clear_cursor_hidden();
162 MAKE_PROPERTY2(cursor_hidden, has_cursor_hidden, get_cursor_hidden,
163 set_cursor_hidden, clear_cursor_hidden);
165 INLINE
void set_icon_filename(
const Filename &icon_filename);
167 INLINE
Filename get_icon_filename()
const;
169 INLINE
const Filename &get_icon_filename()
const;
171 INLINE
bool has_icon_filename()
const;
172 INLINE
void clear_icon_filename();
173 MAKE_PROPERTY2(icon_filename, has_icon_filename, get_icon_filename,
174 set_icon_filename, clear_icon_filename);
176 INLINE
void set_cursor_filename(
const Filename &cursor_filename);
178 INLINE
Filename get_cursor_filename()
const;
180 INLINE
const Filename &get_cursor_filename()
const;
182 INLINE
bool has_cursor_filename()
const;
183 INLINE
void clear_cursor_filename();
184 MAKE_PROPERTY2(cursor_filename, has_cursor_filename, get_cursor_filename,
185 set_cursor_filename, clear_cursor_filename);
187 INLINE
void set_z_order(ZOrder z_order);
188 INLINE ZOrder get_z_order()
const;
189 INLINE
bool has_z_order()
const;
190 INLINE
void clear_z_order();
191 MAKE_PROPERTY2(z_order, has_z_order, get_z_order, set_z_order, clear_z_order);
193 void set_parent_window(
size_t parent);
194 INLINE
void set_parent_window(
WindowHandle *parent_window =
nullptr);
196 INLINE
bool has_parent_window()
const;
197 INLINE
void clear_parent_window();
198 MAKE_PROPERTY2(parent_window, has_parent_window, get_parent_window,
199 set_parent_window, clear_parent_window);
203 void output(std::ostream &out)
const;
212 S_undecorated = 0x00008,
213 S_fullscreen = 0x00010,
214 S_foreground = 0x00020,
215 S_minimized = 0x00040,
217 S_cursor_hidden = 0x00100,
218 S_fixed_size = 0x00200,
220 S_icon_filename = 0x00800,
221 S_cursor_filename = 0x01000,
222 S_mouse_mode = 0x02000,
223 S_parent_window = 0x04000,
224 S_raw_mice = 0x08000,
230 F_undecorated = S_undecorated,
231 F_fullscreen = S_fullscreen,
232 F_foreground = S_foreground,
233 F_minimized = S_minimized,
235 F_cursor_hidden = S_cursor_hidden,
236 F_fixed_size = S_fixed_size,
237 F_raw_mice = S_raw_mice,
243 MouseMode _mouse_mode;