#include "ui_window.h" #include namespace ui { namespace window { struct window_t { Uint32 window; bool (*callback)(SDL_Event*); }; std::vector windows; void registerWindow(Uint32 window, bool(*callback)(SDL_Event*)) { for (auto win : windows) if (win.window == window) return; windows.push_back((window_t){window, callback}); } void unregisterWindow(Uint32 window) { for (auto win = windows.begin(); win != windows.end(); win++) if ((*win).window == window) { windows.erase(win); return; } } bool sendEvent(Uint32 window, SDL_Event *e) { for (auto win : windows) if (win.window == window) return win.callback(e); return true; } } }