2#include <SFML/System/Vector2.hpp>
4#include <SFML/Graphics/Color.hpp>
14 sf::RectangleShape active_part;
15 sf::RectangleShape inactive_part;
16 sf::RectangleShape thumb;
24 bool thumbBeingPressed;
27 void draw(sf::RenderWindow &window)
override;
28 void update(sf::RenderWindow &window)
override;
37 void render(sf::RenderWindow &window)
override;
39 void handleEvent(
const sf::Event &event, sf::RenderWindow &window)
override;
51 Slider(
float size,
float from = 0.0f,
float to = 1.0f);
Horizontal draggable slider widget.
Definition Slider.hpp:12
std::function< void(float)> onchange
Callback fired when value changes during dragging.
Definition Slider.hpp:34
void changeValue(float value)
Set internal value (no callback triggered).
void handleEvent(const sf::Event &event, sf::RenderWindow &window) override
Handle mouse press/release/move input for dragging.
void render(sf::RenderWindow &window) override
Render the slider.
float getValue()
Read current value.
sf::Vector2f getDimensions() override
Get slider dimensions (length x thickness).
void setPosition(float x, float y) override
Set top-left position of slider track.
Slider(float size, float from=0.0f, float to=1.0f)
Create slider.