#include "window_kms.h" #include "common.h" f64 stl_scale_scroll(f64 v, f64 factor) { return v / factor; } void stl_set_output_discovered_callback(void (*output_discovered)(void *, struct stl_monitor *), void *userdata) { (void)output_discovered; (void)userdata; } bool stl_global_init(bool skip_graphics) { (void)skip_graphics; return false; } s32 stl_global_get_poll_fd() { al_assert_and_return(-1); } void stl_global_process_events() { al_assert(false); } s32 stl_swallow_main(u32 argc, str *argv, s32 (*main)(u32, str *, void *), void *extra) { return main(argc, argv, extra); } void stl_global_close(void) { } static bool window_kms_create_window(struct stl_window *window, u32 width, u32 height, u32 flags, const char *monitor, const char *name, const char *app_id) { struct stl_window_kms *kms = (struct stl_window_kms *)window; (void)kms; (void)monitor; (void)name; (void)app_id; (void)width; (void)height; (void)flags; return true; } static void window_kms_resize_internal(struct stl_window *window, u32 width, u32 height) { (void)window; (void)width; (void)height; } static void window_kms_resize(struct stl_window *window, u32 width, u32 height) { (void)window; (void)width; (void)height; } static void window_kms_toggle_fullscreen(struct stl_window *window) { (void)window; } #ifdef STELA_POLL_INLINE static bool window_kms_poll(struct stl_window *window, bool block) { (void)window; (void)block; return true; } #ifdef STELA_PAUSE static void window_kms_wake(struct stl_window *window) { (void)window; } #endif #endif static void window_kms_process_events(struct stl_window *window) { (void)window; } #ifdef STELA_PAUSE static bool window_kms_should_refresh(struct stl_window *window) { (void)window; return true; } #endif static void window_kms_free(struct stl_window **window) { (void)window; } #if defined STELA_API_OPENGL static bool window_kms_gl_loader_load(void *window) { (void)window; return true; } static bool window_kms_gl_make_current(void *window) { (void)window; return true; } static void window_kms_gl_release_current(void *window) { (void)window; } static void window_kms_gl_swap_buffers(void *window) { struct stl_window_kms *kms = (struct stl_window_kms *)window; (void)kms; } #endif struct stl_window *stl_window_create(void) { struct stl_window_kms *kms = al_alloc_object(struct stl_window_kms); stl_window_init(&kms->w); kms->w.fullscreen = true; kms->w.create_window = window_kms_create_window; kms->w.resize_internal = window_kms_resize_internal; kms->w.resize = window_kms_resize; kms->w.toggle_fullscreen = window_kms_toggle_fullscreen; #ifdef STELA_POLL_INLINE kms->w.poll = window_kms_poll; #ifdef STELA_PAUSE kms->w.wake = window_kms_wake; #endif #endif kms->w.process_events = window_kms_process_events; #ifdef STELA_PAUSE kms->w.should_refresh = window_kms_should_refresh; #endif kms->w.free = window_kms_free; #if defined STELA_API_OPENGL kms->w.get_gl_proc_address = NULL; kms->w.gl_loader_load = window_kms_gl_loader_load; kms->w.gl_make_current = window_kms_gl_make_current; kms->w.gl_release_current = window_kms_gl_release_current; kms->w.gl_swap_buffers = window_kms_gl_swap_buffers; #endif return (struct stl_window *)kms; }