Merge pull request #496 from emersion/headless-backend

Headless backend
This commit is contained in:
Drew DeVault 2017-12-17 20:48:01 -05:00 committed by GitHub
commit f3769a4b1f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 457 additions and 28 deletions

View file

@ -0,0 +1,14 @@
#ifndef WLR_BACKEND_HEADLESS_H
#define WLR_BACKEND_HEADLESS_H
#include <wlr/backend.h>
#include <wlr/types/wlr_input_device.h>
struct wlr_backend *wlr_headless_backend_create(struct wl_display *display);
struct wlr_output *wlr_headless_add_output(struct wlr_backend *backend,
unsigned int width, unsigned int height);
struct wlr_input_device *wlr_headless_add_input_device(
struct wlr_backend *backend, enum wlr_input_device_type type);
bool wlr_backend_is_headless(struct wlr_backend *backend);
#endif

View file

@ -28,8 +28,10 @@ struct wlr_output_impl {
void wlr_output_init(struct wlr_output *output, struct wlr_backend *backend,
const struct wlr_output_impl *impl);
void wlr_output_free(struct wlr_output *output);
void wlr_output_update_size(struct wlr_output *output, int32_t width,
int32_t height);
void wlr_output_update_mode(struct wlr_output *output,
struct wlr_output_mode *mode);
void wlr_output_update_custom_mode(struct wlr_output *output, int32_t width,
int32_t height, int32_t refresh);
struct wl_global *wlr_output_create_global(struct wlr_output *wlr_output,
struct wl_display *display);
void wlr_output_destroy_global(struct wlr_output *wlr_output);

View file

@ -22,7 +22,8 @@ struct wlr_egl {
* Initializes an egl context for the given platform and remote display.
* Will attempt to load all possibly required api functions.
*/
bool wlr_egl_init(struct wlr_egl *egl, EGLenum platform, EGLint visual_id, void *display);
bool wlr_egl_init(struct wlr_egl *egl, EGLenum platform, void *remote_display,
EGLint *config_attribs, EGLint visual_id);
/**
* Frees all related egl resources, makes the context not-current and

View file

@ -47,6 +47,7 @@ struct wlr_output {
char serial[16];
float scale;
int32_t width, height;
int32_t refresh; // mHz
int32_t phys_width, phys_height; // mm
enum wl_output_subpixel subpixel;
enum wl_output_transform transform;