diff options
| author | Thomas Martitz <kugel@rockbox.org> | 2011-10-29 15:16:02 +0000 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2011-10-29 15:16:02 +0000 |
| commit | 93c6c79e8d2ee39056afe7f8145b051d4a0e8d38 (patch) | |
| tree | 283a6748c5bee4d0b2c1d2974e949b92963c5599 | |
| parent | 9fe029b12a0828b247718fc89b08547b1ab916b5 (diff) | |
| download | rockbox-93c6c79e8d2ee39056afe7f8145b051d4a0e8d38.zip rockbox-93c6c79e8d2ee39056afe7f8145b051d4a0e8d38.tar.gz rockbox-93c6c79e8d2ee39056afe7f8145b051d4a0e8d38.tar.bz2 rockbox-93c6c79e8d2ee39056afe7f8145b051d4a0e8d38.tar.xz | |
Better fix for FS#12337. Use 0 to make the line height calculated from the font height, as before r30773.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30850 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/gui/skin_engine/skin_parser.c | 1 | ||||
| -rw-r--r-- | apps/gui/viewport.c | 4 | ||||
| -rw-r--r-- | apps/menus/time_menu.c | 2 | ||||
| -rw-r--r-- | firmware/drivers/lcd-bitmap-common.c | 2 | ||||
| -rw-r--r-- | firmware/export/lcd.h | 2 |
5 files changed, 6 insertions, 5 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index a9689a8..1557783 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -1694,7 +1694,6 @@ static bool skin_load_fonts(struct wps_data *data) /* finally, assign the font_id to the viewport */ vp->font = font->id; - vp->line_height = font_get(vp->font)->height; } data->font_ids = skin_buffer_alloc(font_count * sizeof(int)); if (!success || data->font_ids == NULL) diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c index c5e4427..33ffed7 100644 --- a/apps/gui/viewport.c +++ b/apps/gui/viewport.c @@ -223,6 +223,8 @@ static bool is_theme_enabled(enum screen_type screen) int viewport_get_nb_lines(const struct viewport *vp) { #ifdef HAVE_LCD_BITMAP + if (!vp->line_height) + return vp->height/font_get(vp->font)->height; return vp->height/vp->line_height; #else (void)vp; @@ -318,7 +320,7 @@ void viewport_set_fullscreen(struct viewport *vp, set_default_align_flags(vp); #endif vp->font = global_status.font_id[screen]; - vp->line_height = font_get(vp->font)->height; + vp->line_height = 0; /* calculate from font height */ vp->drawmode = DRMODE_SOLID; #if LCD_DEPTH > 1 #ifdef HAVE_REMOTE_LCD diff --git a/apps/menus/time_menu.c b/apps/menus/time_menu.c index c4fe49a..9be335c 100644 --- a/apps/menus/time_menu.c +++ b/apps/menus/time_menu.c @@ -269,7 +269,7 @@ int time_screen(void* ignored) /* force time to be drawn centered */ clock_vps[i].flags |= VP_FLAG_ALIGN_CENTER; - font_h = clock_vps[i].line_height; + font_h = clock_vps[i].line_height ?: (int)font_get(clock_vps[i].font)->height; nb_lines -= 2; /* at least 2 lines for menu */ if (nb_lines > 4) nb_lines = 4; diff --git a/firmware/drivers/lcd-bitmap-common.c b/firmware/drivers/lcd-bitmap-common.c index fb49deb..878c088 100644 --- a/firmware/drivers/lcd-bitmap-common.c +++ b/firmware/drivers/lcd-bitmap-common.c @@ -453,7 +453,7 @@ void LCDFN(scroll_fn)(void) continue; LCDFN(set_viewport)(s->vp); - height = s->vp->line_height; + height = s->vp->line_height ?: (int)font_get(s->vp->font)->height; if (s->backward) s->offset -= LCDFN(scroll_info).step; diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h index e687953..f433623 100644 --- a/firmware/export/lcd.h +++ b/firmware/export/lcd.h @@ -43,7 +43,7 @@ struct viewport { #ifdef HAVE_LCD_BITMAP int flags; int font; - int line_height; + int line_height; /* 0 for using font height */ int drawmode; #endif #if LCD_DEPTH > 1 |