wlmaker
Loading...
Searching...
No Matches
panel.h
Go to the documentation of this file.
1/* ========================================================================= */
20#ifndef __WLMTK_PANEL_H__
21#define __WLMTK_PANEL_H__
22
23#include <libbase/libbase.h>
24
31
32#include "container.h"
33#include "layer.h"
34
35#ifdef __cplusplus
36extern "C" {
37#endif // __cplusplus
38
54 uint32_t (*request_size)(
55 wlmtk_panel_t *panel_ptr,
56 int width,
57 int height);
58};
59
81
103
114 wlmtk_panel_t *panel_ptr,
115 const wlmtk_panel_positioning_t *positioning_ptr,
116 wlmtk_env_t *env_ptr);
117
123void wlmtk_panel_fini(wlmtk_panel_t *panel_ptr);
124
134 wlmtk_panel_t *panel_ptr,
135 const wlmtk_panel_vmt_t *panel_vmt_ptr);
136
139
141bs_dllist_node_t *wlmtk_dlnode_from_panel(wlmtk_panel_t *panel_ptr);
143wlmtk_panel_t *wlmtk_panel_from_dlnode(bs_dllist_node_t *dlnode_ptr);
144
154 wlmtk_layer_t *layer_ptr);
155
158
160static inline uint32_t wlmtk_panel_request_size(
161 wlmtk_panel_t *panel_ptr,
162 int width,
163 int height) {
164 return panel_ptr->vmt.request_size(panel_ptr, width, height);
165}
166
175 wlmtk_panel_t *panel_ptr,
176 uint32_t serial,
177 const wlmtk_panel_positioning_t *positioning_ptr);
178
193struct wlr_box wlmtk_panel_compute_dimensions(
194 const wlmtk_panel_t *panel_ptr,
195 const struct wlr_box *full_area_ptr,
196 struct wlr_box *usable_area_ptr);
197
199extern const bs_test_case_t wlmtk_panel_test_cases[];
200
216 const wlmtk_panel_positioning_t *positioning_ptr);
218void wlmtk_fake_panel_destroy(wlmtk_fake_panel_t *fake_panel_ptr);
219
220
221#ifdef __cplusplus
222} // extern "C"
223#endif // __cplusplus
224
225#endif /* __WLMTK_PANEL_H__ */
226/* == End of panel.h ======================================================= */
void wlmtk_panel_commit(wlmtk_panel_t *panel_ptr, uint32_t serial, const wlmtk_panel_positioning_t *positioning_ptr)
Definition panel.c:118
struct wlr_box wlmtk_panel_compute_dimensions(const wlmtk_panel_t *panel_ptr, const struct wlr_box *full_area_ptr, struct wlr_box *usable_area_ptr)
Definition panel.c:141
wlmtk_element_t * wlmtk_panel_element(wlmtk_panel_t *panel_ptr)
Definition panel.c:82
const bs_test_case_t wlmtk_panel_test_cases[]
Definition panel.c:283
bs_dllist_node_t * wlmtk_dlnode_from_panel(wlmtk_panel_t *panel_ptr)
Definition panel.c:88
void wlmtk_fake_panel_destroy(wlmtk_fake_panel_t *fake_panel_ptr)
Definition panel.c:256
wlmtk_panel_t * wlmtk_panel_from_dlnode(bs_dllist_node_t *dlnode_ptr)
Definition panel.c:95
void wlmtk_panel_fini(wlmtk_panel_t *panel_ptr)
Definition panel.c:56
void wlmtk_panel_set_layer(wlmtk_panel_t *panel_ptr, wlmtk_layer_t *layer_ptr)
Definition panel.c:102
bool wlmtk_panel_init(wlmtk_panel_t *panel_ptr, const wlmtk_panel_positioning_t *positioning_ptr, wlmtk_env_t *env_ptr)
Definition panel.c:31
wlmtk_panel_vmt_t wlmtk_panel_extend(wlmtk_panel_t *panel_ptr, const wlmtk_panel_vmt_t *panel_vmt_ptr)
Definition panel.c:68
static uint32_t wlmtk_panel_request_size(wlmtk_panel_t *panel_ptr, int width, int height)
Definition panel.h:160
wlmtk_fake_panel_t * wlmtk_fake_panel_create(const wlmtk_panel_positioning_t *positioning_ptr)
Definition panel.c:239
wlmtk_layer_t * wlmtk_panel_get_layer(wlmtk_panel_t *panel_ptr)
Definition panel.c:112
Definition container.h:55
Definition container.h:38
Definition element.h:172
Definition env.c:32
Definition panel.h:204
int requested_width
Definition panel.h:210
uint32_t serial
Definition panel.h:208
wlmtk_panel_t panel
Definition panel.h:206
int requested_height
Definition panel.h:212
Definition layer.c:34
Definition panel.h:61
int margin_top
Definition panel.h:74
int desired_width
Definition panel.h:63
uint32_t anchor
Definition panel.h:67
int desired_height
Definition panel.h:65
int margin_right
Definition panel.h:72
int margin_bottom
Definition panel.h:76
int exclusive_zone
Definition panel.h:79
int margin_left
Definition panel.h:70
Definition panel.h:83
wlmtk_panel_vmt_t vmt
Definition panel.h:87
bs_dllist_node_t dlnode
Definition panel.h:98
wlmtk_container_t popup_container
Definition panel.h:93
wlmtk_container_t super_container
Definition panel.h:85
wlmtk_layer_t * layer_ptr
Definition panel.h:96
wlmtk_container_vmt_t orig_super_container_vmt
Definition panel.h:90
wlmtk_panel_positioning_t positioning
Definition panel.h:101
Definition panel.h:40
uint32_t(* request_size)(wlmtk_panel_t *panel_ptr, int width, int height)
Definition panel.h:54