diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-09 20:31:09 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-10 09:17:07 -0300 |
| commit | 4b5e793f48f6e721c39ab6ddcf755604df73b643 (patch) | |
| tree | f3cf8b009bbfbd5667635381f0f624cd6b466084 /vendor/stb/font.h | |
| parent | 9085cb5bfdd0b78ff3a62c0c71fc231dd7b5052a (diff) | |
| download | pardes-4b5e793f48f6e721c39ab6ddcf755604df73b643.tar.gz pardes-4b5e793f48f6e721c39ab6ddcf755604df73b643.zip | |
Better text rendering
Diffstat (limited to 'vendor/stb/font.h')
| -rw-r--r-- | vendor/stb/font.h | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/vendor/stb/font.h b/vendor/stb/font.h deleted file mode 100644 index 93bbac8d..00000000 --- a/vendor/stb/font.h +++ /dev/null @@ -1,41 +0,0 @@ -// Tiny C shim over stb_truetype, so ui_sdl.zig can @cInclude a small header -// instead of feeding the whole single-header lib to translate-c. The -// implementation (font.c) pulls in stb_truetype.h (declarations only — -// stb_truetype_impl.c defines STB_TRUETYPE_IMPLEMENTATION once elsewhere). -// -// A "font" is an opaque handle owning a stbtt_fontinfo; all rasterization goes -// through these functions so the Zig side never touches stb internals. -#ifndef UI_FONT_H -#define UI_FONT_H -#include <stdint.h> - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct UIFont UIFont; - -// Parse the embedded TTF. `data` must stay alive for the lifetime of the font. -// Returns NULL on failure. -UIFont *ui_font_new(const uint8_t *data, int32_t len); - -// Font metrics at a given pixel height. cell_w is the monospace advance (rounded -// up); ascent is the baseline offset from the top of a cell. -float ui_font_scale_for_height(UIFont *f, float px); -void ui_font_cell_metrics(UIFont *f, float scale, int32_t *cell_w, int32_t *cell_h, int32_t *ascent); - -// Rasterize `cp` into `out` (a cell_w*cell_h single-channel mask, row-major, -// `stride` bytes per row). The glyph is positioned for a monospace cell: origin -// at the baseline `ascent` pixels from the top. Pixels outside the glyph are 0. -// Returns 1 if the glyph produced any coverage (0 for an empty/missing glyph, -// but `out` is still zeroed). -int ui_font_raster(UIFont *f, float scale, int32_t cp, - uint8_t *out, int32_t stride, int32_t cell_w, int32_t cell_h, - int32_t ascent); - -void ui_font_free(UIFont *f); - -#ifdef __cplusplus -} -#endif -#endif |
