diff options
Diffstat (limited to 'apps/gui/skin_engine/skin_display.c')
-rw-r--r-- | apps/gui/skin_engine/skin_display.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c index 85cc65d410..e674c9becf 100644 --- a/apps/gui/skin_engine/skin_display.c +++ b/apps/gui/skin_engine/skin_display.c | |||
@@ -129,6 +129,35 @@ bool skin_update(struct gui_wps *gwps, unsigned int update_type) | |||
129 | return retval; | 129 | return retval; |
130 | } | 130 | } |
131 | 131 | ||
132 | void skin_statusbar_changed(struct gui_wps *skin) | ||
133 | { | ||
134 | if (!skin) | ||
135 | return; | ||
136 | struct wps_data *data = skin->data; | ||
137 | const struct screen *display = skin->display; | ||
138 | |||
139 | struct viewport *vp = &find_viewport(VP_DEFAULT_LABEL, data)->vp; | ||
140 | viewport_set_fullscreen(vp, display->screen_type); | ||
141 | |||
142 | if (data->wps_sb_tag) | ||
143 | { /* fix up the default viewport */ | ||
144 | if (data->show_sb_on_wps) | ||
145 | { | ||
146 | bool bar_at_top = | ||
147 | statusbar_position(display->screen_type) != STATUSBAR_BOTTOM; | ||
148 | |||
149 | vp->y = bar_at_top?STATUSBAR_HEIGHT:0; | ||
150 | vp->height = display->lcdheight - STATUSBAR_HEIGHT; | ||
151 | } | ||
152 | else | ||
153 | { | ||
154 | vp->y = 0; | ||
155 | vp->height = display->lcdheight; | ||
156 | } | ||
157 | } | ||
158 | |||
159 | |||
160 | } | ||
132 | 161 | ||
133 | #ifdef HAVE_LCD_BITMAP | 162 | #ifdef HAVE_LCD_BITMAP |
134 | 163 | ||
@@ -1141,7 +1170,7 @@ static bool skin_redraw(struct gui_wps *gwps, unsigned refresh_mode) | |||
1141 | 1170 | ||
1142 | if (refresh_mode & WPS_REFRESH_STATUSBAR) | 1171 | if (refresh_mode & WPS_REFRESH_STATUSBAR) |
1143 | { | 1172 | { |
1144 | gwps_draw_statusbars(); | 1173 | viewportmanager_set_statusbar(*gwps->statusbars); |
1145 | } | 1174 | } |
1146 | /* Restore the default viewport */ | 1175 | /* Restore the default viewport */ |
1147 | display->set_viewport(NULL); | 1176 | display->set_viewport(NULL); |