aboutsummaryrefslogtreecommitdiff
path: root/include/backend
diff options
context:
space:
mode:
Diffstat (limited to 'include/backend')
-rw-r--r--include/backend/drm.h14
-rw-r--r--include/backend/wayland.h12
2 files changed, 15 insertions, 11 deletions
diff --git a/include/backend/drm.h b/include/backend/drm.h
index 686d9f30..858b4616 100644
--- a/include/backend/drm.h
+++ b/include/backend/drm.h
@@ -12,6 +12,7 @@
#include <wlr/backend/session.h>
#include <wlr/backend/drm.h>
+#include <wlr/types/wlr_output.h>
#include <wlr/egl.h>
#include <wlr/util/list.h>
@@ -137,8 +138,9 @@ struct wlr_output_mode_state {
drmModeModeInfo mode;
};
-struct wlr_output_state {
- struct wlr_output *base;
+struct wlr_drm_output {
+ struct wlr_output output;
+
enum wlr_drm_output_state state;
uint32_t connector;
@@ -161,10 +163,10 @@ struct wlr_output_state {
struct wlr_drm_interface {
// Enable or disable DPMS for output
void (*conn_enable)(struct wlr_drm_backend *backend,
- struct wlr_output_state *output, bool enable);
+ struct wlr_drm_output *output, bool enable);
// Pageflip on crtc. If mode is non-NULL perform a full modeset using it.
bool (*crtc_pageflip)(struct wlr_drm_backend *backend,
- struct wlr_output_state *output, struct wlr_drm_crtc *crtc,
+ struct wlr_drm_output *output, struct wlr_drm_crtc *crtc,
uint32_t fb_id, drmModeModeInfo *mode);
// Enable the cursor buffer on crtc. Set bo to NULL to disable
bool (*crtc_set_cursor)(struct wlr_drm_backend *backend,
@@ -177,11 +179,11 @@ struct wlr_drm_interface {
bool wlr_drm_check_features(struct wlr_drm_backend *drm);
bool wlr_drm_resources_init(struct wlr_drm_backend *drm);
void wlr_drm_resources_free(struct wlr_drm_backend *drm);
-void wlr_drm_output_cleanup(struct wlr_output_state *output, bool restore);
+void wlr_drm_output_cleanup(struct wlr_drm_output *output, bool restore);
void wlr_drm_scan_connectors(struct wlr_drm_backend *state);
int wlr_drm_event(int fd, uint32_t mask, void *data);
-void wlr_drm_output_start_renderer(struct wlr_output_state *output);
+void wlr_drm_output_start_renderer(struct wlr_drm_output *output);
#endif
diff --git a/include/backend/wayland.h b/include/backend/wayland.h
index 3097c8cf..da4465fa 100644
--- a/include/backend/wayland.h
+++ b/include/backend/wayland.h
@@ -6,6 +6,7 @@
#include <wayland-egl.h>
#include <wlr/egl.h>
#include <wlr/backend/wayland.h>
+#include <wlr/types/wlr_output.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/util/list.h>
@@ -29,9 +30,10 @@ struct wlr_wl_backend {
char *seat_name;
};
-struct wlr_output_state {
+struct wlr_wl_backend_output {
+ struct wlr_output wlr_output;
+
struct wlr_wl_backend *backend;
- struct wlr_output *wlr_output;
struct wl_surface *surface;
struct wl_shell_surface *shell_surface;
struct wl_egl_window *egl_window;
@@ -47,12 +49,12 @@ struct wlr_input_device_state {
struct wlr_pointer_state {
enum wlr_axis_source axis_source;
- struct wlr_output *current_output;
+ struct wlr_wl_backend_output *current_output;
};
void wlr_wl_registry_poll(struct wlr_wl_backend *backend);
-struct wlr_output *wlr_wl_output_for_surface(struct wlr_wl_backend *backend,
- struct wl_surface *surface);
+struct wlr_wl_backend_output *wlr_wl_output_for_surface(
+ struct wlr_wl_backend *backend, struct wl_surface *surface);
extern const struct wl_seat_listener seat_listener;