#ifndef WAYLAND_RUNTIME_H
#define WAYLAND_RUNTIME_H

#include <stdint.h>

/* Инициализация общего соединения Wayland и подготовка глобальных данных */
int32_t init_wayland(void);

/* Создать поток для окна; вернуть индекс слота или отрицательное при ошибке */
int32_t run_window(void);

/* Блокировать до завершения всех оконных потоков */
void wait_for_windows(void);

/* Остановить оконные потоки, очистить input и закрыть соединение Wayland */
void destroy_wayland(void);

/* Поиск окна по wl_surface */
struct wayland_window* get_window_by_surface(struct wl_surface* surf);

#endif
