diff options
author | Leo Tenenbaum <pommicket@gmail.com> | 2020-11-23 18:29:58 -0500 |
---|---|---|
committer | Leo Tenenbaum <pommicket@gmail.com> | 2020-11-23 18:29:58 -0500 |
commit | 55d0ece0a9072ca409bdf6ff2f3b6d0b268e2952 (patch) | |
tree | 5df0cbfacf3d9442ddb34fdf5fb3b59f4e74d82e /text.h | |
parent | 5e458dff3bcc832b0b28d83bd3ef482174d1dc09 (diff) |
unicode text rendering working
Diffstat (limited to 'text.h')
-rw-r--r-- | text.h | 24 |
1 files changed, 23 insertions, 1 deletions
@@ -1,11 +1,33 @@ #ifndef TEXT_H_ #define TEXT_H_ +#include <uchar.h> + +// A text-rendering interface. +// You can either use the simple API (text_render) +// or the character-by-character API (text_chars_begin, text_chars_end, text_render_char) + + typedef struct Font Font; -char const *text_get_err(void); +extern bool text_has_err(void); +// Get the current error. Errors will NOT be overwritten with newer errors. +extern char const *text_get_err(void); +// Clear the current error. +extern void text_clear_err(void); +// Load a TTF font found in ttf_filename with the given font size (character pixel height) extern Font *text_font_load(char const *ttf_filename, float font_size); +// Render some UTF-8 text to the screen (simple interface). extern void text_render(Font *font, char const *text, float x, float y); +// Get the dimensions of some text. extern void text_get_size(Font *font, char const *text, float *width, float *height); +// Begin writing characters. +extern void text_chars_begin(Font *font); +// Finish writing characters. +extern void text_chars_end(Font *font); +// Render a single character. +extern void text_render_char(Font *font, char32_t c, float *x, float *y); +// Free memory used by font. +extern void text_font_free(Font *font); #endif |