7#include "Queryable.hpp"
8#include "IInputListener.hpp"
11#include <RmlUi/Core/ElementDocument.h>
16 class ElementDocument;
29 Rml::Context*
context =
nullptr;
34 std::atomic<
decltype(q_a)*> current = &q_a, inactive = &q_b;
38 uint32_t modifier_state = 0;
49 inline void ExclusiveAccess(
const T& func){
56 constexpr inline void EnqueueUIUpdate(
const T& func){
57 current.load()->enqueue(func);
60 void ScrollY(
float amt);
62 void SetDimensions(uint32_t width, uint32_t height);
69 inline decltype(data) GetData()
const{
77 enum class RenderMode{
80 } Mode = RenderMode::Screenspace;
96 void SetDPIScale(
float scale);
103 Rml::ElementDocument*
AddDocument(
const std::string& name);
124 Rml::ElementDocument*
GetDocument(
const std::string& name)
const;
132 data->SetDimensions(width, height);
158 data->ExclusiveAccess(func);
167 data->EnqueueUIUpdate(func);
173 static bool LoadFont(
const std::string& filename);
Rml::ElementDocument * AddDocument(const std::string &name)
Definition GUI.cpp:73
bool IsDocumentLoaded(const std::string &name) const
Definition GUI.cpp:106
void RemoveDocument(const std::string &name)
Definition GUI.cpp:94
Rml::ElementDocument * GetDocument(const std::string &name) const
Definition GUI.cpp:160
void SetDimensions(uint32_t width, uint32_t height)
Definition GUI.hpp:131
bool Update()
Definition GUI.cpp:116
void MouseY(float normalized_pos)
Definition GUI.cpp:269
constexpr void EnqueueUIUpdate(const T &func)
Definition GUI.hpp:166
GUIComponent()
Definition GUI.cpp:147
void ScrollY(float amt)
Definition GUI.hpp:148
void MouseX(float normalized_pos)
Definition GUI.cpp:265
void Debug()
Definition GUI.cpp:295
bool Render()
Definition GUI.cpp:139
static bool LoadFont(const std::string &filename)
Definition GUI.cpp:110
constexpr void ExclusiveAccess(const T &func)
Definition GUI.hpp:157
Definition RenderEngine.hpp:64
Definition SpinLock.hpp:9
Definition concurrentqueue.h:747
Definition Animation.hpp:6
void AnyActionUp(const int charcode) override
Definition GUI.cpp:223
void AnyActionDown(const int charcode) override
Definition GUI.cpp:175