56class wayland_server :
public display_server_base<wayland_server, wayland_window> {
61 void connect()
override;
62 void disconnect()
override;
63 bool connected()
const override;
65 void dispatch()
override;
67 window* create_window(
const window::config& conf, window* parent)
override;
69 void* get_native_handle()
override {
return display; }
75 wl_registry* registry;
77 wl_compositor* compositor;
80 bool fifo, has_libdecor;
82#if FENNEC_HAS_LIBDECOR
89 static void _wl_registry_listen_global(
void*, wl_registry*,
uint32_t,
const char*,
uint32_t);
90 static void _wl_registry_on_global_remove(
void*, wl_registry*,
uint32_t);
92 static void _wl_seat_listen_capabilities(
void*, wl_seat*,
uint32_t);
93 static void _wl_seat_listen_name(
void*, wl_seat*,
const char*);
95 static void _xdg_listen_ping(
void*, xdg_wm_base*,
uint32_t);
97#if FENNEC_HAS_LIBDECOR
98 static void _libdecor_on_error(
struct libdecor*, libdecor_error error,
const char* message);
102 display_server::register_type<wayland_server>(1);
105 friend class wayland_window;