diff options
| author | Berke Güzel <wenekar1@gmail.com> | 2026-10-13 13:44:13 +0300 |
|---|---|---|
| committer | Berke Güzel <wenekar1@gmail.com> | 2026-10-13 13:44:13 +0300 |
| commit | c059e3aa7f93da470f052a5cd8ee0d8dc969e679 (patch) | |
| tree | 63ffa378287ed2c606eda2e940501b9edc3d2b8b /src/platform/wayland/clipboard.h | |
| parent | 87d0bc50d53dc216efb2b04495f090616318bc5c (diff) | |
rename and simplification
Diffstat (limited to 'src/platform/wayland/clipboard.h')
| -rw-r--r-- | src/platform/wayland/clipboard.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/platform/wayland/clipboard.h b/src/platform/wayland/clipboard.h new file mode 100644 index 0000000..9fefa8e --- /dev/null +++ b/src/platform/wayland/clipboard.h @@ -0,0 +1,42 @@ +#ifndef YASL_WAYLAND_CLIPBOARD_H +#define YASL_WAYLAND_CLIPBOARD_H + +#include <stdint.h> +#include <stddef.h> +#include <stdbool.h> +#include "yasl/yasl.h" + +struct wl_display; +struct wl_data_device_manager; +struct wl_seat; +struct wl_surface; +struct wl_data_device; +struct clipboard; +struct zwp_primary_selection_device_manager_v1; + +typedef void (*clipboard_receive_fn)(const char *, size_t, bool uri_list, + struct wl_surface *on, void *); + +struct clipboard *clipboard_create(struct wl_display *, struct wl_data_device_manager *, + struct wl_seat *, struct yasl_loop *, + clipboard_receive_fn, void *); +void clipboard_destroy(struct clipboard *); +bool clipboard_set_seat(struct clipboard *, struct wl_seat *); +void clipboard_set_primary_manager(struct clipboard *, struct zwp_primary_selection_device_manager_v1 *); +void clipboard_copy(struct clipboard *, const char *, uint32_t); +void clipboard_paste(struct clipboard *, struct wl_surface *target); +void clipboard_forget_surface(struct clipboard *, struct wl_surface *); +void clipboard_copy_primary(struct clipboard *, const char *, uint32_t); +void clipboard_paste_primary(struct clipboard *, struct wl_surface *target); + +typedef void (*clipboard_drag_fn)(enum yasl_drag_event, struct wl_surface *on, + double x, double y, void *); +void clipboard_set_drag_handler(struct clipboard *, clipboard_drag_fn, void *); + +typedef void (*clipboard_drop_fn)(enum yasl_drop_event, struct wl_surface *on, + double x, double y, void *); +void clipboard_set_drop_handler(struct clipboard *, clipboard_drop_fn, void *); +const char *clipboard_drag_mime(void); +struct wl_data_device *clipboard_data_device(const struct clipboard *); + +#endif |
