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
128 wlmtk_root_t *root_ptr,
129 const struct wlr_pointer_button_event *event_ptr);
130
140 wlmtk_root_t *root_ptr,
141 struct wlr_pointer_axis_event *wlr_pointer_axis_event_ptr);
142
150 wlmtk_root_t *root_ptr,
151 wlmtk_workspace_t *workspace_ptr);
152
160 wlmtk_root_t *root_ptr,
161 wlmtk_workspace_t *workspace_ptr);
162
169
176
183
192 wlmtk_root_t *root_ptr,
193 void (*func)(bs_dllist_node_t *dlnode_ptr, void *ud_ptr),
194 void *ud_ptr);
195
208bool wlmtk_root_lock(
209 wlmtk_root_t *root_ptr,
210 wlmtk_element_t *element_ptr);
211
224 wlmtk_root_t *root_ptr,
225 wlmtk_element_t *element_ptr);
226
228bool wlmtk_root_locked(wlmtk_root_t *root_ptr);
229
244 wlmtk_root_t *root_ptr,
245 wlmtk_element_t *element_ptr);
246
249
251extern const bs_test_case_t wlmtk_root_test_cases[];
252
253#ifdef __cplusplus
254} // extern "C"
255#endif // __cplusplus
256
257#endif /* __WLMTK_ROOT_H__ */
258/* == End of root.h ======================================================== */
bool wlmtk_root_lock(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:385
wlmtk_root_events_t * wlmtk_root_events(wlmtk_root_t *root_ptr)
Definition root.c:199
void wlmtk_root_switch_to_next_workspace(wlmtk_root_t *root_ptr)
Definition root.c:343
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:205
void wlmtk_root_remove_workspace(wlmtk_root_t *root_ptr, wlmtk_workspace_t *workspace_ptr)
Definition root.c:308
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:376
void wlmtk_root_destroy(wlmtk_root_t *root_ptr)
Definition root.c:174
bool wlmtk_root_pointer_button(wlmtk_root_t *root_ptr, const struct wlr_pointer_button_event *event_ptr)
Definition root.c:222
void wlmtk_root_lock_unreference(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:446
bool wlmtk_root_unlock(wlmtk_root_t *root_ptr, wlmtk_element_t *element_ptr)
Definition root.c:414
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:459
wlmtk_workspace_t * wlmtk_root_get_current_workspace(wlmtk_root_t *root_ptr)
Definition root.c:337
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:121
const bs_test_case_t wlmtk_root_test_cases[]
Definition root.c:703
bool wlmtk_root_locked(wlmtk_root_t *root_ptr)
Definition root.c:440
void wlmtk_root_switch_to_previous_workspace(wlmtk_root_t *root_ptr)
Definition root.c:360
Definition element.h:175
Definition input.c:32
Definition root.c:45
Definition workspace.c:50
Definition root.h:46