diff options
Diffstat (limited to 'src/text.cc')
| -rw-r--r-- | src/text.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/text.cc b/src/text.cc index ff9b833..2bfc7a3 100644 --- a/src/text.cc +++ b/src/text.cc @@ -97,12 +97,18 @@ enum font_error_e wayc_font_lookup(struct font_s* font, struct atlas_s* atlas, FT_Render_Glyph(slot, FT_RENDER_MODE_NORMAL); FT_Bitmap bitmap = slot->bitmap; + if (bitmap.pitch != (i32)bitmap.width) wayc_panic("unsupported pitch"); + ivec2 size = {(i32)bitmap.width, (i32)bitmap.rows}; wayc_atlas_set(atlas, IMAGE_DATA_TYPE_UNSIGNED_BYTE, font->cursor, size[0], size[1], IMAGE_FORMAT_RED_ALIGNMENT, bitmap.buffer); struct glyph_s glyph = {}; + glyph.bearing_x = slot->bitmap_left; + glyph.bearing_y = slot->bitmap_top; + glyph.advance = (f32)slot->advance.x / WAYC_SCALE; + glm_ivec2(font->cursor, glyph.uv0); glm_ivec2_add(glyph.uv0, size, glyph.uv1); |
