wlmaker
Loading...
Searching...
No Matches
root.h
Go to the documentation of this file.
1/* ========================================================================= */
21#ifndef __WLMTK_ROOT_H__
22#define __WLMTK_ROOT_H__
23
27
28#include <libbase/libbase.h>
29#include <stdbool.h>
30#include <stdint.h>
31#include <wayland-server-core.h>
32
33#include "element.h"
34#include "input.h"
35#include "menu.h"
36#include "surface.h" // IWYU pragma: keep
37#include "window.h" // IWYU pragma: keep
38#include "workspace.h" // IWYU pragma: keep
39
40struct wlr_output_layout;
42struct wlr_scene;
43
44#ifdef __cplusplus
45extern "C" {
46#endif // __cplusplus
47
49typedef struct {
54 struct wl_signal workspace_changed;
55
57 struct wl_signal unlock_event;
59 struct wl_signal window_mapped;
61 struct wl_signal window_unmapped;
62
64 struct wl_signal unclaimed_button_event;
66
76 struct wlr_scene *wlr_scene_ptr,
77 struct wlr_output_layout *wlr_output_layout_ptr);
78
84void wlmtk_root_destroy(wlmtk_root_t *root_ptr);
85
94
107 wlmtk_root_t *root_ptr,
108 double x,
109 double y,
110 uint32_t time_msec,
111 wlmtk_pointer_t *pointer_ptr);
112
132 wlmtk_root_t *root_ptr,
133 const struct wlr_pointer_button_event *event_ptr,
134 uint32_t modifiers);
135
145 wlmtk_root_t *root_ptr,
146 struct wlr_pointer_axis_event *wlr_pointer_axis_event_ptr);
147
155 wlmtk_root_t *root_ptr,
156 wlmtk_workspace_t *workspace_ptr);
157
165 wlmtk_root_t *root_ptr,
166 wlmtk_workspace_t *workspace_ptr);
167
174
182
189
196
205 wlmtk_root_t *root_ptr,
206 void (*func)(bs_dllist_node_t *dlnode_ptr, void *ud_ptr),
207 void *ud_ptr);
208
221bool wlmtk_root_lock(
222 wlmtk_root_t *root_ptr,
223 wlmtk_element_t *element_ptr);
224
237 wlmtk_root_t *root_ptr,
238 wlmtk_element_t *element_ptr);
239
241bool wlmtk_root_locked(wlmtk_root_t *root_ptr);
242
257 wlmtk_root_t *root_ptr,
258 wlmtk_element_t *element_ptr);
259
262
265 wlmtk_root_t *root_ptr,
266 wlmtk_window_style_ref_t *window_style_ref_ptr,
267 wlmtk_menu_style_ref_t *menu_style_ref_ptr);
268
270extern const bs_test_set_t wlmtk_root_test_set;
271
272#ifdef __cplusplus
273} // extern "C"
274#endif // __cplusplus
275
276#endif /* __WLMTK_ROOT_H__ */
277/* == End of root.h ======================================================== */
struct _wlmtk_element_t wlmtk_element_t
Definition element.h:37
struct _wlmtk_menu_style_ref_t wlmtk_menu_style_ref_t
Definition menu.h:28
struct _wlmtk_pointer_t wlmtk_pointer_t
Definition input.h:37
bool wlmtk_root_pointer_button(wlmtk_root_t *root_ptr, const struct wlr_pointer_button_event *event_ptr, uint32_t modifiers)
Definition root.c:273
bool wlmtk_root_lock(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:459
wlmtk_root_events_t * wlmtk_root_events(wlmtk_root_t *root_ptr)
Definition root.c:249
void wlmtk_root_switch_to_next_workspace(wlmtk_root_t *root_ptr)
Definition root.c:417
bool wlmtk_root_pointer_motion(wlmtk_root_t *root_ptr, double x, double y, uint32_t time_msec, wlmtk_pointer_t *pointer_ptr)
Definition root.c:255
void wlmtk_root_remove_workspace(wlmtk_root_t *root_ptr, wlmtk_workspace_t *workspace_ptr)
Definition root.c:364
void wlmtk_root_for_each_workspace(wlmtk_root_t *root_ptr, void(*func)(bs_dllist_node_t *dlnode_ptr, void *ud_ptr), void *ud_ptr)
Definition root.c:450
void wlmtk_root_destroy(wlmtk_root_t *root_ptr)
Definition root.c:219
void wlmtk_root_lock_unreference(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:520
bool wlmtk_root_set_style(wlmtk_root_t *root_ptr, wlmtk_window_style_ref_t *window_style_ref_ptr, wlmtk_menu_style_ref_t *menu_style_ref_ptr)
Definition root.c:539
bool wlmtk_root_unlock(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:488
bool wlmtk_root_pointer_axis(wlmtk_root_t *root_ptr, struct wlr_pointer_axis_event *wlr_pointer_axis_event_ptr)
Definition root.c:324
wlmtk_element_t * wlmtk_root_element(wlmtk_root_t *root_ptr)
Definition root.c:533
wlmtk_workspace_t * wlmtk_root_get_current_workspace(wlmtk_root_t *root_ptr)
Definition root.c:395
void wlmtk_root_add_workspace(wlmtk_root_t *root_ptr, wlmtk_workspace_t *workspace_ptr)
Definition root.c:334
wlmtk_root_t * wlmtk_root_create(struct wlr_scene *wlr_scene_ptr, struct wlr_output_layout *wlr_output_layout_ptr)
Definition root.c:155
void wlmtk_root_destroy_last_workspace(wlmtk_root_t *root_ptr)
Definition root.c:401
struct _wlmtk_root_t wlmtk_root_t
Definition root.h:25
bool wlmtk_root_locked(wlmtk_root_t *root_ptr)
Definition root.c:514
void wlmtk_root_switch_to_previous_workspace(wlmtk_root_t *root_ptr)
Definition root.c:434
const bs_test_set_t wlmtk_root_test_set
Definition root.c:836
Definition root.c:48
Definition root.h:49
struct wl_signal workspace_changed
Definition root.h:54
struct wl_signal window_mapped
Definition root.h:59
struct wl_signal unlock_event
Definition root.h:57
struct wl_signal unclaimed_button_event
Definition root.h:64
struct wl_signal window_unmapped
Definition root.h:61
struct _wlmtk_window_style_ref_t wlmtk_window_style_ref_t
Definition window.h:36
struct _wlmtk_workspace_t wlmtk_workspace_t
Definition workspace.h:30