diff options
Diffstat (limited to 'ui/text.h')
-rw-r--r-- | ui/text.h | 20 |
1 files changed, 9 insertions, 11 deletions
@@ -1,31 +1,29 @@ #pragma once +#include "font.h" +#include "glContainer.h" #include "uiComponent.h" #include <glArrays.h> #include <glad/gl.h> #include <glm/glm.hpp> #include <string_view> -#include <vector> class UIShader; union SDL_Event; class Text : public UIComponent { public: - Text(std::string_view s, Position, glm::vec3 colour); + Text(std::string_view s, const Font &, Position, glm::vec3 colour); void render(const UIShader &, const Position & parentPos) const override; bool handleInput(const SDL_Event &, const Position & parentPos) override; -private: - struct Model { - Model(GLuint, GLsizei); - GLuint texture; - GLsizei count; - glVertexArray vao; - glBuffer vbo; - }; + Text & operator=(const std::string_view s); - std::vector<Model> models; +private: + std::vector<std::pair<GLuint, std::pair<GLsizei, GLint>>> models; + glContainer<Font::Quad> quads; + glVertexArray vao; glm::vec3 colour; + const Font & font; }; |