gamescope/src/wlserver.h

56 lines
1 KiB
C
Raw Normal View History

2019-11-21 05:16:53 +00:00
// Wayland stuff
#pragma once
2019-11-23 06:58:07 +00:00
// Only define wlserver_t on the C side, as wlroots can't build as C++
#ifdef C_SIDE
2019-11-21 05:16:53 +00:00
#include <wayland-server-core.h>
#include <wlr/backend.h>
#include <wlr/backend/session.h>
#include <wlr/render/wlr_renderer.h>
#include <wlr/xwayland.h>
struct wlserver_t {
struct wl_display *wl_display;
struct wl_event_loop *wl_event_loop;
int wl_event_loop_fd;
2019-11-21 05:16:53 +00:00
struct {
struct wlr_backend *backend;
struct wlr_renderer *renderer;
struct wlr_compositor *compositor;
struct wlr_xwayland *xwayland;
struct wlr_session *session;
struct wlr_seat *seat;
struct wlr_output *output;
// Only for nested
struct wlr_input_device *keyboard;
struct wlr_input_device *pointer;
} wlr;
};
extern struct wlserver_t wlserver;
2019-11-23 06:58:07 +00:00
#endif
#ifndef C_SIDE
extern "C" {
#endif
extern const struct wlr_surface_role xwayland_surface_role;
int wlserver_init( int argc, char **argv, Bool bIsNested );
2019-11-23 06:58:07 +00:00
int wlserver_run(void);
void nudge_steamcompmgr(void);
void wlserver_lock(void);
void wlserver_unlock(void);
2019-11-23 06:58:07 +00:00
#ifndef C_SIDE
}
#endif