24#pragma region font loading
224#pragma region text drawing
343 int32_t y, uint32_t width, uint32_t height,
const TinyTextStyle* style,
377 const TinyFont* font,
const char* text, uint32_t width,
Image processing library utilities.
Lightweight memory management implementatins in C.
What a face says about itself, in pixels at a size.
Definition text.h:129
float ascent
Definition text.h:131
uint8_t fixed_size
Definition text.h:141
float line_height
Definition text.h:135
float size
Definition text.h:137
uint32_t glyphs
Definition text.h:139
float descent
Definition text.h:133
A loaded face.
Definition text.h:63
uint32_t hmetrics
Definition text.h:86
int32_t descent
Definition text.h:96
uint32_t cell_height
Definition text.h:104
uint32_t loca
Definition text.h:76
uint32_t index_count
Definition text.h:120
uint32_t glyf_size
Definition text.h:82
uint32_t kern
Definition text.h:80
int32_t ascent
Definition text.h:93
uint32_t cell_width
Definition text.h:102
uint32_t glyf
Definition text.h:74
int32_t line_gap
Definition text.h:99
uint32_t units_per_em
Definition text.h:88
uint32_t * index
Codepoint and offset pairs for a BDF face, owned.
Definition text.h:118
uint32_t glyph_bytes
Definition text.h:106
uint8_t long_loca
Definition text.h:90
uint32_t bitmap
Definition text.h:108
size_t size
Definition text.h:67
uint32_t hmtx
Definition text.h:78
const uint8_t * data
Definition text.h:65
uint32_t glyphs
Definition text.h:84
uint32_t cmap
Definition text.h:72
TinyFontKind kind
Definition text.h:69
Represents an image with its width, height, and pixel data.
Definition image.h:90
What a run of text occupies.
Definition text.h:253
uint32_t missing
Definition text.h:269
uint32_t glyphs
Definition text.h:267
float descent
Definition text.h:261
uint32_t lines
Definition text.h:265
float line_height
Definition text.h:263
float ascent
Definition text.h:259
float width
Definition text.h:255
float height
Definition text.h:257
How a run of text is set.
Definition text.h:234
uint8_t kerning
Definition text.h:247
float tracking
Definition text.h:243
float size
Em size in pixels. Ignored by a bitmap face, which has one size.
Definition text.h:241
float line_height
Definition text.h:245
int tiny_text_measure_wrapped(const TinyFont *font, const char *text, uint32_t width, const TinyTextStyle *style, TinyTextMetrics *out)
Measures a run of text as it would be wrapped inside a width.
int tiny_font_metrics(const TinyFont *font, float size, TinyFontMetrics *out)
Reads a face's vertical metrics at an em size.
TinyTextAlign
Where a line sits inside the width it was given.
Definition text.h:276
@ TINYIMG_ALIGN_RIGHT
Definition text.h:282
@ TINYIMG_ALIGN_CENTER
Definition text.h:280
@ TINYIMG_ALIGN_LEFT
Definition text.h:278
int tiny_text_measure(const TinyFont *font, const char *text, const TinyTextStyle *style, TinyTextMetrics *out)
Measures a run of text without drawing it.
int tiny_image_draw_text(TinyImage *image, const TinyFont *font, const char *text, int32_t x, int32_t y, const TinyTextStyle *style, const uint8_t *color)
Draws a line of text.
uint32_t tiny_text_style_sizeof(void)
Size of a TinyTextStyle, for a host allocating one across the wasm boundary.
int tiny_font_has_glyph(const TinyFont *font, uint32_t codepoint)
Reports whether a face has a glyph for a codepoint.
void tiny_font_free(TinyFont *font)
Releases whatever a face owns.
TinyFontKind
Outline and bitmap face formats.
Definition text.h:35
@ TINYIMG_FONT_PSF
Definition text.h:46
@ TINYIMG_FONT_BDF
Definition text.h:48
@ TINYIMG_FONT_TRUETYPE
Quadratic outlines in a glyf table.
Definition text.h:44
void tiny_text_style(TinyTextStyle *style, float size)
Fills a style in with the defaults.
uint32_t tiny_font_sizeof(void)
Size of a TinyFont, for a host allocating one across the wasm boundary.
int tiny_font_load(TinyFont *font, const char *blob_id)
Loads a face from a resident blob.
uint32_t tiny_text_metrics_sizeof(void)
Size of a TinyTextMetrics, for the same reason.
int tiny_font_load_bytes(TinyFont *font, const uint8_t *data, size_t size)
Loads a face from bytes the caller keeps.
int tiny_image_draw_text_box(TinyImage *image, const TinyFont *font, const char *text, int32_t x, int32_t y, uint32_t width, uint32_t height, const TinyTextStyle *style, TinyTextAlign align, const uint8_t *color)
Draws text wrapped and aligned inside a rectangle.
uint32_t tiny_font_metrics_sizeof(void)
Size of a TinyFontMetrics, for the same reason.
Umbrella header, version and error codes.