blob: ae87625c7fbfea21a0d3d2754ee09d862a4d5216 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#include "../../include/mglpp/graphics/Font.hpp"
#include "../../include/mglpp/graphics/Texture.hpp"
#include <string.h>
namespace mgl {
Font::Font() {
memset(&font, 0, sizeof(font));
}
Font::~Font() {
mgl_font_unload(&font);
}
bool Font::load_from_file(const char *filepath, unsigned int character_size) {
if(font.texture.id)
return false;
return mgl_font_load_from_file(&font, filepath, character_size) == 0;
}
unsigned int Font::get_character_size() const {
return font.character_size;
}
FontGlyph Font::get_glyph(uint32_t codepoint) const {
FontGlyph font_glyph;
if(font.texture.id == 0)
return font_glyph;
mgl_font_get_glyph(&font, codepoint, (mgl_font_glyph*)&font_glyph);
return font_glyph;
}
Texture Font::get_texture() const {
if(font.texture.id == 0)
return Texture();
return Texture::reference(font.texture);
}
mgl_font* Font::internal_font() {
return &font;
}
}
|