Files
vb01/text.h
T
2021-10-18 19:06:40 +03:00

42 lines
762 B
C++
Executable File

#ifndef TEXT_H
#define TEXT_H
#include<string>
#include<vector>
#include"vector.h"
#include"util.h"
namespace vb01{
class Node;
class Texture;
class Shader;
class Text{
public:
struct Glyph{
u32 ch;
Texture *texture=nullptr;
unsigned int advance;
Vector2 size,bearing;
};
Text(std::string,std::string);
~Text();
void update();
void setText(std::string);
inline void setNode(Node *node){this->node=node;}
inline void setScale(float s){this->scale=s;}
inline void setColor(Vector4 c){this->color=c;}
private:
Node *node=nullptr;
std::string entry;
std::vector<Glyph> characters;
Shader *shader=nullptr;
unsigned int VAO, VBO;
float scale=1;
Vector4 color=Vector4::VEC_IJKL;
};
}
#endif