1 #ifndef BLOBS_GRAPHICS_PLAINCOLOR_HPP_
2 #define BLOBS_GRAPHICS_PLAINCOLOR_HPP_
5 #include "SimpleVAO.hpp"
21 PlainColor(const PlainColor &) = delete;
22 PlainColor &operator =(const PlainColor &) = delete;
24 PlainColor(PlainColor &&) = delete;
25 PlainColor &operator =(PlainColor &&) = delete;
28 void Activate() noexcept;
30 void SetM(const glm::mat4 &m) noexcept;
31 void SetVP(const glm::mat4 &v, const glm::mat4 &p) noexcept;
32 void SetMVP(const glm::mat4 &m, const glm::mat4 &v, const glm::mat4 &p) noexcept;
33 void SetColor(const glm::vec3 &color) noexcept;
35 const glm::mat4 &M() const noexcept { return m; }
36 const glm::mat4 &V() const noexcept { return v; }
37 const glm::mat4 &P() const noexcept { return p; }
38 const glm::mat4 &MV() const noexcept { return mv; }
39 const glm::mat4 &MVP() const noexcept { return mvp; }
41 void DrawRect() const noexcept;
42 void OutlineRect() const noexcept;
48 SimpleVAO<Attributes, std::uint8_t> vao;
61 GLuint fg_color_handle;