summaryrefslogtreecommitdiff
path: root/src/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core.cpp')
-rw-r--r--src/core.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/core.cpp b/src/core.cpp
index c4e03a4..d87bbe9 100644
--- a/src/core.cpp
+++ b/src/core.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 Frederico de Oliveira Linhares
+ * Copyright 2022-2023 Frederico de Oliveira Linhares
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
#include "core.hpp"
#include "candy_gear.hpp"
+#include "font.hpp"
#include "graphic.hpp"
#include "key.hpp"
#include "mesh.hpp"
@@ -233,6 +234,19 @@ unload_window(void *obj)
}
void
+load_font_library(void *obj)
+{
+ FT_Error error{FT_Init_FreeType(&cg_core.font_library)};
+ if(error) throw CommandError{"Failed to open the FreeType library."};
+}
+
+void
+unload_font_library(void *obj)
+{
+ FT_Done_FreeType(cg_core.font_library);
+}
+
+void
load_vk_instance(void *obj)
{
std::vector<const char*> vk_extensions;
@@ -651,6 +665,7 @@ load_mruby_interface(void *obj)
mrb_value main_obj = mrb_obj_iv_inspect(cg_core.mrb, cg_core.mrb->top_self);
cg_candy_gear_init(cg_core.mrb);
+ cg_font_init(cg_core.mrb);
cg_key_init(cg_core.mrb);
cg_mesh_init(cg_core.mrb);
cg_model_init(cg_core.mrb);
@@ -681,6 +696,7 @@ const CommandChain cg_sCore::loader{
{&load_sdl_mixer, &unload_sdl_mixer},
{&load_sdl_open_audio, &unload_sdl_open_audio},
{&load_window, &unload_window},
+ {&load_font_library, &unload_font_library},
{&load_vk_instance, &unload_vk_instance},
{&load_window_surface, &unload_window_surface},
#ifdef DEBUG