buffer: add addon set
This allows wlr_buffer users to extend it with tjeir own state.
This commit is contained in:
parent
20404ed8bb
commit
93964012e6
|
@ -12,6 +12,7 @@
|
||||||
#include <pixman.h>
|
#include <pixman.h>
|
||||||
#include <wayland-server-core.h>
|
#include <wayland-server-core.h>
|
||||||
#include <wlr/render/dmabuf.h>
|
#include <wlr/render/dmabuf.h>
|
||||||
|
#include <wlr/util/addon.h>
|
||||||
|
|
||||||
struct wlr_buffer;
|
struct wlr_buffer;
|
||||||
struct wlr_renderer;
|
struct wlr_renderer;
|
||||||
|
@ -67,6 +68,8 @@ struct wlr_buffer {
|
||||||
struct wl_signal destroy;
|
struct wl_signal destroy;
|
||||||
struct wl_signal release;
|
struct wl_signal release;
|
||||||
} events;
|
} events;
|
||||||
|
|
||||||
|
struct wlr_addon_set addons;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct wlr_buffer_resource_interface {
|
struct wlr_buffer_resource_interface {
|
||||||
|
|
|
@ -21,6 +21,7 @@ void wlr_buffer_init(struct wlr_buffer *buffer,
|
||||||
buffer->height = height;
|
buffer->height = height;
|
||||||
wl_signal_init(&buffer->events.destroy);
|
wl_signal_init(&buffer->events.destroy);
|
||||||
wl_signal_init(&buffer->events.release);
|
wl_signal_init(&buffer->events.release);
|
||||||
|
wlr_addon_set_init(&buffer->addons);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void buffer_consider_destroy(struct wlr_buffer *buffer) {
|
static void buffer_consider_destroy(struct wlr_buffer *buffer) {
|
||||||
|
@ -31,6 +32,7 @@ static void buffer_consider_destroy(struct wlr_buffer *buffer) {
|
||||||
assert(!buffer->accessing_data_ptr);
|
assert(!buffer->accessing_data_ptr);
|
||||||
|
|
||||||
wlr_signal_emit_safe(&buffer->events.destroy, NULL);
|
wlr_signal_emit_safe(&buffer->events.destroy, NULL);
|
||||||
|
wlr_addon_set_finish(&buffer->addons);
|
||||||
|
|
||||||
buffer->impl->destroy(buffer);
|
buffer->impl->destroy(buffer);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue