wlmaker
Loading...
Searching...
No Matches
menu.h
Go to the documentation of this file.
1/* ========================================================================= */
20#ifndef __WLMTK_MENU_H__
21#define __WLMTK_MENU_H__
22
25
26#include <libbase/libbase.h>
27#include <stdbool.h>
28#include <wayland-server-core.h>
29
30#include "box.h" // IWYU pragma: keep
31#include "element.h"
32#include "menu_item.h" // IWYU pragma: keep
33#include "pane.h"
34#include "style.h"
35
36#ifdef __cplusplus
37extern "C" {
38#endif // __cplusplus
39
49
60
62typedef struct {
67 struct wl_signal open_changed;
69 struct wl_signal request_close;
71
80 const wlmtk_menu_style_t *style_ptr);
81
87void wlmtk_menu_destroy(wlmtk_menu_t *menu_ptr);
88
91
94
97
105void wlmtk_menu_set_open(wlmtk_menu_t *menu_ptr, bool opened);
106
108bool wlmtk_menu_is_open(wlmtk_menu_t *menu_ptr);
109
116void wlmtk_menu_set_mode(wlmtk_menu_t *menu_ptr,
117 enum wlmtk_menu_mode mode);
118
121
128void wlmtk_menu_add_item(wlmtk_menu_t *menu_ptr,
129 wlmtk_menu_item_t *menu_item_ptr);
130
138 wlmtk_menu_item_t *menu_item_ptr);
139
147 wlmtk_menu_t *menu_ptr,
148 wlmtk_menu_item_t *menu_item_ptr);
149
151extern const bs_test_case_t wlmtk_menu_test_cases[];
152
153#ifdef __cplusplus
154} // extern "C"
155#endif // __cplusplus
156
157#endif /* __WLMTK_MENU_H__ */
158/* == End of menu.h ======================================================== */
enum wlmtk_menu_mode wlmtk_menu_get_mode(wlmtk_menu_t *menu_ptr)
Definition menu.c:174
void wlmtk_menu_add_item(wlmtk_menu_t *menu_ptr, wlmtk_menu_item_t *menu_item_ptr)
Definition menu.c:180
wlmtk_menu_mode
Definition menu.h:51
@ WLMTK_MENU_MODE_RIGHTCLICK
Definition menu.h:58
@ WLMTK_MENU_MODE_NORMAL
Definition menu.h:53
void wlmtk_menu_destroy(wlmtk_menu_t *menu_ptr)
Definition menu.c:107
wlmtk_menu_events_t * wlmtk_menu_events(wlmtk_menu_t *menu_ptr)
Definition menu.c:133
wlmtk_menu_t * wlmtk_menu_create(const wlmtk_menu_style_t *style_ptr)
Definition menu.c:78
void wlmtk_menu_request_item_highlight(wlmtk_menu_t *menu_ptr, wlmtk_menu_item_t *menu_item_ptr)
Definition menu.c:210
void wlmtk_menu_remove_item(wlmtk_menu_t *menu_ptr, wlmtk_menu_item_t *menu_item_ptr)
Definition menu.c:194
void wlmtk_menu_set_mode(wlmtk_menu_t *menu_ptr, enum wlmtk_menu_mode mode)
Definition menu.c:162
const bs_test_case_t wlmtk_menu_test_cases[]
Definition menu.c:302
wlmtk_pane_t * wlmtk_menu_pane(wlmtk_menu_t *menu_ptr)
Definition menu.c:127
wlmtk_element_t * wlmtk_menu_element(wlmtk_menu_t *menu_ptr)
Definition menu.c:121
void wlmtk_menu_set_open(wlmtk_menu_t *menu_ptr, bool opened)
Definition menu.c:139
bool wlmtk_menu_is_open(wlmtk_menu_t *menu_ptr)
Definition menu.c:155
Definition element.h:175
Definition menu_item.c:39
Definition menu.c:32
Definition pane.h:38
Definition style.h:112
Definition menu.h:62
Definition style.h:126
Definition menu.h:41
wlmtk_margin_style_t border
Definition menu.h:45
wlmtk_margin_style_t margin
Definition menu.h:43
wlmtk_menu_item_style_t item
Definition menu.h:47