#pragma once #include "utils.h" struct eventloop_s; typedef u32 window_id_t; enum window_error_e : u8 { WINDOW_ERROR_NONE = 0, WINDOW_ERROR_WL_SURFACE_CREATION, WINDOW_ERROR_XDG_SURFACE_CREATION, WINDOW_ERROR_XDG_TOPLEVEL_CREATION, }; 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);