2023-11-05 19:34:20 +00:00
|
|
|
#ifndef __RECOMP_UI__
|
|
|
|
#define __RECOMP_UI__
|
|
|
|
|
2023-11-11 22:42:07 +00:00
|
|
|
#include <memory>
|
|
|
|
|
2023-11-05 19:34:20 +00:00
|
|
|
#include "SDL.h"
|
|
|
|
|
2023-11-11 22:42:07 +00:00
|
|
|
namespace Rml {
|
|
|
|
class ElementDocument;
|
|
|
|
class EventListenerInstancer;
|
2024-01-01 05:09:14 +00:00
|
|
|
class Context;
|
2023-11-11 22:42:07 +00:00
|
|
|
}
|
|
|
|
|
2023-11-24 22:10:21 +00:00
|
|
|
namespace recomp {
|
|
|
|
|
|
|
|
void queue_event(const SDL_Event& event);
|
|
|
|
bool try_deque_event(SDL_Event& out);
|
2023-11-11 22:42:07 +00:00
|
|
|
|
2023-11-24 22:10:21 +00:00
|
|
|
std::unique_ptr<Rml::EventListenerInstancer> make_event_listener_instancer();
|
2024-01-01 05:09:14 +00:00
|
|
|
void make_ui_bindings(Rml::Context* context);
|
2023-11-11 22:42:07 +00:00
|
|
|
|
2023-11-24 22:10:21 +00:00
|
|
|
enum class Menu {
|
|
|
|
Launcher,
|
2023-12-29 21:49:26 +00:00
|
|
|
Config,
|
2023-11-24 22:10:21 +00:00
|
|
|
None
|
|
|
|
};
|
|
|
|
|
|
|
|
void set_current_menu(Menu menu);
|
|
|
|
void destroy_ui();
|
|
|
|
}
|
2023-11-11 22:42:07 +00:00
|
|
|
|
2023-11-05 19:34:20 +00:00
|
|
|
#endif
|