wlmaker
Loading...
Searching...
No Matches
container.h
Go to the documentation of this file.
1/* ========================================================================= */
20#ifndef __WLMTK_CONTAINER_H__
21#define __WLMTK_CONTAINER_H__
22
23#include <stdbool.h>
24#include <wayland-server-core.h>
25
26#include "libbase/libbase.h"
27
30struct wlr_scene_tree;
35
36#include "element.h"
37
38#ifdef __cplusplus
39extern "C" {
40#endif // __cplusplus
41
56 void (*update_layout)(wlmtk_container_t *container_ptr);
57};
58
91
99bool wlmtk_container_init(wlmtk_container_t *container_ptr);
100
110 wlmtk_container_t *container_ptr,
111 const wlmtk_container_vmt_t *container_vmt_ptr);
112
122 wlmtk_container_t *container_ptr,
123 struct wlr_scene_tree *root_wlr_scene_tree_ptr);
124
133 wlmtk_container_t *container_ptr);
134
145 wlmtk_container_t *container_ptr,
146 wlmtk_element_t *element_ptr);
147
158 wlmtk_container_t *container_ptr,
159 wlmtk_element_t *reference_element_ptr,
160 wlmtk_element_t *element_ptr);
161
173 wlmtk_container_t *container_ptr,
174 wlmtk_element_t *element_ptr);
175
185 wlmtk_container_t *container_ptr,
186 wlmtk_element_t *element_ptr);
187
194
207 wlmtk_container_t *container_ptr,
208 wlmtk_element_t *element_ptr);
209
221 wlmtk_container_t *container_ptr,
222 wlmtk_element_t *element_ptr);
223
224
234 wlmtk_container_t *container_ptr,
235 wlmtk_element_t *element_ptr);
236
243 wlmtk_container_t *container_ptr)
244{
245 container_ptr->vmt.update_layout(container_ptr);
246}
247
257struct wlr_scene_tree *wlmtk_container_wlr_scene_tree(
258 wlmtk_container_t *container_ptr);
259
261extern const bs_test_case_t wlmtk_container_test_cases[];
262
267
268#ifdef __cplusplus
269} // extern "C"
270#endif // __cplusplus
271
272#endif /* __WLMTK_CONTAINER_H__ */
273/* == End of container.h =================================================== */
void wlmtk_container_set_keyboard_focus_element(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:361
void wlmtk_container_pointer_grab(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:308
void wlmtk_container_remove_element(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:233
static void wlmtk_container_update_layout(wlmtk_container_t *container_ptr)
Definition container.h:242
wlmtk_container_vmt_t wlmtk_container_extend(wlmtk_container_t *container_ptr, const wlmtk_container_vmt_t *container_vmt_ptr)
Definition container.c:142
void wlmtk_container_pointer_grab_release(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:340
void wlmtk_container_destroy_fake_parent(wlmtk_container_t *container_ptr)
Definition container.c:900
struct wlr_scene_tree * wlmtk_container_wlr_scene_tree(wlmtk_container_t *container_ptr)
Definition container.c:385
void wlmtk_container_add_element(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:176
void wlmtk_container_raise_element_to_top(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:267
void wlmtk_container_add_element_atop(wlmtk_container_t *container_ptr, wlmtk_element_t *reference_element_ptr, wlmtk_element_t *element_ptr)
Definition container.c:195
void wlmtk_container_update_pointer_focus(wlmtk_container_t *container_ptr)
Definition container.c:292
bool wlmtk_container_init(wlmtk_container_t *container_ptr)
Definition container.c:108
bool wlmtk_container_init_attached(wlmtk_container_t *container_ptr, struct wlr_scene_tree *root_wlr_scene_tree_ptr)
Definition container.c:123
void wlmtk_container_fini(wlmtk_container_t *container_ptr)
Definition container.c:155
const bs_test_case_t wlmtk_container_test_cases[]
Definition container.c:933
wlmtk_container_t * wlmtk_container_create_fake_parent(void)
Definition container.c:875
Definition container.h:60
wlmtk_element_vmt_t orig_super_element_vmt
Definition container.h:64
wlmtk_element_t * keyboard_focus_element_ptr
Definition container.h:89
wlmtk_element_t * pointer_focus_element_ptr
Definition container.h:83
wlmtk_container_vmt_t vmt
Definition container.h:67
bs_dllist_t elements
Definition container.h:74
wlmtk_element_t super_element
Definition container.h:62
struct wlr_scene_tree * wlr_scene_tree_ptr
Definition container.h:77
wlmtk_element_t * pointer_grab_element_ptr
Definition container.h:85
struct wl_listener wlr_scene_tree_node_destroy_listener
Definition container.h:80
wlmtk_element_t * left_button_element_ptr
Definition container.h:87
Definition container.h:43
void(* update_layout)(wlmtk_container_t *container_ptr)
Definition container.h:56
Definition element.h:175
Definition element.h:67