aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/facade/font.cpp
diff options
context:
space:
mode:
authorWBoerenkamps <wrj.boerenkamps@student.avans.nl>2024-12-10 12:27:59 +0100
committerWBoerenkamps <wrj.boerenkamps@student.avans.nl>2024-12-10 12:27:59 +0100
commitb2c72ee8ce282bb13b0fbeb2ddb01fdfd6ad1280 (patch)
treef3c678779f326f4b175f91a2b3c7db44d026cd2f /src/crepe/facade/font.cpp
parent29f2d4537cf4d4d4c74c16447a45a5d7034161f4 (diff)
font progress
Diffstat (limited to 'src/crepe/facade/font.cpp')
-rw-r--r--src/crepe/facade/font.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/crepe/facade/font.cpp b/src/crepe/facade/font.cpp
new file mode 100644
index 0000000..259a6cd
--- /dev/null
+++ b/src/crepe/facade/font.cpp
@@ -0,0 +1,21 @@
+#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));
+}