diff options
Diffstat (limited to 'src/sdl/font.c')
-rw-r--r-- | src/sdl/font.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/sdl/font.c b/src/sdl/font.c new file mode 100644 index 0000000..76cb160 --- /dev/null +++ b/src/sdl/font.c @@ -0,0 +1,31 @@ +#include <SDL.h> +#include <SDL_ttf.h> +#include "font.h" +#include "util.h" + +TTF_Font * +font_load( + const asset_id_t font_asset_id, + const int font_size +) { + // get asset + const asset_t * const asset = asset_get(font_asset_id); + if (!asset) { + die("asset_get()"); + } + + // create io + SDL_RWops *rw = SDL_RWFromConstMem(asset->buf, asset->len); + if (!rw) { + die("SDL_RWFromConstMem(): %s", SDL_GetError()); + } + + // load font + TTF_Font *font = TTF_OpenFontIndexRW(rw, 1, font_size, 0); + if (!font) { + die("TTF_OpenFontIndex(): %s", TTF_GetError()); + } + + // return font + return font; +} |