diff options
| author | Francesco Abbate <francesco.bbt@gmail.com> | 2020-06-01 12:56:23 +0200 |
|---|---|---|
| committer | Francesco Abbate <francesco.bbt@gmail.com> | 2020-06-01 12:56:23 +0200 |
| commit | 3a8cb05ea63cd7f8d6ed4356a34f579dd47ff8ae (patch) | |
| tree | c26f92ebb5c1b1e5bd7ef8794d83c218b057da2a /src/font_renderer.h | |
| parent | ca6b7bc9028bc43d217594868a3924066ea311a5 (diff) | |
| download | lite-xl-3a8cb05ea63cd7f8d6ed4356a34f579dd47ff8ae.tar.gz lite-xl-3a8cb05ea63cd7f8d6ed4356a34f579dd47ff8ae.zip | |
Replace stb's BakeBitmapFont with AGG based font's renderer
Diffstat (limited to 'src/font_renderer.h')
| -rw-r--r-- | src/font_renderer.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/font_renderer.h b/src/font_renderer.h new file mode 100644 index 00000000..b7cf62e5 --- /dev/null +++ b/src/font_renderer.h @@ -0,0 +1,34 @@ +#ifndef FONT_RENDERER_H +#define FONT_RENDERER_H + +#ifdef __cplusplus +extern "C" { +#endif + +// Mirrors stbtt_bakedchar. +struct GlyphBitmapInfo_ { + unsigned short x0, y0, x1, y1; + float xoff, yoff, xadvance; +}; +typedef struct GlyphBitmapInfo_ GlyphBitmapInfo; + +struct FontRenderer_; +typedef struct FontRenderer_ FontRenderer; + +enum { + FONT_RENDERER_HINTING = 1 << 0, + FONT_RENDERER_KERNING = 1 << 1, +}; + +FontRenderer *FontRendererNew(unsigned int flags); +int FontRendererLoadFont(FontRenderer *, const char *filename); +int FontRendererGetFontHeight(FontRenderer *, float size); +int FontRendererBakeFontBitmap(FontRenderer *, int font_height, + void *pixels, int pixels_width, int pixels_height, + int first_char, int num_chars, GlyphBitmapInfo *glyph_info); + +#ifdef __cplusplus +} +#endif + +#endif |
