Refine OpenXR backend formatting
This commit is contained in:
@@ -1,60 +1,20 @@
|
||||
#include <stdlib.h>
|
||||
#include "openxr_gl.h"
|
||||
|
||||
extern "C" {
|
||||
#include <wayland-server-core.h>
|
||||
#include <wlr/backend/interface.h>
|
||||
#include <wlr/util/log.h>
|
||||
}
|
||||
|
||||
struct my_backend {
|
||||
struct wlr_backend base;
|
||||
// TODO: any backend‐specific fields
|
||||
};
|
||||
|
||||
extern "C" {
|
||||
|
||||
static bool backend_start(struct wlr_backend* backend)
|
||||
{
|
||||
(void)backend;
|
||||
// TODO: start event loops, create outputs, inputs, etc.
|
||||
return true;
|
||||
}
|
||||
|
||||
static void backend_destroy(struct wlr_backend* backend)
|
||||
{
|
||||
(void)backend;
|
||||
// TODO: destroy outputs, free everything
|
||||
}
|
||||
|
||||
static int backend_get_drm_fd(struct wlr_backend* backend)
|
||||
{
|
||||
(void)backend;
|
||||
// TODO: return drm FD or -1
|
||||
return -1;
|
||||
}
|
||||
|
||||
static const struct wlr_backend_impl backend_impl = {
|
||||
.start = backend_start,
|
||||
.destroy = backend_destroy,
|
||||
.get_drm_fd = backend_get_drm_fd,
|
||||
};
|
||||
|
||||
struct wlr_backend* wlr_my_backend_create(
|
||||
struct wl_event_loop* loop, char const* name)
|
||||
{
|
||||
(void)loop;
|
||||
(void)name;
|
||||
struct my_backend* b = (struct my_backend*)calloc(1, sizeof(*b));
|
||||
if (!b) {
|
||||
return NULL;
|
||||
}
|
||||
wlr_backend_init(&b->base, &backend_impl);
|
||||
// TODO: store loop/name, setup
|
||||
return &b->base;
|
||||
return wlr_openxr_backend_create(nullptr, loop);
|
||||
}
|
||||
|
||||
bool wlr_backend_is_mybackend(struct wlr_backend* backend)
|
||||
{
|
||||
return backend->impl == &backend_impl;
|
||||
return wlr_backend_is_openxr(backend);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user