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
28struct wlr_scene_tree;
32typedef struct _wlmtk_container_vmt_t wlmtk_container_vmt_t;
33
34#include "element.h"
35#include "input.h"
36
37#ifdef __cplusplus
38extern "C" {
39#endif // __cplusplus
40
75
83bool wlmtk_container_init(wlmtk_container_t *container_ptr);
84
94 wlmtk_container_t *container_ptr,
95 struct wlr_scene_tree *root_wlr_scene_tree_ptr);
96
105 wlmtk_container_t *container_ptr);
106
117 wlmtk_container_t *container_ptr,
118 wlmtk_element_t *element_ptr);
119
130 wlmtk_container_t *container_ptr,
131 wlmtk_element_t *reference_element_ptr,
132 wlmtk_element_t *element_ptr);
133
145 wlmtk_container_t *container_ptr,
146 wlmtk_element_t *element_ptr);
147
157 wlmtk_container_t *container_ptr,
158 wlmtk_element_t *element_ptr);
159
171// TODO(kaeser@gubbe.ch): Unify handling with pointer grab.
173 wlmtk_container_t *container_ptr,
174 wlmtk_element_t *element_ptr,
175 wlmtk_pointer_motion_event_t *motion_event_ptr);
176
189// TODO(kaeser@gubbe.ch): Merge with @ref wlmtk_container_request_pointer_focus.
191 wlmtk_container_t *container_ptr,
192 wlmtk_element_t *element_ptr);
193
205 wlmtk_container_t *container_ptr,
206 wlmtk_element_t *element_ptr);
207
208
224 wlmtk_container_t *container_ptr,
225 wlmtk_element_t *element_ptr,
226 bool enabled);
227
238
248struct wlr_scene_tree *wlmtk_container_wlr_scene_tree(
249 wlmtk_container_t *container_ptr);
250
252extern const bs_test_case_t wlmtk_container_test_cases[];
253
258
259#ifdef __cplusplus
260} // extern "C"
261#endif // __cplusplus
262
263#endif /* __WLMTK_CONTAINER_H__ */
264/* == End of container.h =================================================== */
void wlmtk_container_set_keyboard_focus_element(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr, bool enabled)
Definition container.c:362
void wlmtk_container_invalidate_layout(wlmtk_container_t *container_ptr)
Definition container.c:394
void wlmtk_container_pointer_grab(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:311
void wlmtk_container_remove_element(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:216
bool wlmtk_container_request_pointer_focus(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr, wlmtk_pointer_motion_event_t *motion_event_ptr)
Definition container.c:277
struct _wlmtk_container_vmt_t wlmtk_container_vmt_t
Definition container.h:32
void wlmtk_container_pointer_grab_release(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:341
void wlmtk_container_destroy_fake_parent(wlmtk_container_t *container_ptr)
Definition container.c:864
struct wlr_scene_tree * wlmtk_container_wlr_scene_tree(wlmtk_container_t *container_ptr)
Definition container.c:406
void wlmtk_container_add_element(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:159
void wlmtk_container_raise_element_to_top(wlmtk_container_t *container_ptr, wlmtk_element_t *element_ptr)
Definition container.c:252
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:178
bool wlmtk_container_init(wlmtk_container_t *container_ptr)
Definition container.c:98
bool wlmtk_container_init_attached(wlmtk_container_t *container_ptr, struct wlr_scene_tree *root_wlr_scene_tree_ptr)
Definition container.c:116
void wlmtk_container_fini(wlmtk_container_t *container_ptr)
Definition container.c:135
const bs_test_case_t wlmtk_container_test_cases[]
Definition container.c:897
wlmtk_container_t * wlmtk_container_create_fake_parent(void)
Definition container.c:839
Definition container.h:42
struct wl_listener element_pointer_leave_listener
Definition container.h:61
wlmtk_element_vmt_t orig_super_element_vmt
Definition container.h:46
wlmtk_element_t * keyboard_focus_element_ptr
Definition container.h:70
wlmtk_element_t * pointer_focus_element_ptr
Definition container.h:64
bs_dllist_t elements
Definition container.h:53
wlmtk_element_t super_element
Definition container.h:44
struct wlr_scene_tree * wlr_scene_tree_ptr
Definition container.h:56
wlmtk_element_t * pointer_grab_element_ptr
Definition container.h:66
struct wl_listener wlr_scene_tree_node_destroy_listener
Definition container.h:59
wlmtk_element_t * left_button_element_ptr
Definition container.h:68
Definition element.h:187
Definition element.h:66
Definition input.h:74