aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/facade/Font.cpp
blob: 2ad176aacd50936607c98465039f94b78019bc44 (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
#include "font.h"
#include "../api/Config.h"
using namespace std;
using namespace crepe;

void Font::load(unique_ptr<Asset> res){
	const char* font_path = res->get_path();
	int font_size = Config::get_instance().font.font_size;
    this->font = std::unique_ptr<TTF_Font, decltype(&TTF_CloseFont)>(
        TTF_OpenFont(font_path, font_size), &TTF_CloseFont); 

    if (!font) {
        throw std::runtime_error("Failed to load font: " + std::string(TTF_GetError()));
    }
}
Font::Font(const char* src){
	this->load(make_unique<Asset>(src));
}
Font::Font(std::unique_ptr<Asset> res){
	this->load(std::move(res));
}
const TTF_Font& Font::get_font() const{
	return this->font;
}