mirror of
https://github.com/MezzalunaWM/Mezzaluna.git
synced 2026-03-07 19:49:53 -05:00
39 lines
887 B
Zig
39 lines
887 B
Zig
const wl = @import("wayland").server.wl;
|
|
const wlr = @import("wlroots");
|
|
|
|
pub const Server = struct {
|
|
allocator: *wlr.Allocator,
|
|
|
|
server: *wl.Server,
|
|
event_loop: *wl.EventLoop,
|
|
|
|
session: *wlr.Session,
|
|
backend: *wlr.Backend,
|
|
renderer: *wlr.Renderer,
|
|
|
|
compositor: *wlr.Compositor,
|
|
|
|
pub fn init() !Server {
|
|
const server = try wl.Server.create();
|
|
const event_loop = server.getEventLoop();
|
|
|
|
var session: ?*wlr.Session = undefined;
|
|
const backend = try wlr.Backend.autocreate(event_loop, &session);
|
|
const renderer = try wlr.Renderer.autocreate(backend);
|
|
|
|
// Do we need to fail if session is NULL
|
|
|
|
return .{
|
|
.server = server,
|
|
.event_loop = event_loop,
|
|
|
|
.session = session,
|
|
.backend = backend,
|
|
.renderer = renderer,
|
|
|
|
.allocator = try wlr.Allocator.autocreate(backend, renderer),
|
|
|
|
.compositor = try wlr.Compositor.create(server, 6, renderer),
|
|
};
|
|
}
|
|
};
|