summaryrefslogtreecommitdiffstats
path: root/apps/gui
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2011-03-07 12:56:24 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2011-03-07 12:56:24 +0000
commite765906d5bd2f5fccab2c101215d5083406b2ac4 (patch)
treed96c866c39230e293f08f50567dffa96a94ab0d4 /apps/gui
parent343001b5f86f61a48b8520c9a1eb2790f50a8b27 (diff)
downloadrockbox-e765906d5bd2f5fccab2c101215d5083406b2ac4.tar.gz
rockbox-e765906d5bd2f5fccab2c101215d5083406b2ac4.zip
move code around to make checkwps compile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29536 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/skin_engine/skin_engine.c62
-rw-r--r--apps/gui/skin_engine/skin_parser.c62
-rw-r--r--apps/gui/skin_engine/wps_internals.h4
3 files changed, 65 insertions, 63 deletions
diff --git a/apps/gui/skin_engine/skin_engine.c b/apps/gui/skin_engine/skin_engine.c
index 61a41d9bc3..fbedbb96fd 100644
--- a/apps/gui/skin_engine/skin_engine.c
+++ b/apps/gui/skin_engine/skin_engine.c
@@ -259,65 +259,3 @@ void skin_request_full_update(enum skinnable_screens skin)
FOR_NB_SCREENS(i)
skins[skin][i].needs_full_update = true;
}
-
-
-void *skin_find_item(const char *label, enum skin_find_what what,
- struct wps_data *data)
-{
- const char *itemlabel = NULL;
- union {
- struct skin_token_list *linkedlist;
- struct skin_element *vplist;
- } list;
- bool isvplist = false;
- void *ret = NULL;
- switch (what)
- {
- case SKIN_FIND_UIVP:
- case SKIN_FIND_VP:
- list.vplist = data->tree;
- isvplist = true;
- break;
- case SKIN_FIND_IMAGE:
- list.linkedlist = data->images;
- break;
-#ifdef HAVE_TOUCHSCREEN
- case SKIN_FIND_TOUCHREGION:
- list.linkedlist = data->touchregions;
- break;
-#endif
- }
-
- while (list.linkedlist)
- {
- bool skip = false;
- switch (what)
- {
- case SKIN_FIND_UIVP:
- case SKIN_FIND_VP:
- ret = list.vplist->data;
- itemlabel = ((struct skin_viewport *)ret)->label;
- skip = !(((struct skin_viewport *)ret)->is_infovp ==
- (what==SKIN_FIND_UIVP));
- break;
- case SKIN_FIND_IMAGE:
- ret = list.linkedlist->token->value.data;
- itemlabel = ((struct gui_img *)ret)->label;
- break;
-#ifdef HAVE_TOUCHSCREEN
- case SKIN_FIND_TOUCHREGION:
- ret = list.linkedlist->token->value.data;
- itemlabel = ((struct touchregion *)ret)->label;
- break;
-#endif
- }
- if (!skip && itemlabel && !strcmp(itemlabel, label))
- return ret;
-
- if (isvplist)
- list.vplist = list.vplist->next;
- else
- list.linkedlist = list.linkedlist->next;
- }
- return NULL;
-}
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c
index 9a792ead42..ff53f753df 100644
--- a/apps/gui/skin_engine/skin_parser.c
+++ b/apps/gui/skin_engine/skin_parser.c
@@ -117,6 +117,68 @@ static void add_to_ll_chain(struct skin_token_list **list, struct skin_token_lis
#endif
+
+void *skin_find_item(const char *label, enum skin_find_what what,
+ struct wps_data *data)
+{
+ const char *itemlabel = NULL;
+ union {
+ struct skin_token_list *linkedlist;
+ struct skin_element *vplist;
+ } list;
+ bool isvplist = false;
+ void *ret = NULL;
+ switch (what)
+ {
+ case SKIN_FIND_UIVP:
+ case SKIN_FIND_VP:
+ list.vplist = data->tree;
+ isvplist = true;
+ break;
+ case SKIN_FIND_IMAGE:
+ list.linkedlist = data->images;
+ break;
+#ifdef HAVE_TOUCHSCREEN
+ case SKIN_FIND_TOUCHREGION:
+ list.linkedlist = data->touchregions;
+ break;
+#endif
+ }
+
+ while (list.linkedlist)
+ {
+ bool skip = false;
+ switch (what)
+ {
+ case SKIN_FIND_UIVP:
+ case SKIN_FIND_VP:
+ ret = list.vplist->data;
+ itemlabel = ((struct skin_viewport *)ret)->label;
+ skip = !(((struct skin_viewport *)ret)->is_infovp ==
+ (what==SKIN_FIND_UIVP));
+ break;
+ case SKIN_FIND_IMAGE:
+ ret = list.linkedlist->token->value.data;
+ itemlabel = ((struct gui_img *)ret)->label;
+ break;
+#ifdef HAVE_TOUCHSCREEN
+ case SKIN_FIND_TOUCHREGION:
+ ret = list.linkedlist->token->value.data;
+ itemlabel = ((struct touchregion *)ret)->label;
+ break;
+#endif
+ }
+ if (!skip && itemlabel && !strcmp(itemlabel, label))
+ return ret;
+
+ if (isvplist)
+ list.vplist = list.vplist->next;
+ else
+ list.linkedlist = list.linkedlist->next;
+ }
+ return NULL;
+}
+
#ifdef HAVE_LCD_BITMAP
/* create and init a new wpsll item.
diff --git a/apps/gui/skin_engine/wps_internals.h b/apps/gui/skin_engine/wps_internals.h
index 80303f85b3..48c1f9d230 100644
--- a/apps/gui/skin_engine/wps_internals.h
+++ b/apps/gui/skin_engine/wps_internals.h
@@ -368,7 +368,9 @@ enum skin_find_what {
SKIN_FIND_VP = 0,
SKIN_FIND_UIVP,
SKIN_FIND_IMAGE,
- SKIN_FIND_TOUCHREGION
+#ifdef HAVE_TOUCHSCREEN
+ SKIN_FIND_TOUCHREGION,
+#endif
};
void *skin_find_item(const char *label, enum skin_find_what what,
struct wps_data *data);