aboutsummaryrefslogtreecommitdiff
path: root/wayland.h
blob: 5d12ac5974a65aba39ab18f2278036c765b5aa1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef WAYLAND_H
#define WAYLAND_H

#include <xkbcommon/xkbcommon.h>
#include <wayland-client.h>
#include "xdg-shell-client-protocol.h"


typedef struct {
	struct wl_display *display;
	struct wl_registry *registry;
	struct wl_shm *shm;
	struct wl_compositor *compositor;
	struct xdg_wm_base *wm_base;
	struct wl_seat *seat;
	struct {
		struct xkb_state *state;
		struct xkb_keymap *keymap;
		struct xkb_context *context;
		struct wl_keyboard *keyboard;
		struct {
			uint32_t state;
			uint32_t sym;
			struct {
				uint32_t ctrl;
				uint32_t alt;
				uint32_t shift;
			} mods;
		} event;
		struct {
			int timer;
			int delay;
			int period;
		} repeat;
	} kb;
	struct {
		struct wl_pointer *pointer;
		struct {
			uint32_t x;
			uint32_t y;
		} position;
		struct {
			uint32_t button;
			uint32_t state;
		} buttons;
	} pointer;
} Client;

int allocate_shm_file(size_t size);

#endif