summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFabrice <fabrice@schaub-dev.xyz>2026-02-11 16:27:57 +0100
committerFabrice <fabrice@schaub-dev.xyz>2026-02-11 16:27:57 +0100
commita1dee625dae4c3e39eb6ef16b91be9a374f7874f (patch)
tree4bee468433e4211aa4a200f2e54c990b0ee42acc /src
parent05078f4561c45a60cd208a9d3037ad1925a7e80a (diff)
initiating font cache
Diffstat (limited to 'src')
-rw-r--r--src/text.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/text.cc b/src/text.cc
index a5e3331..a19fe98 100644
--- a/src/text.cc
+++ b/src/text.cc
@@ -6,8 +6,19 @@
#include <utils.h>
#include "freetype/fttypes.h"
+#include "hash.h"
#include "utils.h"
+static void wayc_font_cache_init(struct font_cache_s* cache) {
+ wayc_notnull(cache);
+ wayc_hashmap_init(&cache->glyphs);
+}
+
+static void wayc_font_cache_deinit(struct font_cache_s* cache) {
+ wayc_notnull(cache);
+ wayc_hashmap_deinit(&cache->glyphs);
+}
+
enum font_context_error_e wayc_font_context_init(struct font_context_s* ctx) {
wayc_notnull(ctx);
@@ -48,6 +59,7 @@ enum font_error_e wayc_font_init(struct font_s* font,
if (err) return FONT_ERROR_FONT_LOAD;
font->data = data;
+ wayc_font_cache_init(&font->cache);
success = true;
return FONT_ERROR_NONE;
@@ -55,6 +67,8 @@ enum font_error_e wayc_font_init(struct font_s* font,
void wayc_font_deinit(struct font_s* font) {
wayc_notnull(font);
+
+ wayc_font_cache_deinit(&font->cache);
FT_Done_Face(font->face);
mi_free(font->data);
}