summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/gui/skin_engine/skin_display.c9
-rw-r--r--apps/gui/skin_engine/skin_parser.c4
-rw-r--r--apps/gui/skin_engine/skin_render.c7
-rw-r--r--apps/gui/skin_engine/wps_internals.h1
-rw-r--r--lib/skin_parser/tag_table.c2
-rw-r--r--wps/cabbiev2.112x64x1.wps1
-rw-r--r--wps/cabbiev2.128x64x1.wps3
7 files changed, 12 insertions, 15 deletions
diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c
index 0613f98..0b3ba65 100644
--- a/apps/gui/skin_engine/skin_display.c
+++ b/apps/gui/skin_engine/skin_display.c
@@ -298,10 +298,7 @@ void wps_draw_image(struct gui_wps *gwps, struct gui_img *img, int subimage)
{
struct screen *display = gwps->display;
img->bm.data = core_get_data(img->buflib_handle);
- if(img->always_display)
- display->set_drawmode(DRMODE_FG);
- else
- display->set_drawmode(DRMODE_SOLID);
+ display->set_drawmode(DRMODE_SOLID);
display->bmp_part(&img->bm, 0, img->subimage_height * subimage,
img->x, img->y, img->bm.width, img->subimage_height);
@@ -331,10 +328,6 @@ void wps_display_images(struct gui_wps *gwps, struct viewport* vp)
{
wps_draw_image(gwps, img, img->display);
}
- else if (img->always_display && SKINOFFSETTOPTR(get_skin_buffer(data), img->vp) == vp)
- {
- wps_draw_image(gwps, img, 0);
- }
}
list = SKINOFFSETTOPTR(get_skin_buffer(data), list->next);
}
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c
index 0fe8789..3b83d9e 100644
--- a/apps/gui/skin_engine/skin_parser.c
+++ b/apps/gui/skin_engine/skin_parser.c
@@ -415,7 +415,6 @@ static int parse_image_load(struct skin_element *element,
img->x = x;
img->y = y;
img->num_subimages = 1;
- img->always_display = false;
img->display = -1;
img->using_preloaded_icons = false;
img->buflib_handle = -1;
@@ -425,7 +424,7 @@ static int parse_image_load(struct skin_element *element,
if (token->type == SKIN_TOKEN_IMAGE_DISPLAY)
{
- img->always_display = true;
+ token->value.data = PTRTOSKINOFFSET(skin_buffer, img);
}
else if (element->params_count == 5)
{
@@ -1000,7 +999,6 @@ static int parse_progressbar_tag(struct skin_element* element,
img->x = 0;
img->y = 0;
img->num_subimages = 1;
- img->always_display = false;
img->display = -1;
img->using_preloaded_icons = false;
img->buflib_handle = -1;
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c
index ee42dfa..f86b161 100644
--- a/apps/gui/skin_engine/skin_render.c
+++ b/apps/gui/skin_engine/skin_render.c
@@ -198,6 +198,13 @@ static bool do_non_text_tags(struct gui_wps *gwps, struct skin_draw_info *info,
#endif
break;
#ifdef HAVE_LCD_BITMAP
+ case SKIN_TOKEN_IMAGE_DISPLAY:
+ {
+ struct gui_img *img = SKINOFFSETTOPTR(skin_buffer, token->value.data);
+ if (img && img->loaded && do_refresh)
+ img->display = 0;
+ }
+ break;
case SKIN_TOKEN_IMAGE_DISPLAY_LISTICON:
case SKIN_TOKEN_IMAGE_PRELOAD_DISPLAY:
{
diff --git a/apps/gui/skin_engine/wps_internals.h b/apps/gui/skin_engine/wps_internals.h
index 1ea5dbf..3b1d7cf 100644
--- a/apps/gui/skin_engine/wps_internals.h
+++ b/apps/gui/skin_engine/wps_internals.h
@@ -80,7 +80,6 @@ struct gui_img {
int buflib_handle;
OFFSETTYPE(char*) label;
bool loaded; /* load state */
- bool always_display; /* not using the preload/display mechanism */
int display;
bool using_preloaded_icons; /* using the icon system instead of a bmp */
};
diff --git a/lib/skin_parser/tag_table.c b/lib/skin_parser/tag_table.c
index a44b2ef..e4b8bb1 100644
--- a/lib/skin_parser/tag_table.c
+++ b/lib/skin_parser/tag_table.c
@@ -178,7 +178,7 @@ static const struct tag_info legal_tags[] =
{ SKIN_TOKEN_IMAGE_PRELOAD, "xl", "SFII|I", 0|NOBREAK },
{ SKIN_TOKEN_IMAGE_PRELOAD_DISPLAY, "xd", "S|[IT]I", 0 },
- { SKIN_TOKEN_IMAGE_DISPLAY, "x", "SFII", 0|NOBREAK },
+ { SKIN_TOKEN_IMAGE_DISPLAY, "x", "SFII", SKIN_REFRESH_STATIC|NOBREAK },
{ SKIN_TOKEN_LOAD_FONT, "Fl" , "IF|I", 0|NOBREAK },
{ SKIN_TOKEN_ALBUMART_LOAD, "Cl" , "IIII|ss", 0|NOBREAK },
diff --git a/wps/cabbiev2.112x64x1.wps b/wps/cabbiev2.112x64x1.wps
index 3c56df1..cfefac8 100644
--- a/wps/cabbiev2.112x64x1.wps
+++ b/wps/cabbiev2.112x64x1.wps
@@ -5,6 +5,7 @@
%wd
#
# Load Backdrop
+%V(0,0,-,-,-)
%x(z,wpsbackdrop-112x64x1.bmp,0,0)
#
# Preload Images
diff --git a/wps/cabbiev2.128x64x1.wps b/wps/cabbiev2.128x64x1.wps
index 71c80aa..23da53f 100644
--- a/wps/cabbiev2.128x64x1.wps
+++ b/wps/cabbiev2.128x64x1.wps
@@ -11,12 +11,11 @@
%xl(D,shuffle-128x64x1.bmp,0,1)
%xl(E,repeat-128x64x1.bmp,0,0,4)
%xl(F,playmode-128x64x1.bmp,0,0,5)
-%x(a,pbbackground-128x64x1.bmp,1,0)
%xl(b,bar-128x64x1.bmp,2,0)
#
# Progress Bar
%V(0,0,128,6,1)
-#%xd(a)
+%x(a,pbbackground-128x64x1.bmp,1,0)
%pb(2,1,123,4,pb-128x64x1.bmp)
#
# Separator Bar