summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine/skin_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/skin_engine/skin_display.c')
-rw-r--r--apps/gui/skin_engine/skin_display.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c
index 4f491dea24..24958a46f2 100644
--- a/apps/gui/skin_engine/skin_display.c
+++ b/apps/gui/skin_engine/skin_display.c
@@ -302,17 +302,20 @@ void clear_image_pos(struct gui_wps *gwps, struct gui_img *img)
302 gwps->display->set_drawmode(DRMODE_SOLID); 302 gwps->display->set_drawmode(DRMODE_SOLID);
303} 303}
304 304
305void wps_draw_image(struct gui_wps *gwps, struct gui_img *img, int subimage) 305void wps_draw_image(struct gui_wps *gwps, struct gui_img *img,
306 int subimage, struct viewport* vp)
306{ 307{
307 struct screen *display = gwps->display; 308 struct screen *display = gwps->display;
308 img->bm.data = core_get_data(img->buflib_handle); 309 img->bm.data = core_get_data(img->buflib_handle);
309 display->set_drawmode(DRMODE_SOLID); 310 display->set_drawmode(DRMODE_SOLID);
310 311
311 display->bmp_part(&img->bm, 0, img->subimage_height * subimage, 312 if (img->is_9_segment)
312 img->x, img->y, img->bm.width, img->subimage_height); 313 display->nine_segment_bmp(&img->bm, 0, 0, vp->width, vp->height);
314 else
315 display->bmp_part(&img->bm, 0, img->subimage_height * subimage,
316 img->x, img->y, img->bm.width, img->subimage_height);
313} 317}
314 318
315
316void wps_display_images(struct gui_wps *gwps, struct viewport* vp) 319void wps_display_images(struct gui_wps *gwps, struct viewport* vp)
317{ 320{
318 if(!gwps || !gwps->data || !gwps->display) 321 if(!gwps || !gwps->data || !gwps->display)
@@ -334,7 +337,7 @@ void wps_display_images(struct gui_wps *gwps, struct viewport* vp)
334 { 337 {
335 if (img->display >= 0) 338 if (img->display >= 0)
336 { 339 {
337 wps_draw_image(gwps, img, img->display); 340 wps_draw_image(gwps, img, img->display, vp);
338 } 341 }
339 } 342 }
340 list = SKINOFFSETTOPTR(get_skin_buffer(data), list->next); 343 list = SKINOFFSETTOPTR(get_skin_buffer(data), list->next);