aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/graphics/font.c2
-rw-r--r--src/graphics/text.c2
-rw-r--r--src/graphics/vertex.c4
3 files changed, 6 insertions, 2 deletions
diff --git a/src/graphics/font.c b/src/graphics/font.c
index 9a99f22..8c55044 100644
--- a/src/graphics/font.c
+++ b/src/graphics/font.c
@@ -227,7 +227,7 @@ int mgl_font_get_glyph(mgl_font *self, uint32_t codepoint, mgl_font_glyph *glyph
render_offset.y = self->font_atlas.pointer_position.y;
mgl_font_glyph new_glyph;
- new_glyph.position = (mgl_vec2i){ xoff/GLYPH_UPSAMPLE, self->ascent + yoff/GLYPH_UPSAMPLE };
+ new_glyph.position = (mgl_vec2i){ xoff/GLYPH_UPSAMPLE, yoff/GLYPH_UPSAMPLE };
new_glyph.size = (mgl_vec2i){ width/GLYPH_UPSAMPLE, height/GLYPH_UPSAMPLE };
new_glyph.texture_position = (mgl_vec2i){ render_offset.x, render_offset.y };
new_glyph.texture_size = (mgl_vec2i){ width, height };
diff --git a/src/graphics/text.c b/src/graphics/text.c
index 92c578c..61c2919 100644
--- a/src/graphics/text.c
+++ b/src/graphics/text.c
@@ -217,7 +217,7 @@ void mgl_text_draw(mgl_context *context, mgl_text *text) {
mgl_text_get_bounds(text);
TextDrawUserdata text_draw_userdata;
- text_draw_userdata.position = (mgl_vec2f){ text->position.x, text->position.y };
+ text_draw_userdata.position = (mgl_vec2f){ text->position.x, text->position.y + text->font->character_size };
text_draw_userdata.text = text;
text_draw_userdata.context = context;
text_draw_userdata.prev_codepoint = 0;
diff --git a/src/graphics/vertex.c b/src/graphics/vertex.c
index 8e9b5b9..b45f38c 100644
--- a/src/graphics/vertex.c
+++ b/src/graphics/vertex.c
@@ -8,6 +8,10 @@ void mgl_vertices_draw(mgl_context *context, const mgl_vertex *vertices, size_t
context->gl.glPushMatrix();
context->gl.glTranslatef(position.x, position.y, 0.0f);
+ context->gl.glMatrixMode(GL_TEXTURE);
+ context->gl.glLoadIdentity();
+ context->gl.glMatrixMode(GL_MODELVIEW);
+
context->gl.glVertexPointer(2, GL_FLOAT, sizeof(mgl_vertex), (void*)&vertices[0].position);
context->gl.glTexCoordPointer(2, GL_FLOAT, sizeof(mgl_vertex), (void*)&vertices[0].texcoords);
context->gl.glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(mgl_vertex), (void*)&vertices[0].color);