From e666a7aea8adaade4de9aa504b8fc5da3597ecad Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Thu, 25 Jun 2020 17:42:02 -0400 Subject: [PATCH] puzzles: fix text centering when zooming in For some reason lcd_getstringsize was occasionally reverting to the system font, rather than the loaded font. This was leading to improper font sizes being reported. Change-Id: Ie5fc31de9a6a7af739beb22efc3ec1383206eaea --- apps/plugins/puzzles/rockbox.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/plugins/puzzles/rockbox.c b/apps/plugins/puzzles/rockbox.c index 0216975614..cf0c6cc21b 100644 --- a/apps/plugins/puzzles/rockbox.c +++ b/apps/plugins/puzzles/rockbox.c @@ -550,11 +550,13 @@ static void rb_draw_text(void *handle, int x, int y, int fonttype, { (void) fontsize; + LOGF("rb_draw_text(%d %d \"%s\" size=%d)", x, y, text, fontsize); + rb_color(color); rb_setfont(fonttype, fontsize); /* size will be clamped if too large */ int w, h; - rb->lcd_getstringsize(text, &w, &h); + rb->font_getstringsize(text, &w, &h, cur_font); if(align & ALIGN_VNORMAL) y -= h; @@ -566,10 +568,10 @@ static void rb_draw_text(void *handle, int x, int y, int fonttype, else if(align & ALIGN_HRIGHT) x -= w; + LOGF("calculated origin: (%d, %d) size: (%d, %d)", x, y, w, h); + if(!zoom_enabled) { - LOGF("rb_draw_text(%d %d %s)", x, y, text); - offset_coords(&x, &y); rb->lcd_set_drawmode(DRMODE_FG);