mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-22 06:59:44 -05:00
Merge pull request #496 from emersion/headless-backend
Headless backend
This commit is contained in:
commit
f3769a4b1f
17 changed files with 457 additions and 28 deletions
14
include/wlr/backend/headless.h
Normal file
14
include/wlr/backend/headless.h
Normal 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
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue