#ifndef UI_H #define UI_H #include #include"graphics/text.h" enum class MouseButton{ Left, Mid, Right }; class UI{ public: int hotItem, activeItem; // TODO: Move MouseStatus other class using MousePos = sf::Vector2i; MousePos mousePos; struct MouseState{ bool leftDown, rightDown, midDown; MouseState(){ leftDown = false; rightDown = false; midDown = false; } } currentMouse, previousMouse; bool mouseButtonPressed(MouseButton m); bool mouseButtonReleased(MouseButton m); bool mouseButtonIsDown(MouseButton m); bool mouseButtonIsUp(MouseButton m); sf::Vector2i mousePosition(); // end of MouseStatus void handleEvent(const sf::Event &event); void initImUI(); void finishImUI(); bool button(sf::RenderWindow *win, int id, const std::string &text, sf::Vector2i pos, sf::Vector2i size); bool radioButton(sf::RenderWindow *win, Graphics::TextureFont font, int id, const std::string &text, bool state, sf::Vector2i pos, sf::Vector2i size); }; #endif // UI_H