aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-08-13 10:51:50 -0400
committerDrew DeVault <sir@cmpwn.com>2017-08-13 11:38:03 -0400
commit41e735242dc8788618bb668ad70ea164e47099db (patch)
tree79b474aec3b822da9a8f64e3347603d4bb1920a5 /include
parent43868168897f628fe75157be9ab38ea63310c920 (diff)
Remove wlr_output_state, update backends
Diffstat (limited to 'include')
-rw-r--r--include/backend/drm.h14
-rw-r--r--include/backend/wayland.h12
-rw-r--r--include/wlr/interfaces/wlr_output.h22
-rw-r--r--include/wlr/types/wlr_output.h4
4 files changed, 26 insertions, 26 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;
diff --git a/include/wlr/interfaces/wlr_output.h b/include/wlr/interfaces/wlr_output.h
index 5f9bfdd2..efc8ef43 100644
--- a/include/wlr/interfaces/wlr_output.h
+++ b/include/wlr/interfaces/wlr_output.h
@@ -4,21 +4,19 @@
#include <stdbool.h>
struct wlr_output_impl {
- void (*enable)(struct wlr_output_state *state, bool enable);
- bool (*set_mode)(struct wlr_output_state *state,
- struct wlr_output_mode *mode);
- void (*transform)(struct wlr_output_state *state,
+ void (*enable)(struct wlr_output *output, bool enable);
+ bool (*set_mode)(struct wlr_output *output, struct wlr_output_mode *mode);
+ void (*transform)(struct wlr_output *output,
enum wl_output_transform transform);
- bool (*set_cursor)(struct wlr_output_state *state,
- const uint8_t *buf, int32_t stride, uint32_t width, uint32_t height);
- bool (*move_cursor)(struct wlr_output_state *state, int x, int y);
- void (*destroy)(struct wlr_output_state *state);
- void (*make_current)(struct wlr_output_state *state);
- void (*swap_buffers)(struct wlr_output_state *state);
+ bool (*set_cursor)(struct wlr_output *output, const uint8_t *buf,
+ int32_t stride, uint32_t width, uint32_t height);
+ bool (*move_cursor)(struct wlr_output *output, int x, int y);
+ void (*destroy)(struct wlr_output *output);
+ void (*make_current)(struct wlr_output *output);
+ void (*swap_buffers)(struct wlr_output *output);
};
-struct wlr_output *wlr_output_create(struct wlr_output_impl *impl,
- struct wlr_output_state *state);
+void wlr_output_init(struct wlr_output *output, const struct wlr_output_impl *impl);
void wlr_output_free(struct wlr_output *output);
void wlr_output_update_matrix(struct wlr_output *output);
struct wl_global *wlr_output_create_global(
diff --git a/include/wlr/types/wlr_output.h b/include/wlr/types/wlr_output.h
index e57217c2..a669e3bb 100644
--- a/include/wlr/types/wlr_output.h
+++ b/include/wlr/types/wlr_output.h
@@ -14,12 +14,10 @@ struct wlr_output_mode {
};
struct wlr_output_impl;
-struct wlr_output_state;
struct wlr_output {
const struct wlr_output_impl *impl;
- struct wlr_output_state *state;
- void *user_data;
+
struct wl_global *wl_global;
struct wl_list wl_resources;