RoundedRectangle.hpp 768 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include <mglpp/graphics/Color.hpp>
  3. #include <mglpp/graphics/Vertex.hpp>
  4. #include <mglpp/system/vec.hpp>
  5. namespace mgl {
  6. class Window;
  7. class Shader;
  8. }
  9. namespace QuickMedia {
  10. class RoundedRectangle {
  11. public:
  12. RoundedRectangle(mgl::vec2f size, float radius, mgl::Color color, mgl::Shader *rounded_rectangle_shader);
  13. void set_position(mgl::vec2f pos);
  14. void set_size(mgl::vec2f size);
  15. void set_color(mgl::Color color);
  16. mgl::vec2f get_position() const;
  17. mgl::vec2f get_size() const;
  18. void draw(mgl::Window &target);
  19. private:
  20. float radius;
  21. mgl::vec2f pos;
  22. mgl::vec2f size;
  23. mgl::Vertex vertices[4];
  24. mgl::Shader *rounded_rectangle_shader;
  25. };
  26. }