#include #include #include #include "slider.hpp" int main() { int result; unsigned char r, g, b; sf::RenderWindow window(sf::VideoMode(800, 600), "Slider"); window.setFramerateLimit(60); sf::Font font; if (!font.loadFromFile("consolas.ttf")) { std::cout << "Can't load button font" << std::endl; } Slider slider(window, font, sf::Vector2f{200, 100}, 10, 250); Slider slider_r(window, font, sf::Vector2f{800, 200}, 0, 255); Slider slider_g(window, font, sf::Vector2f{800, 300}, 0, 255); Slider slider_b(window, font, sf::Vector2f{800, 400}, 0, 255); sf::CircleShape circle(10); circle.setPosition(sf::Vector2f{400, 400}); while (window.isOpen()) { sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) { window.close(); } result = slider.handleEvent(event); /* Centering of the circle */ circle.setPosition(circle.getPosition() + sf::Vector2f{circle.getRadius() - result, circle.getRadius() - result}); circle.setRadius(result); r = slider_r.handleEvent(event); g = slider_g.handleEvent(event); b = slider_b.handleEvent(event); circle.setFillColor(sf::Color{r, g, b}); } window.clear(sf::Color::Black); slider.draw(); slider_r.draw(); slider_g.draw(); slider_b.draw(); window.draw(circle); window.display(); } return 0; }