summaryrefslogtreecommitdiff
path: root/src/text.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/text.cc')
-rw-r--r--src/text.cc6
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);