diff options
Diffstat (limited to 'src/text.cc')
| -rw-r--r-- | src/text.cc | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/text.cc b/src/text.cc index cf5345d..600220e 100644 --- a/src/text.cc +++ b/src/text.cc @@ -1,11 +1,33 @@ #include "text.h" +#include "utils.h" + enum font_context_error_e wayc_font_context_init(struct font_context_s* ctx) { + wayc_notnull(ctx); + FT_Error err = FT_Init_FreeType(&ctx->library); if (err) return FONT_CONTEXT_ERROR_LIBRARY; return FONT_CONTEXT_ERROR_NONE; } void wayc_font_context_deinit(struct font_context_s* ctx) { + wayc_notnull(ctx); + FT_Done_FreeType(ctx->library); -}
\ No newline at end of file +} + +enum font_error_e wayc_font_init(struct font_s* font, + struct font_context_s* ctx, const char* path) { + wayc_notnull(font); + wayc_notnull(ctx); + wayc_notnull(path); + + FT_Error err = FT_New_Face(ctx->library, path, 0, &font->face); + if (err) return FONT_ERROR_LOAD; + return FONT_ERROR_NONE; +} + +void wayc_font_deinit(struct font_s* font) { + wayc_notnull(font); + FT_Done_Face(font->face); +} |
