From 5ca9d612f4fa1977bec5a8c1e79c33d2ce4df365 Mon Sep 17 00:00:00 2001
From: Drew DeVault <sir@cmpwn.com>
Date: Tue, 25 Apr 2017 19:19:21 -0400
Subject: Flesh out wayland backend registry

---
 include/backend/wayland.h |  7 +++++--
 include/wlr/wayland.h     | 17 +++++++++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)

(limited to 'include')

diff --git a/include/backend/wayland.h b/include/backend/wayland.h
index 368b0724..94aa0962 100644
--- a/include/backend/wayland.h
+++ b/include/backend/wayland.h
@@ -11,8 +11,8 @@ struct wlr_wl_backend {
 	struct wl_display *local_display;
 	/* remote state */
 	struct wl_display *remote_display;
-	struct wl_registry *remote_registry;
-	struct wl_compositor *remote_compositor;
+	struct wl_registry *registry;
+	struct wl_compositor *compositor;
 	struct wl_shell *shell;
 	struct wl_shm *shm;
 	struct wlr_wl_seat *seat;
@@ -21,4 +21,7 @@ struct wlr_wl_backend {
 
 void wlr_wlb_registry_poll(struct wlr_wl_backend *backend);
 
+extern const struct wl_seat_listener seat_listener;
+extern const struct wl_output_listener output_listener;
+
 #endif
diff --git a/include/wlr/wayland.h b/include/wlr/wayland.h
index 1c0b30ae..0a6974ff 100644
--- a/include/wlr/wayland.h
+++ b/include/wlr/wayland.h
@@ -8,15 +8,28 @@ struct wlr_wl_seat {
 	struct wl_seat *wl_seat;
 	uint32_t capabilities;
 	const char *name;
-	list_t *outputs;
+	list_t *keyboards;
 	list_t *pointers;
 };
 
+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;
-	uint32_t width, height;
+	const char *make;
+	const 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;
 };
 
 struct wlr_wl_keyboard {
-- 
cgit v1.2.3