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 <libbase/libbase.h>
24#include <wayland-server.h>
25
30
31#include "element.h"
32
33#ifdef __cplusplus
34extern "C" {
35#endif // __cplusplus
36
51 void (*update_layout)(wlmtk_container_t *container_ptr);
52};
53
82
91bool wlmtk_container_init(wlmtk_container_t *container_ptr,
92 wlmtk_env_t *env_ptr);
93
103 wlmtk_container_t *container_ptr,
104 const wlmtk_container_vmt_t *container_vmt_ptr);
105
116 wlmtk_container_t *container_ptr,
117 wlmtk_env_t *env_ptr,
118 struct wlr_scene_tree *root_wlr_scene_tree_ptr);
119
128 wlmtk_container_t *container_ptr);
129
140 wlmtk_container_t *container_ptr,
141 wlmtk_element_t *element_ptr);
142
153 wlmtk_container_t *container_ptr,
154 wlmtk_element_t *reference_element_ptr,
155 wlmtk_element_t *element_ptr);
156
166 wlmtk_container_t *container_ptr,
167 wlmtk_element_t *element_ptr);
168
178 wlmtk_container_t *container_ptr,
179 wlmtk_element_t *element_ptr);
180
187
194 wlmtk_container_t *container_ptr)
195{
196 container_ptr->vmt.update_layout(container_ptr);
197}
198
208struct wlr_scene_tree *wlmtk_container_wlr_scene_tree(
209 wlmtk_container_t *container_ptr);
210
212extern const bs_test_case_t wlmtk_container_test_cases[];
213
218
219#ifdef __cplusplus
220} // extern "C"
221#endif // __cplusplus
222
223#endif /* __WLMTK_CONTAINER_H__ */
224/* == End of container.h =================================================== */
void wlmtk_container_remove_element(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:217
static void wlmtk_container_update_layout(wlmtk_container_t *container_ptr)
Definition container.h:193
wlmtk_container_vmt_t wlmtk_container_extend(wlmtk_container_t *container_ptr, const wlmtk_container_vmt_t *container_vmt_ptr)
Definition container.c:126
void wlmtk_container_destroy_fake_parent(wlmtk_container_t *container_ptr)
Definition container.c:700
struct wlr_scene_tree * wlmtk_container_wlr_scene_tree(wlmtk_container_t *container_ptr)
Definition container.c:277
void wlmtk_container_add_element(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:163
void wlmtk_container_raise_element_to_top(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:237
bool wlmtk_container_init_attached(wlmtk_container_t *container_ptr, wlmtk_env_t *env_ptr, struct wlr_scene_tree *root_wlr_scene_tree_ptr)
Definition container.c:106
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:179
void wlmtk_container_update_pointer_focus(wlmtk_container_t *container_ptr)
Definition container.c:262
void wlmtk_container_fini(wlmtk_container_t *container_ptr)
Definition container.c:139
const bs_test_case_t wlmtk_container_test_cases[]
Definition container.c:730
bool wlmtk_container_init(wlmtk_container_t *container_ptr, wlmtk_env_t *env_ptr)
Definition container.c:88
wlmtk_container_t * wlmtk_container_create_fake_parent(void)
Definition container.c:674
Definition container.h:55
wlmtk_element_vmt_t orig_super_element_vmt
Definition container.h:59
wlmtk_element_t * pointer_focus_element_ptr
Definition container.h:78
wlmtk_container_vmt_t vmt
Definition container.h:62
bs_dllist_t elements
Definition container.h:69
wlmtk_element_t super_element
Definition container.h:57
struct wlr_scene_tree * wlr_scene_tree_ptr
Definition container.h:72
struct wl_listener wlr_scene_tree_node_destroy_listener
Definition container.h:75
wlmtk_element_t * left_button_element_ptr
Definition container.h:80
Definition container.h:38
void(* update_layout)(wlmtk_container_t *container_ptr)
Definition container.h:51
Definition element.h:143
Definition element.h:51
Definition env.c:32