#pragma once #include "utils.h" struct eventloop_s; typedef u32 window_id_t; enum window_error_e : u8 { WINDOW_ERROR_NONE = 0, WINDOW_ERROR_CREATION_WL_SURFACE, WINDOW_ERROR_CREATION_XDG_SURFACE, WINDOW_ERROR_CREATION_XDG_TOPLEVEL, }; struct window_s { struct eventloop_s* loop; window_id_t id; wl_surface_t surface; xdg_surface_t xdg_surface; xdg_toplevel_t xdg_toplevel; }; enum window_error_e wayc_window_init(struct window_s* window, const char* name, struct eventloop_s* loop); void wayc_window_deinit(struct window_s* window); void wayc_window_redraw(struct window_s* window, struct eventloop_s* loop);