25 lines
425 B
C++
25 lines
425 B
C++
#ifndef FONT_H
|
|
#define FONT_H
|
|
|
|
#include <unordered_map>
|
|
#include <memory>
|
|
#include "Glyph.h"
|
|
|
|
class Font
|
|
{
|
|
public:
|
|
bool load(const char * fname, int size);
|
|
std::shared_ptr<Glyph> get_glyph(FT_ULong character);
|
|
|
|
protected:
|
|
bool preload_glyphs();
|
|
|
|
FT_Face m_face;
|
|
std::unordered_map<FT_ULong, std::shared_ptr<Glyph>> m_glyphs;
|
|
int m_advance;
|
|
int m_line_height;
|
|
int m_baseline_offset;
|
|
};
|
|
|
|
#endif
|