aboutsummaryrefslogtreecommitdiff
path: root/include/rootston/xcursor.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/rootston/xcursor.h')
-rw-r--r--include/rootston/xcursor.h39
1 files changed, 34 insertions, 5 deletions
diff --git a/include/rootston/xcursor.h b/include/rootston/xcursor.h
index c96e50ef..45fac481 100644
--- a/include/rootston/xcursor.h
+++ b/include/rootston/xcursor.h
@@ -1,15 +1,44 @@
#ifndef _ROOTSTON_XCURSOR_H
#define _ROOTSTON_XCURSOR_H
+#include <wayland-server.h>
#include <wlr/xcursor.h>
+#include <wlr/xwayland.h>
+#include <wlr/types/wlr_cursor.h>
-struct wlr_xcursor *get_default_xcursor(struct wlr_xcursor_theme *theme);
+#define ROOTS_XCURSOR_SIZE 16
-struct wlr_xcursor *get_move_xcursor(struct wlr_xcursor_theme *theme);
+struct roots_xcursor_scaled_theme {
+ uint32_t scale;
+ struct wlr_xcursor_theme *theme;
+ struct wl_list link;
+};
-struct wlr_xcursor *get_resize_xcursor(struct wlr_xcursor_theme *theme,
- uint32_t edges);
+struct roots_xcursor_theme {
+ char *name;
+ struct wl_list scaled_themes; // roots_xcursor_scaled_theme::link
+};
-struct wlr_xcursor *get_rotate_xcursor(struct wlr_xcursor_theme *theme);
+struct roots_xcursor_theme *roots_xcursor_theme_create(const char *name);
+
+void roots_xcursor_theme_destroy(struct roots_xcursor_theme *theme);
+
+int roots_xcursor_theme_load(struct roots_xcursor_theme *theme,
+ uint32_t scale);
+
+void roots_xcursor_theme_set_default(struct roots_xcursor_theme *theme,
+ struct wlr_cursor *cursor);
+
+void roots_xcursor_theme_set_move(struct roots_xcursor_theme *theme,
+ struct wlr_cursor *cursor);
+
+void roots_xcursor_theme_set_resize(struct roots_xcursor_theme *theme,
+ struct wlr_cursor *cursor, uint32_t edges);
+
+void roots_xcursor_theme_set_rotate(struct roots_xcursor_theme *theme,
+ struct wlr_cursor *cursor);
+
+void roots_xcursor_theme_xwayland_set_default(struct roots_xcursor_theme *theme,
+ struct wlr_xwayland *xwayland);
#endif