summaryrefslogtreecommitdiff
path: root/apps/plugins/puzzles/rockbox.c
diff options
context:
space:
mode:
authorFranklin Wei <franklin@rockbox.org>2020-06-25 17:42:02 -0400
committerFranklin Wei <franklin@rockbox.org>2020-06-25 17:42:02 -0400
commite666a7aea8adaade4de9aa504b8fc5da3597ecad (patch)
tree13d11af263cf43d886a6ad0cfa41d633382e363d /apps/plugins/puzzles/rockbox.c
parent5a45e96f4d9b3bb63e34bab6ec5c7587c756e0e0 (diff)
downloadrockbox-e666a7aea8adaade4de9aa504b8fc5da3597ecad.tar.gz
rockbox-e666a7aea8adaade4de9aa504b8fc5da3597ecad.zip
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
Diffstat (limited to 'apps/plugins/puzzles/rockbox.c')
-rw-r--r--apps/plugins/puzzles/rockbox.c8
1 files 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,
550{ 550{
551 (void) fontsize; 551 (void) fontsize;
552 552
553 LOGF("rb_draw_text(%d %d \"%s\" size=%d)", x, y, text, fontsize);
554
553 rb_color(color); 555 rb_color(color);
554 rb_setfont(fonttype, fontsize); /* size will be clamped if too large */ 556 rb_setfont(fonttype, fontsize); /* size will be clamped if too large */
555 557
556 int w, h; 558 int w, h;
557 rb->lcd_getstringsize(text, &w, &h); 559 rb->font_getstringsize(text, &w, &h, cur_font);
558 560
559 if(align & ALIGN_VNORMAL) 561 if(align & ALIGN_VNORMAL)
560 y -= h; 562 y -= h;
@@ -566,10 +568,10 @@ static void rb_draw_text(void *handle, int x, int y, int fonttype,
566 else if(align & ALIGN_HRIGHT) 568 else if(align & ALIGN_HRIGHT)
567 x -= w; 569 x -= w;
568 570
571 LOGF("calculated origin: (%d, %d) size: (%d, %d)", x, y, w, h);
572
569 if(!zoom_enabled) 573 if(!zoom_enabled)
570 { 574 {
571 LOGF("rb_draw_text(%d %d %s)", x, y, text);
572
573 offset_coords(&x, &y); 575 offset_coords(&x, &y);
574 576
575 rb->lcd_set_drawmode(DRMODE_FG); 577 rb->lcd_set_drawmode(DRMODE_FG);