wlmaker
Loading...
Searching...
No Matches
window.h
Go to the documentation of this file.
1/* ========================================================================= */
20#ifndef __WLMTK_WINDOW_H__
21#define __WLMTK_WINDOW_H__
22
23#include <libbase/libbase.h>
24#include <stdbool.h>
25#include <stdint.h>
26#include <wayland-server-core.h>
27
30
31#include "content.h" // IWYU pragma: keep
32#include "element.h"
33#include "menu.h"
34#include "style.h"
35#include "util.h"
36#include "workspace.h" // IWYU pragma: keep
37
38struct wlr_output;
39struct wlr_seat;
40
41#ifdef __cplusplus
42extern "C" {
43#endif // __cplusplus
44
46typedef struct {
60 struct wl_signal state_changed;
62
79
92 wlmtk_content_t *content_ptr,
93 const wlmtk_window_style_t *style_ptr,
94 const wlmtk_menu_style_t *menu_style_ptr,
95 struct wlr_seat *wlr_seat_ptr);
96
105 wlmtk_window_t *window_ptr);
106
112void wlmtk_window_destroy(wlmtk_window_t *window_ptr);
113
126
136
138wlmtk_window_t *wlmtk_window_from_dlnode(bs_dllist_node_t *dlnode_ptr);
140bs_dllist_node_t *wlmtk_dlnode_from_window(wlmtk_window_t *window_ptr);
141
150 wlmtk_window_t *window_ptr,
151 struct wlr_output *wlr_output_ptr);
152
163 wlmtk_window_t *window_ptr,
164 bool activated);
165
174
182 wlmtk_window_t *window_ptr,
183 bool decorated);
184
192 wlmtk_window_t *window_ptr,
193 uint32_t properties);
194
204 wlmtk_window_t *window_ptr,
205 const char *title_ptr);
206
216const char *wlmtk_window_get_title(wlmtk_window_t *window_ptr);
217
224
231
241
252 uint32_t edges);
253
262void wlmtk_window_set_position(wlmtk_window_t *window_ptr, int x, int y);
263
272 wlmtk_window_t *window_ptr,
273 int *width_ptr,
274 int *height_ptr);
275
290 wlmtk_window_t *window_ptr,
291 bool maximized);
292
307 wlmtk_window_t *window_ptr,
308 bool maximized);
309
312
324 wlmtk_window_t *window_ptr,
325 bool fullscreen);
326
333 wlmtk_window_t *window_ptr);
334
349 wlmtk_window_t *window_ptr,
350 bool fullscreen);
351
363
372void wlmtk_window_request_shaded(wlmtk_window_t *window_ptr, bool shaded);
373
381bool wlmtk_window_is_shaded(wlmtk_window_t *window_ptr);
382
390 wlmtk_window_t *window_ptr,
391 bool enabled);
392
401
411 wlmtk_window_t *window_ptr);
412
429 wlmtk_window_t *window_ptr,
430 int x,
431 int y,
432 int width,
433 int height);
434
453void wlmtk_window_serial(wlmtk_window_t *window_ptr, uint32_t serial);
454
464 wlmtk_window_t *window_ptr,
465 wlmtk_workspace_t *workspace_ptr);
466
469
472 wlmtk_window_t *window_ptr);
473
474/* ------------------------------------------------------------------------- */
475
496
503
505extern const bs_test_case_t wlmtk_window_test_cases[];
506
507#ifdef __cplusplus
508} // extern "C"
509#endif // __cplusplus
510
511#endif /* __WLMTK_WINDOW_H__ */
512/* == End of window.h ====================================================== */
Definition content.h:127
Definition element.h:175
Definition content.h:328
Definition surface.h:154
Definition menu.c:32
Definition window.c:82
Definition workspace.c:50
Definition window.h:477
bool request_resize_called
Definition window.h:492
wlmtk_menu_t * window_menu_ptr
Definition window.h:485
wlmtk_fake_surface_t * fake_surface_ptr
Definition window.h:481
bool request_move_called
Definition window.h:490
wlmtk_fake_content_t * fake_content_ptr
Definition window.h:483
wlmtk_window_t * window_ptr
Definition window.h:479
uint32_t request_resize_edges
Definition window.h:494
bool request_minimize_called
Definition window.h:488
Definition menu.h:41
Definition util.h:35
Definition window.h:46
Definition style.h:180
wlmtk_window_t * wlmtk_window_from_element(wlmtk_element_t *element_ptr)
Definition window.c:309
bool wlmtk_window_is_fullscreen(wlmtk_window_t *window_ptr)
Definition window.c:580
struct wlr_box wlmtk_window_get_position_and_size(wlmtk_window_t *window_ptr)
Definition window.c:702
void wlmtk_window_request_move(wlmtk_window_t *window_ptr)
Definition window.c:657
void wlmtk_window_commit_maximized(wlmtk_window_t *window_ptr, bool maximized)
Definition window.c:488
void wlmtk_window_destroy(wlmtk_window_t *window_ptr)
Definition window.c:289
void wlmtk_window_request_maximized(wlmtk_window_t *window_ptr, bool maximized)
Definition window.c:455
bool wlmtk_window_is_activated(wlmtk_window_t *window_ptr)
Definition window.c:362
void wlmtk_window_request_close(wlmtk_window_t *window_ptr)
Definition window.c:443
wlmtk_menu_t * wlmtk_window_menu(wlmtk_window_t *window_ptr)
Definition window.c:651
void wlmtk_window_set_properties(wlmtk_window_t *window_ptr, uint32_t properties)
Definition window.c:384
const bs_test_case_t wlmtk_window_test_cases[]
Definition window.c:1429
void wlmtk_window_set_output(wlmtk_window_t *window_ptr, struct wlr_output *wlr_output_ptr)
Definition window.c:331
void wlmtk_window_set_activated(wlmtk_window_t *window_ptr, bool activated)
Definition window.c:339
void wlmtk_window_request_minimize(wlmtk_window_t *window_ptr)
Definition window.c:449
const char * wlmtk_window_get_title(wlmtk_window_t *window_ptr)
Definition window.c:436
void wlmtk_window_serial(wlmtk_window_t *window_ptr, uint32_t serial)
Definition window.c:734
wlmtk_fake_window_t * wlmtk_fake_window_create(void)
Definition window.c:1298
wlmtk_workspace_t * wlmtk_window_get_workspace(wlmtk_window_t *window_ptr)
Definition window.c:772
bool wlmtk_window_is_maximized(wlmtk_window_t *window_ptr)
Definition window.c:500
void wlmtk_window_request_fullscreen_position(wlmtk_window_t *window_ptr)
Definition window.c:537
wlmtk_window_property_t
Definition window.h:64
@ WLMTK_WINDOW_PROPERTY_RIGHTCLICK
Definition window.h:77
@ WLMTK_WINDOW_PROPERTY_ICONIFIABLE
Definition window.h:68
@ WLMTK_WINDOW_PROPERTY_CLOSABLE
Definition window.h:70
@ WLMTK_WINDOW_PROPERTY_RESIZABLE
Definition window.h:66
void wlmtk_fake_window_commit_size(wlmtk_fake_window_t *fake_window_ptr)
Definition window.c:1378
wlmtk_window_t * wlmtk_window_create(wlmtk_content_t *content_ptr, const wlmtk_window_style_t *style_ptr, const wlmtk_menu_style_t *menu_style_ptr, struct wlr_seat *wlr_seat_ptr)
Definition window.c:250
void wlmtk_window_menu_set_enabled(wlmtk_window_t *window_ptr, bool enabled)
Definition window.c:610
void wlmtk_fake_window_destroy(wlmtk_fake_window_t *fake_window_ptr)
Definition window.c:1354
void wlmtk_window_set_server_side_decorated(wlmtk_window_t *window_ptr, bool decorated)
Definition window.c:368
wlmtk_window_events_t * wlmtk_window_events(wlmtk_window_t *window_ptr)
Definition window.c:296
wlmtk_element_t * wlmtk_window_element(wlmtk_window_t *window_ptr)
Definition window.c:303
void wlmtk_window_request_resize(wlmtk_window_t *window_ptr, uint32_t edges)
Definition window.c:663
bs_dllist_node_t * wlmtk_dlnode_from_window(wlmtk_window_t *window_ptr)
Definition window.c:325
void wlmtk_window_request_fullscreen(wlmtk_window_t *window_ptr, bool fullscreen)
Definition window.c:506
void wlmtk_window_commit_fullscreen(wlmtk_window_t *window_ptr, bool fullscreen)
Definition window.c:564
void wlmtk_window_request_position_and_size(wlmtk_window_t *window_ptr, int x, int y, int width, int height)
Definition window.c:714
bool wlmtk_window_is_shaded(wlmtk_window_t *window_ptr)
Definition window.c:604
const wlmtk_util_client_t * wlmtk_window_get_client_ptr(wlmtk_window_t *window_ptr)
Definition window.c:778
void wlmtk_window_set_workspace(wlmtk_window_t *window_ptr, wlmtk_workspace_t *workspace_ptr)
Definition window.c:762
void wlmtk_window_set_position(wlmtk_window_t *window_ptr, int x, int y)
Definition window.c:670
void wlmtk_window_set_title(wlmtk_window_t *window_ptr, const char *title_ptr)
Definition window.c:405
void wlmtk_window_request_shaded(wlmtk_window_t *window_ptr, bool shaded)
Definition window.c:586
wlmtk_window_t * wlmtk_window_from_dlnode(bs_dllist_node_t *dlnode_ptr)
Definition window.c:319
void wlmtk_window_get_size(wlmtk_window_t *window_ptr, int *width_ptr, int *height_ptr)
Definition window.c:678