aboutsummaryrefslogtreecommitdiff
path: root/include/wlr/interfaces/wlr_output.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/wlr/interfaces/wlr_output.h')
-rw-r--r--include/wlr/interfaces/wlr_output.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/wlr/interfaces/wlr_output.h b/include/wlr/interfaces/wlr_output.h
new file mode 100644
index 00000000..24380be8
--- /dev/null
+++ b/include/wlr/interfaces/wlr_output.h
@@ -0,0 +1,22 @@
+#ifndef _WLR_INTERFACE_OUTPUT_H
+#define _WLR_INTERFACE_OUTPUT_H
+#include <wlr/interfaces/wlr_output.h>
+#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,
+ 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);
+};
+
+struct wlr_output *wlr_output_create(struct wlr_output_impl *impl,
+ struct wlr_output_state *state);
+void wlr_output_free(struct wlr_output *output);
+
+#endif