wlmaker
Loading...
Searching...
No Matches
wlclient.h
Go to the documentation of this file.
1/* ========================================================================= */
21#ifndef __WLMAKER_WLCLIENT_H__
22#define __WLMAKER_WLCLIENT_H__
23
24#include <inttypes.h>
25#include <stdbool.h>
26#include <wayland-server-core.h>
27#include <xkbcommon/xkbcommon.h>
28
29struct wl_interface;
30
33
34#ifdef __cplusplus
35extern "C" {
36#endif // __cplusplus
37
45 wlmcl_client_t *wlmcl_client_ptr,
46 void *ud_ptr);
47
51 struct ext_input_observation_manager_v1 *input_observation_manager_ptr;
53 struct wl_display *wl_display_ptr;
55 struct wl_compositor *wl_compositor_ptr;
57 struct wl_pointer *wl_pointer_ptr;
59 struct wl_seat *wl_seat_ptr;
61 struct wl_shm *wl_shm_ptr;
63 struct wp_cursor_shape_manager_v1 *cursor_shape_manager_ptr;
65 struct xdg_wm_base *xdg_wm_base_ptr;
67 struct zwlmaker_icon_manager_v1 *icon_manager_ptr;
69 struct zxdg_decoration_manager_v1 *xdg_decoration_manager_ptr;
70
72 const char *app_id_ptr;
73};
74
78 struct wl_signal key;
80 struct wl_signal keymap;
82 struct wl_signal keyboard_repeat_info;
83};
84
88 xkb_keysym_t keysym;
90 bool pressed;
91};
92
101wlmcl_client_t *wlmcl_client_create(const char *app_id_ptr);
102
108void wlmcl_client_destroy(wlmcl_client_t *wlmcl_client_ptr);
109
123 wlmcl_client_t *client_ptr,
124 const struct wl_interface *wl_interface_ptr,
125 uint32_t desired_version,
126 bool required,
127 void (*setup)(void *bound_interface_ptr, void *userdata_ptr),
128 void *userdata_ptr);
129
138
146struct xkb_keymap *wlmcl_client_get_keymap(wlmcl_client_t *wlmcl_client_ptr);
147
158 wlmcl_client_t *wlmcl_client_ptr,
159 int32_t *rate_ptr,
160 int32_t *delay_ptr);
161
170 const wlmcl_client_t *wlmcl_client_ptr);
171
174
176int wlmcl_client_signal_fd(wlmcl_client_t *wlmcl_client_ptr);
177
183void wlmcl_client_run(wlmcl_client_t *wlmcl_client_ptr);
184
191void wlmcl_client_request_terminate(wlmcl_client_t *wlmcl_client_ptr);
192
208 wlmcl_client_t *wlmcl_client_ptr,
209 uint64_t target_usec,
211 void *callback_ud_ptr);
212
213#ifdef __cplusplus
214} // extern "C"
215#endif // __cplusplus
216
217#endif /* __WLMAKER_WLCLIENT_H__ */
218/* == End of wlclient.h ==================================================== */
Definition wlclient.c:59
Definition wlclient.h:49
struct wl_compositor * wl_compositor_ptr
Definition wlclient.h:55
struct ext_input_observation_manager_v1 * input_observation_manager_ptr
Definition wlclient.h:51
struct zwlmaker_icon_manager_v1 * icon_manager_ptr
Definition wlclient.h:67
struct wl_pointer * wl_pointer_ptr
Definition wlclient.h:57
struct wl_shm * wl_shm_ptr
Definition wlclient.h:61
struct zxdg_decoration_manager_v1 * xdg_decoration_manager_ptr
Definition wlclient.h:69
const char * app_id_ptr
Definition wlclient.h:72
struct wp_cursor_shape_manager_v1 * cursor_shape_manager_ptr
Definition wlclient.h:63
struct wl_display * wl_display_ptr
Definition wlclient.h:53
struct wl_seat * wl_seat_ptr
Definition wlclient.h:59
struct xdg_wm_base * xdg_wm_base_ptr
Definition wlclient.h:65
Definition wlclient.h:76
struct wl_signal keymap
Definition wlclient.h:80
struct wl_signal keyboard_repeat_info
Definition wlclient.h:82
struct wl_signal key
Definition wlclient.h:78
Definition wlclient.c:127
void * userdata_ptr
Definition wlclient.c:143
uint32_t desired_version
Definition wlclient.c:134
void * bound_interface_ptr
Definition wlclient.c:139
void(* setup)(void *userdata_ptr, void *bound_interface_ptr)
Definition wlclient.c:141
const struct wl_interface * wl_interface_ptr
Definition wlclient.c:132
bool required
Definition wlclient.c:136
Definition wlclient.h:86
bool pressed
Definition wlclient.h:90
xkb_keysym_t keysym
Definition wlclient.h:88
struct xkb_keymap * wlmcl_client_get_keymap(wlmcl_client_t *wlmcl_client_ptr)
Definition wlclient.c:463
bool wlmcl_client_get_repeat_info(wlmcl_client_t *wlmcl_client_ptr, int32_t *rate_ptr, int32_t *delay_ptr)
Definition wlclient.c:520
wlmcl_client_t * wlmcl_client_create(const char *app_id_ptr)
Definition wlclient.c:330
void wlmcl_client_run(wlmcl_client_t *wlmcl_client_ptr)
Definition wlclient.c:552
void(* wlmcl_client_callback_t)(wlmcl_client_t *wlmcl_client_ptr, void *ud_ptr)
Definition wlclient.h:44
void wlmcl_client_destroy(wlmcl_client_t *wlmcl_client_ptr)
Definition wlclient.c:413
struct wlmcl_client_interface * wlmcl_client_register_interface(wlmcl_client_t *client_ptr, const struct wl_interface *wl_interface_ptr, uint32_t desired_version, bool required, void(*setup)(void *bound_interface_ptr, void *userdata_ptr), void *userdata_ptr)
Definition wlclient.c:469
int wlmcl_client_signal_fd(wlmcl_client_t *wlmcl_client_ptr)
Definition wlclient.c:544
void wlmcl_client_request_terminate(wlmcl_client_t *wlmcl_client_ptr)
Definition wlclient.c:672
bool wlmcl_client_initialize(wlmcl_client_t *client_ptr)
Definition wlclient.c:494
bool wlmcl_client_register_timer(wlmcl_client_t *wlmcl_client_ptr, uint64_t target_usec, wlmcl_client_callback_t callback, void *callback_ud_ptr)
Definition wlclient.c:678