wlmaker
Loading...
Searching...
No Matches
menu_item.h
Go to the documentation of this file.
1/* ========================================================================= */
21#ifndef __WLMTK_MENU_ITEM_H__
22#define __WLMTK_MENU_ITEM_H__
23
24#include <libbase/libbase.h>
25#include <libbase/plist.h>
26#include <stdbool.h>
27#include <stdint.h>
28#include <wayland-server-core.h>
29
30#include "element.h"
31#include "style.h"
32
35
57
58#include "menu.h" // IWYU pragma: keep
59
60#ifdef __cplusplus
61extern "C" {
62#endif // __cplusplus
63
65typedef enum {
66 WLMTK_MENU_ITEM_ENABLED,
67 WLMTK_MENU_ITEM_HIGHLIGHTED,
68 WLMTK_MENU_ITEM_DISABLED
70
72typedef struct {
74 struct wl_signal triggered;
76 struct wl_signal destroy;
78
89 wlmtk_menu_style_ref_t *style_ref_ptr);
90
97
100 wlmtk_menu_item_t *menu_item_ptr);
101
111 wlmtk_menu_item_t *menu_item_ptr,
112 wlmtk_menu_style_ref_t *style_ref_ptr);
113
123 wlmtk_menu_item_t *menu_item_ptr,
124 wlmtk_menu_t *menu_ptr);
125
137 wlmtk_menu_item_t *menu_item_ptr,
138 wlmtk_menu_t *submenu_ptr);
139
148 wlmtk_menu_item_t *menu_item_ptr);
149
157 wlmtk_menu_item_t *menu_item_ptr,
158 enum wlmtk_menu_mode mode);
159
162 wlmtk_menu_item_t *menu_item_ptr);
163
166 wlmtk_menu_item_t *menu_item_ptr);
167
175 wlmtk_menu_item_t *menu_item_ptr,
176 const char *text_ptr);
177
185 wlmtk_menu_item_t *menu_item_ptr,
186 bool enabled);
187
197 wlmtk_menu_item_t *menu_item_ptr,
198 bool highlighted);
199
205void wlmtk_menu_item_trigger(wlmtk_menu_item_t *menu_item_ptr);
206
208bs_dllist_node_t *wlmtk_dlnode_from_menu_item(
209 wlmtk_menu_item_t *menu_item_ptr);
210
212wlmtk_menu_item_t *wlmtk_menu_item_from_dlnode(bs_dllist_node_t *dlnode_ptr);
213
216
218extern const bspl_desc_t wlmtk_menu_item_style_desc[];
219
221extern const bs_test_set_t wlmtk_menu_item_test_set;
222
223#ifdef __cplusplus
224} // extern "C"
225#endif // __cplusplus
226
227#endif /* __WLMTK_MENU_ITEM_H__ */
228/* == End of menu_item.h =================================================== */
wlmtk_menu_mode
Definition menu.h:59
wlmtk_menu_item_t * wlmtk_menu_item_create(wlmtk_menu_style_ref_t *style_ref_ptr)
Definition menu_item.c:191
void wlmtk_menu_item_set_submenu(wlmtk_menu_item_t *menu_item_ptr, wlmtk_menu_t *submenu_ptr)
Definition menu_item.c:328
wlmtk_menu_item_state_t wlmtk_menu_item_get_state(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:392
wlmtk_menu_item_state_t
Definition menu_item.h:65
bool wlmtk_menu_item_set_highlighted(wlmtk_menu_item_t *menu_item_ptr, bool highlighted)
Definition menu_item.c:442
wlmtk_menu_item_events_t * wlmtk_menu_item_events(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:273
void wlmtk_menu_item_set_enabled(wlmtk_menu_item_t *menu_item_ptr, bool enabled)
Definition menu_item.c:415
wlmtk_menu_item_t * wlmtk_menu_item_from_dlnode(bs_dllist_node_t *dlnode_ptr)
Definition menu_item.c:485
bool wlmtk_menu_item_set_style(wlmtk_menu_item_t *menu_item_ptr, wlmtk_menu_style_ref_t *style_ref_ptr)
Definition menu_item.c:280
bs_dllist_node_t * wlmtk_dlnode_from_menu_item(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:476
void wlmtk_menu_item_destroy(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:234
void wlmtk_menu_item_set_parent_menu(wlmtk_menu_item_t *menu_item_ptr, wlmtk_menu_t *menu_ptr)
Definition menu_item.c:305
wlmtk_element_t * wlmtk_menu_item_element(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:493
const bspl_desc_t wlmtk_menu_item_style_desc[]
Definition menu_item.c:137
const bs_test_set_t wlmtk_menu_item_test_set
Definition menu_item.c:836
void wlmtk_menu_item_set_mode(wlmtk_menu_item_t *menu_item_ptr, enum wlmtk_menu_mode mode)
Definition menu_item.c:374
void wlmtk_menu_item_trigger(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:457
bool wlmtk_menu_item_set_text(wlmtk_menu_item_t *menu_item_ptr, const char *text_ptr)
Definition menu_item.c:399
enum wlmtk_menu_mode wlmtk_menu_item_get_mode(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:385
wlmtk_menu_t * wlmtk_menu_item_get_submenu(wlmtk_menu_item_t *menu_item_ptr)
Definition menu_item.c:367
Definition element.h:188
Definition menu_item.c:41
Definition menu.c:65
Definition menu.c:39
Definition menu_item.h:72
Definition menu_item.h:37
uint64_t height
Definition menu_item.h:45
uint32_t highlighted_text_color
Definition menu_item.h:51
wlmtk_style_fill_t highlighted_fill
Definition menu_item.h:41
uint64_t bezel_width
Definition menu_item.h:47
wlmtk_style_font_t font
Definition menu_item.h:43
uint64_t width
Definition menu_item.h:55
uint32_t disabled_text_color
Definition menu_item.h:53
uint32_t enabled_text_color
Definition menu_item.h:49
wlmtk_style_fill_t fill
Definition menu_item.h:39
Definition style.h:77
Definition style.h:105