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
178
185
194 wlmtk_root_t *root_ptr,
195 void (*func)(bs_dllist_node_t *dlnode_ptr, void *ud_ptr),
196 void *ud_ptr);
197
210bool wlmtk_root_lock(
211 wlmtk_root_t *root_ptr,
212 wlmtk_element_t *element_ptr);
213
226 wlmtk_root_t *root_ptr,
227 wlmtk_element_t *element_ptr);
228
230bool wlmtk_root_locked(wlmtk_root_t *root_ptr);
231
246 wlmtk_root_t *root_ptr,
247 wlmtk_element_t *element_ptr);
248
251
253extern const bs_test_case_t wlmtk_root_test_cases[];
254
255#ifdef __cplusplus
256} // extern "C"
257#endif // __cplusplus
258
259#endif /* __WLMTK_ROOT_H__ */
260/* == 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:217
bool wlmtk_root_lock(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:382
wlmtk_root_events_t * wlmtk_root_events(wlmtk_root_t *root_ptr)
Definition root.c:194
void wlmtk_root_switch_to_next_workspace(wlmtk_root_t *root_ptr)
Definition root.c:340
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:200
void wlmtk_root_remove_workspace(wlmtk_root_t *root_ptr, wlmtk_workspace_t *workspace_ptr)
Definition root.c:305
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:373
void wlmtk_root_destroy(wlmtk_root_t *root_ptr)
Definition root.c:169
void wlmtk_root_lock_unreference(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:443
bool wlmtk_root_unlock(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:411
bool wlmtk_root_pointer_axis(wlmtk_root_t *root_ptr, struct wlr_pointer_axis_event *wlr_pointer_axis_event_ptr)
Definition root.c:267
wlmtk_element_t * wlmtk_root_element(wlmtk_root_t *root_ptr)
Definition root.c:456
wlmtk_workspace_t * wlmtk_root_get_current_workspace(wlmtk_root_t *root_ptr)
Definition root.c:334
void wlmtk_root_add_workspace(wlmtk_root_t *root_ptr, wlmtk_workspace_t *workspace_ptr)
Definition root.c:277
wlmtk_root_t * wlmtk_root_create(struct wlr_scene *wlr_scene_ptr, struct wlr_output_layout *wlr_output_layout_ptr)
Definition root.c:116
const bs_test_case_t wlmtk_root_test_cases[]
Definition root.c:659
bool wlmtk_root_locked(wlmtk_root_t *root_ptr)
Definition root.c:437
void wlmtk_root_switch_to_previous_workspace(wlmtk_root_t *root_ptr)
Definition root.c:357
Definition element.h:181
Definition input.c:32
Definition root.c:47
Definition workspace.c:48
Definition root.h:46