diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2011-03-07 12:56:24 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2011-03-07 12:56:24 +0000 |
commit | e765906d5bd2f5fccab2c101215d5083406b2ac4 (patch) | |
tree | d96c866c39230e293f08f50567dffa96a94ab0d4 /apps/gui | |
parent | 343001b5f86f61a48b8520c9a1eb2790f50a8b27 (diff) | |
download | rockbox-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.c | 62 | ||||
-rw-r--r-- | apps/gui/skin_engine/skin_parser.c | 62 | ||||
-rw-r--r-- | apps/gui/skin_engine/wps_internals.h | 4 |
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); |