diff options
author | Franklin Wei <franklin@rockbox.org> | 2020-06-25 17:42:02 -0400 |
---|---|---|
committer | Franklin Wei <franklin@rockbox.org> | 2020-06-25 17:42:02 -0400 |
commit | e666a7aea8adaade4de9aa504b8fc5da3597ecad (patch) | |
tree | 13d11af263cf43d886a6ad0cfa41d633382e363d /apps | |
parent | 5a45e96f4d9b3bb63e34bab6ec5c7587c756e0e0 (diff) | |
download | rockbox-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')
-rw-r--r-- | apps/plugins/puzzles/rockbox.c | 8 |
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); |