#ifndef TEXTNODE_H
#define TEXTNODE_H

#include "scenenode.h"

#include "SparrowRenderer/mesh.h"
#include "SparrowRenderer/pbrmaterial.h"

#include "glm/vec2.hpp"

class TextNode : public SceneNode
{
private:
    std::wstring m_string;
    float m_fontSize;
    glm::vec2 m_dimension;

    friend class LabelNode;
public:
    TextNode(Mesh* mesh,std::wstring s,float fontSize) : SceneNode(),m_string(s),m_fontSize(fontSize) { setMesh(mesh); }
    TextNode(Mesh* mesh,std::string s,float fontSize) : SceneNode(),m_fontSize(fontSize) {
        setMesh(mesh);
        m_string.assign(s.begin(),s.end());
    }
    ~TextNode(){delete getMesh();}

    void setDimension(glm::vec2 dim){m_dimension = dim;}
    glm::vec2 getDimension(){return m_dimension;}

    float getFontSize(){return m_fontSize;}
    std::wstring getString(){return m_string;}
};

#endif // TEXTNODE_H
