14 #ifndef WINDOWPROPERTIES_H
15 #define WINDOWPROPERTIES_H
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;
254 EXPCL_PANDA_DISPLAY std::ostream &
255 operator << (std::ostream &out, WindowProperties::ZOrder z_order);
256 EXPCL_PANDA_DISPLAY std::istream &
257 operator >> (std::istream &in, WindowProperties::ZOrder &z_order);
259 EXPCL_PANDA_DISPLAY std::ostream &
260 operator << (std::ostream &out, WindowProperties::MouseMode mode);
261 EXPCL_PANDA_DISPLAY std::istream &
262 operator >> (std::istream &in, WindowProperties::MouseMode &mode);
265 INLINE std::ostream &operator << (std::ostream &out,
const WindowProperties &properties);
The name of a file, such as a texture file or an Egg file.
This object represents a window on the desktop, not necessarily a Panda window.
A container for the various kinds of properties we might ask to have on a graphics window before we o...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.