mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-10-31 22:25:21 -04:00
ext-image-capture-source-v1: add source pointer cursors
This commit is contained in:
parent
dadcbf65e6
commit
6712e774d4
3 changed files with 38 additions and 0 deletions
|
|
@ -13,12 +13,15 @@
|
||||||
#include <wlr/types/wlr_ext_image_capture_source_v1.h>
|
#include <wlr/types/wlr_ext_image_capture_source_v1.h>
|
||||||
|
|
||||||
struct wlr_ext_image_copy_capture_frame_v1;
|
struct wlr_ext_image_copy_capture_frame_v1;
|
||||||
|
struct wlr_seat;
|
||||||
|
|
||||||
struct wlr_ext_image_capture_source_v1_interface {
|
struct wlr_ext_image_capture_source_v1_interface {
|
||||||
void (*schedule_frame)(struct wlr_ext_image_capture_source_v1 *source);
|
void (*schedule_frame)(struct wlr_ext_image_capture_source_v1 *source);
|
||||||
void (*copy_frame)(struct wlr_ext_image_capture_source_v1 *source,
|
void (*copy_frame)(struct wlr_ext_image_capture_source_v1 *source,
|
||||||
struct wlr_ext_image_copy_capture_frame_v1 *dst_frame,
|
struct wlr_ext_image_copy_capture_frame_v1 *dst_frame,
|
||||||
struct wlr_ext_image_capture_source_v1_frame_event *frame_event);
|
struct wlr_ext_image_capture_source_v1_frame_event *frame_event);
|
||||||
|
struct wlr_ext_image_capture_source_v1_cursor *(*get_pointer_cursor)(
|
||||||
|
struct wlr_ext_image_capture_source_v1 *source, struct wlr_seat *seat);
|
||||||
};
|
};
|
||||||
|
|
||||||
void wlr_ext_image_capture_source_v1_init(struct wlr_ext_image_capture_source_v1 *source,
|
void wlr_ext_image_capture_source_v1_init(struct wlr_ext_image_capture_source_v1 *source,
|
||||||
|
|
@ -27,4 +30,8 @@ void wlr_ext_image_capture_source_v1_finish(struct wlr_ext_image_capture_source_
|
||||||
bool wlr_ext_image_capture_source_v1_create_resource(struct wlr_ext_image_capture_source_v1 *source,
|
bool wlr_ext_image_capture_source_v1_create_resource(struct wlr_ext_image_capture_source_v1 *source,
|
||||||
struct wl_client *client, uint32_t new_id);
|
struct wl_client *client, uint32_t new_id);
|
||||||
|
|
||||||
|
void wlr_ext_image_capture_source_v1_cursor_init(struct wlr_ext_image_capture_source_v1_cursor *source_cursor,
|
||||||
|
const struct wlr_ext_image_capture_source_v1_interface *impl);
|
||||||
|
void wlr_ext_image_capture_source_v1_cursor_finish(struct wlr_ext_image_capture_source_v1_cursor *source_cursor);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,26 @@ struct wlr_ext_image_capture_source_v1_frame_event {
|
||||||
const pixman_region32_t *damage;
|
const pixman_region32_t *damage;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A cursor capture source.
|
||||||
|
*
|
||||||
|
* Provides additional cursor-specific functionality on top of
|
||||||
|
* struct wlr_ext_image_capture_source_v1.
|
||||||
|
*/
|
||||||
|
struct wlr_ext_image_capture_source_v1_cursor {
|
||||||
|
struct wlr_ext_image_capture_source_v1 base;
|
||||||
|
|
||||||
|
bool entered;
|
||||||
|
int32_t x, y;
|
||||||
|
struct {
|
||||||
|
int32_t x, y;
|
||||||
|
} hotspot;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
struct wl_signal update;
|
||||||
|
} events;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Obtain a struct wlr_ext_image_capture_source_v1 from an ext_image_capture_source_v1
|
* Obtain a struct wlr_ext_image_capture_source_v1 from an ext_image_capture_source_v1
|
||||||
* resource.
|
* resource.
|
||||||
|
|
|
||||||
|
|
@ -69,3 +69,14 @@ bool wlr_ext_image_capture_source_v1_create_resource(struct wlr_ext_image_captur
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wlr_ext_image_capture_source_v1_cursor_init(struct wlr_ext_image_capture_source_v1_cursor *source_cursor,
|
||||||
|
const struct wlr_ext_image_capture_source_v1_interface *impl) {
|
||||||
|
*source_cursor = (struct wlr_ext_image_capture_source_v1_cursor){0};
|
||||||
|
wlr_ext_image_capture_source_v1_init(&source_cursor->base, impl);
|
||||||
|
wl_signal_init(&source_cursor->events.update);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wlr_ext_image_capture_source_v1_cursor_finish(struct wlr_ext_image_capture_source_v1_cursor *source_cursor) {
|
||||||
|
wlr_ext_image_capture_source_v1_finish(&source_cursor->base);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue