#ifndef FONT_H #define FONT_H #include #include #include class Texture; class TextNode; class Font { public: struct CharInfo { glm::vec2 pos; glm::vec2 dim; glm::vec2 offset; float xadvance; }; Font(); // setters void setName(std::string name){m_name = name;} void addCharInfo(wchar_t character, CharInfo character_info){ m_charTable[character] = character_info; } void setNbChar(int nbchar){m_nbChar =nbchar;} void setLineHeight(float line_h){m_defaultLineHeight = line_h;} float getLineHeight(){return m_defaultLineHeight;} void setBase(float base){m_base = base;} void setAntiAnliasing(bool antialiasing){m_antiAliasing = antialiasing;} void setScale(glm::vec2 scale){m_scale = scale;} void setTexture(Texture *tex){m_tex = tex;} TextNode* getTextNode(std::string s, glm::vec3 color = glm::vec3(1), float font_size = 64.f); private: std::string m_name; Texture *m_tex; std::map m_charTable; glm::vec2 m_scale; bool m_antiAliasing; int m_nbChar; float m_defaultLineHeight; float m_base; }; #endif // FONT_H