#include "guecs/sfml/components.hpp" #include "guecs/ui.hpp" #include #include #include #include #include "dbc.hpp" #include #include #include #include #include "constants.hpp" #include "control.hpp" ControlUI::ControlUI(sf::RenderWindow& presenter) : $presenter(presenter) { $gui.position(0, 0, CONTROL_WIDTH, CONTROL_HEIGHT); $gui.layout( "[status]" "[docs]" ); } void ControlUI::init() { auto status_id = $gui.entity("status"); $gui.set(status_id, {L""}); auto docs_id = $gui.entity("docs"); $gui.set(docs_id, {L"A: win left\nD: win right\nQ: quit"}); $status = $gui.get_if(status_id); $gui.init(); } void ControlUI::render(sf::RenderWindow& window) { auto pos = $presenter.getPosition(); auto size = $presenter.getSize(); $status->update(fmt::format(L"pos={},{}\nsize={},{}", pos.x, pos.y, size.x, size.y)); window.clear(); $gui.render(window); }