From dcb909b7baafc997ac0fa8cd2b9d7b2e2f705684 Mon Sep 17 00:00:00 2001 From: rxi Date: Fri, 23 Sep 2016 19:32:00 +0100 Subject: [PATCH] Added support for linebreaks in font_blit (effects love.graphics.print) --- src/font.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/font.c b/src/font.c index 6725e25..4d5b4ad 100644 --- a/src/font.c +++ b/src/font.c @@ -131,13 +131,17 @@ void font_blit(font_t *self, pixel_t *buf, int bufw, int bufh, image_flip = 0; while (*p) { - stbtt_bakedchar *g = &self->glyphs[(int) (*p & 127)]; - int w = g->x1 - g->x0; - int h = g->y1 - g->y0; - image_blit( - &self->image, buf, bufw, bufh, - x + g->xoff, y + g->yoff, g->x0, g->y0, w, h); - x += g->xadvance; + if (*p == '\n') { + x = dx; + y += self->height; + } else { + stbtt_bakedchar *g = &self->glyphs[(int) (*p & 127)]; + int w = g->x1 - g->x0; + int h = g->y1 - g->y0; + image_blit(&self->image, buf, bufw, bufh, + x + g->xoff, y + g->yoff, g->x0, g->y0, w, h); + x += g->xadvance; + } p++; }