aboutsummaryrefslogtreecommitdiff
path: root/include/wlr/wayland.h
blob: bbbd2457e654cc0518d0d1c425189bb67abce28b (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
#ifndef _WLR_WAYLAND_H
#define _WLR_WAYLAND_H

#include <wayland-server.h>
#include <wlr/common/list.h>

struct wlr_wl_seat {
	struct wl_seat *wl_seat;
	uint32_t capabilities;
	char *name;
	list_t *keyboards;
	list_t *pointers;
};

void wlr_wl_seat_free(struct wlr_wl_seat *seat);

struct wlr_wl_output_mode {
	uint32_t flags; // enum wl_output_mode
	int32_t width, height;
	int32_t refresh; // mHz
};

struct wlr_wl_output {
	struct wl_output *wl_output;
	uint32_t flags;
	char *make;
	char *model;
	uint32_t scale;
	int32_t x, y;
	int32_t phys_width, phys_height; // mm
	int32_t subpixel; // enum wl_output_subpixel
	int32_t transform; // enum wl_output_transform
	list_t *modes;
	struct wlr_wl_output_mode *current_mode;
};

void wlr_wl_output_free(struct wlr_wl_output *output);

struct wlr_wl_keyboard {
	struct wl_keyboard *wl_keyboard;
};

struct wlr_wl_pointer {
	struct wl_pointer *wl_pointer;
	struct wl_surface *current_surface;
	wl_fixed_t x, y;
};

#endif