From f19f3efb078b2947638f6f7a7f209de44daf78b3 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Tue, 8 Nov 2011 10:09:33 +0000 Subject: Redo r30826 (and hopefully not reintroduce font issues) which cleans up the font API. FONT_UI is deprecated, use screens[screen].getuifont() instead (and .setuifont() to set it after a font has been loaded) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30932 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/skin_engine/skin_parser.c | 12 +++++++----- apps/gui/skin_engine/skin_render.c | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'apps/gui/skin_engine') diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 1557783a7c..d207a1fb3e 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -246,10 +246,12 @@ static int parse_statusbar_tags(struct skin_element* element, viewport_set_fullscreen(&default_vp->vp, curr_screen); } #ifdef HAVE_REMOTE_LCD - /* viewport_set_defaults() sets the font to FONT_UI+curr_screen. - * This parser requires font 1 to always be the UI font, - * so force it back to FONT_UI and handle the screen number at the end */ - default_vp->vp.font = FONT_UI; + /* This parser requires viewports which will use the settings font to + * have font == 1, but the above viewport_set() calls set font to + * the current real font id. So force 1 here it will be set correctly + * at the end + */ + default_vp->vp.font = 1; #endif } return 0; @@ -1645,7 +1647,7 @@ static bool skin_load_fonts(struct wps_data *data) font_id = skin_vp->parsed_fontid; if (font_id == 1) { /* the usual case -> built-in fonts */ - vp->font = global_status.font_id[curr_screen]; + vp->font = screens[curr_screen].getuifont(); continue; } else if (font_id <= 0) diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c index 369bd46be5..4d41a6f9b7 100644 --- a/apps/gui/skin_engine/skin_render.c +++ b/apps/gui/skin_engine/skin_render.c @@ -658,7 +658,7 @@ void skin_render_viewport(struct skin_element* viewport, struct gui_wps *gwps, /* fix font ID's */ if (skin_viewport->parsed_fontid == 1) - skin_viewport->vp.font = global_status.font_id[display->screen_type]; + skin_viewport->vp.font = display->getuifont(); #endif while (line) -- cgit v1.2.3