wlroots/include/wlr/backend/multi.h

42 lines
1.2 KiB
C
Raw Normal View History

/*
* This an unstable interface of wlroots. No guarantees are made regarding the
* future consistency of this API.
*/
#ifndef WLR_USE_UNSTABLE
#error "Add -DWLR_USE_UNSTABLE to enable unstable wlroots features"
#endif
#ifndef WLR_BACKEND_MULTI_H
#define WLR_BACKEND_MULTI_H
2017-06-12 22:22:40 -04:00
#include <wlr/backend.h>
struct wlr_multi_backend;
2018-03-19 15:46:28 -04:00
/**
* Creates a multi-backend. Multi-backends wrap an arbitrary number of backends
* and aggregate their new_output/new_input signals.
*/
struct wlr_multi_backend *wlr_multi_backend_create(struct wl_display *display);
2018-03-19 15:46:28 -04:00
/**
* Adds the given backend to the multi backend. This should be done before the
* new backend is started.
*/
bool wlr_multi_backend_add(struct wlr_multi_backend *multi,
struct wlr_backend *backend);
2018-03-19 15:46:28 -04:00
void wlr_multi_backend_remove(struct wlr_multi_backend *multi,
2017-12-19 18:49:00 -05:00
struct wlr_backend *backend);
2018-03-19 15:46:28 -04:00
bool wlr_multi_backend_is_empty(struct wlr_multi_backend *backend);
void wlr_multi_backend_for_each(struct wlr_multi_backend *backend,
2018-09-19 21:53:51 +10:00
void (*callback)(struct wlr_backend *backend, void *data), void *data);
struct wlr_multi_backend *wlr_multi_backend_try_from(struct wlr_backend *backend);
struct wlr_backend *wlr_multi_backend_base(struct wlr_multi_backend *backend);
2017-06-12 22:22:40 -04:00
#endif