Documentation for <wlr/backend.h>
Table of contents
struct wlr_backend ¶
struct wlr_backend { const struct wlr_backend_impl *impl; struct { /** Raised when destroyed */ struct wl_signal destroy; /** Raised when new inputs are added, passed the struct wlr_input_device */ struct wl_signal new_input; /** Raised when new outputs are added, passed the struct wlr_output */ struct wl_signal new_output; } events; };
A backend provides a set of input and output devices.
wlr_backend_autocreate() ¶
struct wlr_backend *wlr_backend_autocreate(struct wl_event_loop *loop, struct wlr_session **session_ptr);
Automatically initializes the most suitable backend given the environment. Will always return a multi-backend. The backend is created but not started. Returns NULL on failure.
If session_ptr is not NULL, it's populated with the session which has been created with the backend, if any.
The multi-backend will be destroyed if one of the primary underlying backends is destroyed (e.g. if the primary DRM device is unplugged).
wlr_backend_commit() ¶
bool wlr_backend_commit(struct wlr_backend *backend, const struct wlr_backend_output_state *states, size_t states_len);
wlr_backend_destroy() ¶
void wlr_backend_destroy(struct wlr_backend *backend);
Destroy the backend and clean up all of its resources. Normally called automatically when the struct wl_display is destroyed.
wlr_backend_get_drm_fd() ¶
int wlr_backend_get_drm_fd(struct wlr_backend *backend);
Returns the DRM node file descriptor used by the backend's underlying platform. Can be used by consumers for additional rendering operations. The consumer must not close the file descriptor since the backend continues to have ownership of it.
struct wlr_backend_output_state ¶
struct wlr_backend_output_state { struct wlr_output *output; struct wlr_output_state base; };
Per-output state for wlr_backend_test() and wlr_backend_commit().
wlr_backend_start() ¶
bool wlr_backend_start(struct wlr_backend *backend);
wlr_backend_test() ¶
bool wlr_backend_test(struct wlr_backend *backend, const struct wlr_backend_output_state *states, size_t states_len);