wlmaker
Loading...
Searching...
No Matches
root.h
Go to the documentation of this file.
1/* ========================================================================= */
20#ifndef __WLMTK_ROOT_H__
21#define __WLMTK_ROOT_H__
22
27#include <libbase/libbase.h>
28#include <stdbool.h>
29#include <stdint.h>
30#include <wayland-server-core.h>
31
32#include "element.h"
33#include "input.h"
34#include "surface.h" // IWYU pragma: keep
35#include "workspace.h" // IWYU pragma: keep
36
37struct wlr_output_layout;
39struct wlr_scene;
40
41#ifdef __cplusplus
42extern "C" {
43#endif // __cplusplus
44
46typedef struct {
51 struct wl_signal workspace_changed;
52
54 struct wl_signal unlock_event;
56 struct wl_signal window_mapped;
58 struct wl_signal window_unmapped;
59
61 struct wl_signal unclaimed_button_event;
63
73 struct wlr_scene *wlr_scene_ptr,
74 struct wlr_output_layout *wlr_output_layout_ptr);
75
81void wlmtk_root_destroy(wlmtk_root_t *root_ptr);
82
91
104 wlmtk_root_t *root_ptr,
105 double x,
106 double y,
107 uint32_t time_msec,
108 wlmtk_pointer_t *pointer_ptr);
109
129 wlmtk_root_t *root_ptr,
130 const struct wlr_pointer_button_event *event_ptr,
131 uint32_t modifiers);
132
142 wlmtk_root_t *root_ptr,
143 struct wlr_pointer_axis_event *wlr_pointer_axis_event_ptr);
144
152 wlmtk_root_t *root_ptr,
153 wlmtk_workspace_t *workspace_ptr);
154
162 wlmtk_root_t *root_ptr,
163 wlmtk_workspace_t *workspace_ptr);
164
171
179
186
193
202 wlmtk_root_t *root_ptr,
203 void (*func)(bs_dllist_node_t *dlnode_ptr, void *ud_ptr),
204 void *ud_ptr);
205
218bool wlmtk_root_lock(
219 wlmtk_root_t *root_ptr,
220 wlmtk_element_t *element_ptr);
221
234 wlmtk_root_t *root_ptr,
235 wlmtk_element_t *element_ptr);
236
238bool wlmtk_root_locked(wlmtk_root_t *root_ptr);
239
254 wlmtk_root_t *root_ptr,
255 wlmtk_element_t *element_ptr);
256
259
261extern const bs_test_case_t wlmtk_root_test_cases[];
262
263#ifdef __cplusplus
264} // extern "C"
265#endif // __cplusplus
266
267#endif /* __WLMTK_ROOT_H__ */
268/* == End of root.h ======================================================== */
bool wlmtk_root_pointer_button(wlmtk_root_t *root_ptr, const struct wlr_pointer_button_event *event_ptr, uint32_t modifiers)
Definition root.c:219
bool wlmtk_root_lock(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:405
wlmtk_root_events_t * wlmtk_root_events(wlmtk_root_t *root_ptr)
Definition root.c:196
void wlmtk_root_switch_to_next_workspace(wlmtk_root_t *root_ptr)
Definition root.c:363
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:202
void wlmtk_root_remove_workspace(wlmtk_root_t *root_ptr, wlmtk_workspace_t *workspace_ptr)
Definition root.c:310
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:396
void wlmtk_root_destroy(wlmtk_root_t *root_ptr)
Definition root.c:171
void wlmtk_root_lock_unreference(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:466
bool wlmtk_root_unlock(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:434
bool wlmtk_root_pointer_axis(wlmtk_root_t *root_ptr, struct wlr_pointer_axis_event *wlr_pointer_axis_event_ptr)
Definition root.c:270
wlmtk_element_t * wlmtk_root_element(wlmtk_root_t *root_ptr)
Definition root.c:479
wlmtk_workspace_t * wlmtk_root_get_current_workspace(wlmtk_root_t *root_ptr)
Definition root.c:341
void wlmtk_root_add_workspace(wlmtk_root_t *root_ptr, wlmtk_workspace_t *workspace_ptr)
Definition root.c:280
wlmtk_root_t * wlmtk_root_create(struct wlr_scene *wlr_scene_ptr, struct wlr_output_layout *wlr_output_layout_ptr)
Definition root.c:118
const bs_test_case_t wlmtk_root_test_cases[]
Definition root.c:682
void wlmtk_root_destroy_last_workspace(wlmtk_root_t *root_ptr)
Definition root.c:347
bool wlmtk_root_locked(wlmtk_root_t *root_ptr)
Definition root.c:460
void wlmtk_root_switch_to_previous_workspace(wlmtk_root_t *root_ptr)
Definition root.c:380
Definition element.h:181
Definition input.c:32
Definition root.c:46
Definition workspace.c:48
Definition root.h:46