This repository has been archived on 2025-03-10. You can view files and clone it, but cannot push or open issues or pull requests.
2021-09-02 02:21:27 -05:00

35 lines
743 B
C++

#pragma once
#include <map>
#include "UIElement.h"
#include "Assets.h"
#include "Utility.h"
namespace nf {
struct Character {
unsigned int texID;
Vec2 size;
Vec2 bearing;
unsigned int advance;
};
struct Font {
std::map<char, Character> m_characters;
};
class Text : public UIElement {
public:
Text();
void create(const std::string& string, const Vec2& position, const Vec3& color = {1.0, 1.0, 1.0}, unsigned int size = 160, Asset* font = BaseAssets::defaultFont);
void setText(const std::string& string);
const char* identity() override;
void render(Shader* shader, unsigned int windowWidth, unsigned int windowHeight) override;
~Text();
private:
std::string m_string;
Font* m_font;
Vec3 m_color;
};
}