2#include <SFML/Graphics/RectangleShape.hpp>
3#include <SFML/System/Vector2.hpp>
5#include <SFML/Graphics/Color.hpp>
7#include <unordered_map>
32 sf::RectangleShape shape;
35 std::unordered_map<std::string, std::variant<unsigned int, float, std::string>> styles = {
36 {
"fontPath",
"src/assets/AdwaitaSans-Regular.ttf"},
38 {
"letterSpacing", 1.f},
39 {
"fontColor", 0x000000FFu},
40 {
"hoverFontColor", 0x000000FFu},
41 {
"outlineColor", 0x000000FFu},
42 {
"outlineThickness", 1.f},
43 {
"backgroundColor", 0xFFFFFFFFu},
44 {
"hoverBackgroundColor", 0xEEEEEEFFu},
54 void draw(sf::RenderWindow &window)
override;
55 void update(sf::RenderWindow &window)
override;
64 void render(sf::RenderWindow &window)
override;
66 void handleEvent(
const sf::Event &event, sf::RenderWindow &window)
override;
82 std::unordered_map<std::string, std::variant<unsigned int, float, std::string>> styling = {},
83 unsigned int borderColor = 0x000000FFu,
84 float borderThickness = 1.f);
100 void overrideStyling(std::unordered_map<std::string, std::variant<unsigned int, float, std::string>> styling);