summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine/skin_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/skin_engine/skin_parser.c')
-rw-r--r--apps/gui/skin_engine/skin_parser.c53
1 files changed, 1 insertions, 52 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c
index de7c1db372..f3a23377ef 100644
--- a/apps/gui/skin_engine/skin_parser.c
+++ b/apps/gui/skin_engine/skin_parser.c
@@ -66,9 +66,7 @@
66#include "tuner.h" 66#include "tuner.h"
67#endif 67#endif
68 68
69#ifdef HAVE_LCD_BITMAP
70#include "bmp.h" 69#include "bmp.h"
71#endif
72 70
73#ifdef HAVE_ALBUMART 71#ifdef HAVE_ALBUMART
74#include "playback.h" 72#include "playback.h"
@@ -127,7 +125,6 @@ typedef int (*parse_function)(struct skin_element *element,
127 struct wps_token *token, 125 struct wps_token *token,
128 struct wps_data *wps_data); 126 struct wps_data *wps_data);
129 127
130#ifdef HAVE_LCD_BITMAP
131/* add a skin_token_list item to the list chain. ALWAYS appended because some of the 128/* add a skin_token_list item to the list chain. ALWAYS appended because some of the
132 * chains require the order to be kept. 129 * chains require the order to be kept.
133 */ 130 */
@@ -147,9 +144,6 @@ static void add_to_ll_chain(OFFSETTYPE(struct skin_token_list *) *listoffset,
147 } 144 }
148} 145}
149 146
150#endif
151
152
153void *skin_find_item(const char *label, enum skin_find_what what, 147void *skin_find_item(const char *label, enum skin_find_what what,
154 struct wps_data *data) 148 struct wps_data *data)
155{ 149{
@@ -170,11 +164,9 @@ void *skin_find_item(const char *label, enum skin_find_what what,
170 list.vplist = SKINOFFSETTOPTR(databuf, data->tree); 164 list.vplist = SKINOFFSETTOPTR(databuf, data->tree);
171 isvplist = true; 165 isvplist = true;
172 break; 166 break;
173#ifdef HAVE_LCD_BITMAP
174 case SKIN_FIND_IMAGE: 167 case SKIN_FIND_IMAGE:
175 list.linkedlist = SKINOFFSETTOPTR(databuf, data->images); 168 list.linkedlist = SKINOFFSETTOPTR(databuf, data->images);
176 break; 169 break;
177#endif
178#ifdef HAVE_TOUCHSCREEN 170#ifdef HAVE_TOUCHSCREEN
179 case SKIN_FIND_TOUCHREGION: 171 case SKIN_FIND_TOUCHREGION:
180 list.linkedlist = SKINOFFSETTOPTR(databuf, data->touchregions); 172 list.linkedlist = SKINOFFSETTOPTR(databuf, data->touchregions);
@@ -190,11 +182,9 @@ void *skin_find_item(const char *label, enum skin_find_what what,
190 while (list.linkedlist) 182 while (list.linkedlist)
191 { 183 {
192 bool skip = false; 184 bool skip = false;
193#ifdef HAVE_LCD_BITMAP
194 struct wps_token *token = NULL; 185 struct wps_token *token = NULL;
195 if (!isvplist) 186 if (!isvplist)
196 token = SKINOFFSETTOPTR(databuf, list.linkedlist->token); 187 token = SKINOFFSETTOPTR(databuf, list.linkedlist->token);
197#endif
198 switch (what) 188 switch (what)
199 { 189 {
200 case SKIN_FIND_UIVP: 190 case SKIN_FIND_UIVP:
@@ -207,12 +197,10 @@ void *skin_find_item(const char *label, enum skin_find_what what,
207 skip = !(((struct skin_viewport *)ret)->is_infovp == 197 skip = !(((struct skin_viewport *)ret)->is_infovp ==
208 (what==SKIN_FIND_UIVP)); 198 (what==SKIN_FIND_UIVP));
209 break; 199 break;
210#ifdef HAVE_LCD_BITMAP
211 case SKIN_FIND_IMAGE: 200 case SKIN_FIND_IMAGE:
212 ret = SKINOFFSETTOPTR(databuf, token->value.data); 201 ret = SKINOFFSETTOPTR(databuf, token->value.data);
213 itemlabel = SKINOFFSETTOPTR(databuf, ((struct gui_img *)ret)->label); 202 itemlabel = SKINOFFSETTOPTR(databuf, ((struct gui_img *)ret)->label);
214 break; 203 break;
215#endif
216#ifdef HAVE_TOUCHSCREEN 204#ifdef HAVE_TOUCHSCREEN
217 case SKIN_FIND_TOUCHREGION: 205 case SKIN_FIND_TOUCHREGION:
218 ret = SKINOFFSETTOPTR(databuf, token->value.data); 206 ret = SKINOFFSETTOPTR(databuf, token->value.data);
@@ -240,8 +228,6 @@ void *skin_find_item(const char *label, enum skin_find_what what,
240 return NULL; 228 return NULL;
241} 229}
242 230
243#ifdef HAVE_LCD_BITMAP
244
245/* create and init a new wpsll item. 231/* create and init a new wpsll item.
246 * passing NULL to token will alloc a new one. 232 * passing NULL to token will alloc a new one.
247 * You should only pass NULL for the token when the token type (table above) 233 * You should only pass NULL for the token when the token type (table above)
@@ -493,9 +479,6 @@ static int parse_font_load(struct skin_element *element,
493 return 0; 479 return 0;
494} 480}
495 481
496
497#ifdef HAVE_LCD_BITMAP
498
499static int parse_playlistview(struct skin_element *element, 482static int parse_playlistview(struct skin_element *element,
500 struct wps_token *token, 483 struct wps_token *token,
501 struct wps_data *wps_data) 484 struct wps_data *wps_data)
@@ -513,7 +496,7 @@ static int parse_playlistview(struct skin_element *element,
513 496
514 return 0; 497 return 0;
515} 498}
516#endif 499
517#ifdef HAVE_LCD_COLOR 500#ifdef HAVE_LCD_COLOR
518static int parse_viewport_gradient_setup(struct skin_element *element, 501static int parse_viewport_gradient_setup(struct skin_element *element,
519 struct wps_token *token, 502 struct wps_token *token,
@@ -756,8 +739,6 @@ static int parse_image_special(struct skin_element *element,
756} 739}
757#endif 740#endif
758 741
759#endif /* HAVE_LCD_BITMAP */
760
761static int parse_progressbar_tag(struct skin_element* element, 742static int parse_progressbar_tag(struct skin_element* element,
762 struct wps_token *token, 743 struct wps_token *token,
763 struct wps_data *wps_data); 744 struct wps_data *wps_data);
@@ -898,7 +879,6 @@ static int parse_progressbar_tag(struct skin_element* element,
898 struct wps_token *token, 879 struct wps_token *token,
899 struct wps_data *wps_data) 880 struct wps_data *wps_data)
900{ 881{
901#ifdef HAVE_LCD_BITMAP
902 struct progressbar *pb; 882 struct progressbar *pb;
903 struct viewport *vp = &curr_vp->vp; 883 struct viewport *vp = &curr_vp->vp;
904 struct skin_tag_parameter *param = get_param(element, 0); 884 struct skin_tag_parameter *param = get_param(element, 0);
@@ -1211,20 +1191,7 @@ static int parse_progressbar_tag(struct skin_element* element,
1211 add_to_ll_chain(&wps_data->touchregions, item); 1191 add_to_ll_chain(&wps_data->touchregions, item);
1212 } 1192 }
1213#endif 1193#endif
1214
1215 return 0;
1216
1217#else
1218 (void)element;
1219 if (token->type == SKIN_TOKEN_PROGRESSBAR ||
1220 token->type == SKIN_TOKEN_PLAYER_PROGRESSBAR)
1221 {
1222 wps_data->full_line_progressbar =
1223 token->type == SKIN_TOKEN_PLAYER_PROGRESSBAR;
1224 }
1225 return 0; 1194 return 0;
1226
1227#endif
1228} 1195}
1229 1196
1230#ifdef HAVE_ALBUMART 1197#ifdef HAVE_ALBUMART
@@ -1741,7 +1708,6 @@ void skin_data_free_buflib_allocs(struct wps_data *wps_data)
1741{ 1708{
1742 if (wps_data->wps_loaded) 1709 if (wps_data->wps_loaded)
1743 skin_buffer = get_skin_buffer(wps_data); 1710 skin_buffer = get_skin_buffer(wps_data);
1744#ifdef HAVE_LCD_BITMAP
1745#ifndef __PCTOOL__ 1711#ifndef __PCTOOL__
1746 struct skin_token_list *list = SKINOFFSETTOPTR(skin_buffer, wps_data->images); 1712 struct skin_token_list *list = SKINOFFSETTOPTR(skin_buffer, wps_data->images);
1747 int *font_ids = SKINOFFSETTOPTR(skin_buffer, wps_data->font_ids); 1713 int *font_ids = SKINOFFSETTOPTR(skin_buffer, wps_data->font_ids);
@@ -1776,7 +1742,6 @@ void skin_data_free_buflib_allocs(struct wps_data *wps_data)
1776 core_free(wps_data->buflib_handle); 1742 core_free(wps_data->buflib_handle);
1777 wps_data->buflib_handle = -1; 1743 wps_data->buflib_handle = -1;
1778#endif 1744#endif
1779#endif
1780} 1745}
1781 1746
1782/* 1747/*
@@ -1787,9 +1752,7 @@ void skin_data_free_buflib_allocs(struct wps_data *wps_data)
1787static void skin_data_reset(struct wps_data *wps_data) 1752static void skin_data_reset(struct wps_data *wps_data)
1788{ 1753{
1789 skin_data_free_buflib_allocs(wps_data); 1754 skin_data_free_buflib_allocs(wps_data);
1790#ifdef HAVE_LCD_BITMAP
1791 wps_data->images = INVALID_OFFSET; 1755 wps_data->images = INVALID_OFFSET;
1792#endif
1793 wps_data->tree = INVALID_OFFSET; 1756 wps_data->tree = INVALID_OFFSET;
1794#ifdef HAVE_BACKDROP_IMAGE 1757#ifdef HAVE_BACKDROP_IMAGE
1795 if (wps_data->backdrop_id >= 0) 1758 if (wps_data->backdrop_id >= 0)
@@ -1811,15 +1774,12 @@ static void skin_data_reset(struct wps_data *wps_data)
1811 } 1774 }
1812#endif 1775#endif
1813 1776
1814#ifdef HAVE_LCD_BITMAP
1815 wps_data->peak_meter_enabled = false; 1777 wps_data->peak_meter_enabled = false;
1816 wps_data->wps_sb_tag = false; 1778 wps_data->wps_sb_tag = false;
1817 wps_data->show_sb_on_wps = false; 1779 wps_data->show_sb_on_wps = false;
1818#endif
1819 wps_data->wps_loaded = false; 1780 wps_data->wps_loaded = false;
1820} 1781}
1821 1782
1822#ifdef HAVE_LCD_BITMAP
1823#ifndef __PCTOOL__ 1783#ifndef __PCTOOL__
1824static int currently_loading_handle = -1; 1784static int currently_loading_handle = -1;
1825static int buflib_move_callback(int handle, void* current, void* new) 1785static int buflib_move_callback(int handle, void* current, void* new)
@@ -2065,7 +2025,6 @@ static bool skin_load_fonts(struct wps_data *data)
2065 return success; 2025 return success;
2066} 2026}
2067 2027
2068#endif /* HAVE_LCD_BITMAP */
2069static int convert_viewport(struct wps_data *data, struct skin_element* element) 2028static int convert_viewport(struct wps_data *data, struct skin_element* element)
2070{ 2029{
2071 struct skin_viewport *skin_vp = skin_buffer_alloc(sizeof(*skin_vp)); 2030 struct skin_viewport *skin_vp = skin_buffer_alloc(sizeof(*skin_vp));
@@ -2176,11 +2135,9 @@ static int convert_viewport(struct wps_data *data, struct skin_element* element)
2176 skin_vp->vp.height = display->lcdheight - skin_vp->vp.y; 2135 skin_vp->vp.height = display->lcdheight - skin_vp->vp.y;
2177 } 2136 }
2178 param++; 2137 param++;
2179#ifdef HAVE_LCD_BITMAP
2180 /* font */ 2138 /* font */
2181 if (!isdefault(param)) 2139 if (!isdefault(param))
2182 skin_vp->parsed_fontid = param->data.number; 2140 skin_vp->parsed_fontid = param->data.number;
2183#endif
2184 if ((unsigned) skin_vp->vp.x >= (unsigned) display->lcdwidth || 2141 if ((unsigned) skin_vp->vp.x >= (unsigned) display->lcdwidth ||
2185 skin_vp->vp.width + skin_vp->vp.x > display->lcdwidth || 2142 skin_vp->vp.width + skin_vp->vp.x > display->lcdwidth ||
2186 (unsigned) skin_vp->vp.y >= (unsigned) display->lcdheight || 2143 (unsigned) skin_vp->vp.y >= (unsigned) display->lcdheight ||
@@ -2259,7 +2216,6 @@ static int skin_element_callback(struct skin_element* element, void* data)
2259 case SKIN_TOKEN_TRACK_ENDING: 2216 case SKIN_TOKEN_TRACK_ENDING:
2260 function = parse_timeout_tag; 2217 function = parse_timeout_tag;
2261 break; 2218 break;
2262#ifdef HAVE_LCD_BITMAP
2263 case SKIN_TOKEN_LIST_ITEM_TEXT: 2219 case SKIN_TOKEN_LIST_ITEM_TEXT:
2264 case SKIN_TOKEN_LIST_ITEM_ICON: 2220 case SKIN_TOKEN_LIST_ITEM_ICON:
2265 function = parse_listitem; 2221 function = parse_listitem;
@@ -2274,7 +2230,6 @@ static int skin_element_callback(struct skin_element* element, void* data)
2274 sb_skin_has_title(curr_screen); 2230 sb_skin_has_title(curr_screen);
2275#endif 2231#endif
2276 break; 2232 break;
2277#endif
2278#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1)) 2233#if (LCD_DEPTH > 1) || (defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1))
2279 case SKIN_TOKEN_DRAWRECTANGLE: 2234 case SKIN_TOKEN_DRAWRECTANGLE:
2280 function = parse_drawrectangle; 2235 function = parse_drawrectangle;
@@ -2309,7 +2264,6 @@ static int skin_element_callback(struct skin_element* element, void* data)
2309 case SKIN_TOKEN_SETTING: 2264 case SKIN_TOKEN_SETTING:
2310 function = parse_setting_and_lang; 2265 function = parse_setting_and_lang;
2311 break; 2266 break;
2312#ifdef HAVE_LCD_BITMAP
2313 case SKIN_TOKEN_VIEWPORT_CUSTOMLIST: 2267 case SKIN_TOKEN_VIEWPORT_CUSTOMLIST:
2314 function = parse_playlistview; 2268 function = parse_playlistview;
2315 break; 2269 break;
@@ -2331,7 +2285,6 @@ static int skin_element_callback(struct skin_element* element, void* data)
2331 case SKIN_TOKEN_LIST_ITEM_CFG: 2285 case SKIN_TOKEN_LIST_ITEM_CFG:
2332 function = parse_listitemviewport; 2286 function = parse_listitemviewport;
2333 break; 2287 break;
2334#endif
2335#ifdef HAVE_TOUCHSCREEN 2288#ifdef HAVE_TOUCHSCREEN
2336 case SKIN_TOKEN_TOUCHREGION: 2289 case SKIN_TOKEN_TOUCHREGION:
2337 function = parse_touchregion; 2290 function = parse_touchregion;
@@ -2423,14 +2376,12 @@ bool skin_data_load(enum screen_type screen, struct wps_data *wps_data,
2423 char *wps_buffer = NULL; 2376 char *wps_buffer = NULL;
2424 if (!wps_data || !buf) 2377 if (!wps_data || !buf)
2425 return false; 2378 return false;
2426#ifdef HAVE_LCD_BITMAP
2427 int i; 2379 int i;
2428 for (i=0;i<MAXUSERFONTS;i++) 2380 for (i=0;i<MAXUSERFONTS;i++)
2429 { 2381 {
2430 skinfonts[i].id = -1; 2382 skinfonts[i].id = -1;
2431 skinfonts[i].name = NULL; 2383 skinfonts[i].name = NULL;
2432 } 2384 }
2433#endif
2434#ifdef DEBUG_SKIN_ENGINE 2385#ifdef DEBUG_SKIN_ENGINE
2435 if (isfile && debug_wps) 2386 if (isfile && debug_wps)
2436 { 2387 {
@@ -2504,7 +2455,6 @@ bool skin_data_load(enum screen_type screen, struct wps_data *wps_data,
2504 return false; 2455 return false;
2505 } 2456 }
2506 2457
2507#ifdef HAVE_LCD_BITMAP
2508 char bmpdir[MAX_PATH]; 2458 char bmpdir[MAX_PATH];
2509 if (isfile) 2459 if (isfile)
2510 { 2460 {
@@ -2523,7 +2473,6 @@ bool skin_data_load(enum screen_type screen, struct wps_data *wps_data,
2523 skin_data_reset(wps_data); 2473 skin_data_reset(wps_data);
2524 return false; 2474 return false;
2525 } 2475 }
2526#endif
2527#if defined(HAVE_ALBUMART) && !defined(__PCTOOL__) 2476#if defined(HAVE_ALBUMART) && !defined(__PCTOOL__)
2528 /* last_albumart_{width,height} is either both 0 or valid AA dimensions */ 2477 /* last_albumart_{width,height} is either both 0 or valid AA dimensions */
2529 struct skin_albumart *aa = SKINOFFSETTOPTR(skin_buffer, wps_data->albumart); 2478 struct skin_albumart *aa = SKINOFFSETTOPTR(skin_buffer, wps_data->albumart);