#pragma once #include #include namespace sf { class RenderTarget; class Shader; } namespace QuickMedia { class RoundedRectangle { public: RoundedRectangle(sf::Vector2f size, float radius, sf::Color color, sf::Shader *rounded_rectangle_shader); void set_position(sf::Vector2f pos); void set_size(sf::Vector2f size); void set_color(sf::Color color); sf::Vector2f get_position() const; sf::Vector2f get_size() const; void set_band(sf::Vector2f pos, sf::Vector2f size); void set_band_color(sf::Color color); void draw(sf::RenderTarget &target); private: float radius; sf::Vector2f pos; sf::Vector2f size; sf::Vertex vertices[4]; sf::Shader *rounded_rectangle_shader; sf::Vector2f band_pos; sf::Vector2f band_size; sf::Color band_color; }; }