aboutsummaryrefslogtreecommitdiff
path: root/include/RoundedRectangle.hpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-04-21 13:29:01 +0200
committerdec05eba <dec05eba@protonmail.com>2021-04-21 13:29:01 +0200
commit3ac1120fd40b84507c51f867559bd05adff4eecf (patch)
tree32a3d7e037dd0fa07f764e563cfaa304470ad7f1 /include/RoundedRectangle.hpp
parent0f151afa58c1f725a652eaa4444ce3e2b2509770 (diff)
Use shader for rounded rectangle, improve circle shader
Diffstat (limited to 'include/RoundedRectangle.hpp')
-rw-r--r--include/RoundedRectangle.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/RoundedRectangle.hpp b/include/RoundedRectangle.hpp
new file mode 100644
index 0000000..f72a083
--- /dev/null
+++ b/include/RoundedRectangle.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#include <SFML/System/Vector2.hpp>
+#include <SFML/Graphics/Vertex.hpp>
+
+namespace sf {
+ class RenderWindow;
+ 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);
+ sf::Vector2f get_position() const;
+ sf::Vector2f get_size() const;
+ void draw(sf::RenderWindow &window);
+ private:
+ float radius;
+ sf::Vector2f pos;
+ sf::Vector2f size;
+ sf::Vertex vertices[4];
+ sf::Shader *rounded_rectangle_shader;
+ };
+} \ No newline at end of file