#pragma once #include #include #include #include #include #include #include #include #include #include #include "window.h" #if defined STELA_API_VULKAN #include "vk_common.h" #elif defined STELA_API_OPENGL #include "egl_common.h" #endif #define STELA_WAYLAND_KEY_MAX (KEY_MEDIA + 1) struct stl_x11_global { Display *x11_d; XkbDescPtr xkb_desc; Cursor cursors[STELA_CURSOR_HIDDEN]; array(struct stl_monitor *) monitors; #if defined STELA_API_VULKAN const char **vk_extensions; #elif defined STELA_API_OPENGL struct stl_egl_global egl; #endif void (*output_discovered)(void *, struct stl_monitor *); void *userdata; }; struct stl_window_x11 { struct stl_window w; Window window; bool cursor_hidden; #if defined STELA_API_OPENGL struct stl_egl egl; #endif #ifdef STELA_PAUSE struct nn_pollfd fds[2]; #else struct nn_pollfd fds[1]; #endif };