diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2011-03-27 08:01:58 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2011-03-27 08:01:58 +0000 |
commit | 87aa86cedd27445e51b0ad38dbc7cf2bdaa42364 (patch) | |
tree | 09d19881a5a48bbd3979877bfd08e5a109e6fa56 /apps/gui/skin_engine/skin_tokens.c | |
parent | 969381322d080a636d961a2e4505a9d88f04147d (diff) | |
download | rockbox-87aa86cedd27445e51b0ad38dbc7cf2bdaa42364.tar.gz rockbox-87aa86cedd27445e51b0ad38dbc7cf2bdaa42364.zip |
Skin variables for touchscreen targets (origional implementation by Jens Theeß)
%vs(name, [set|inc|dec], value [,max]) - name is the id, set sets the value, inc increments by value, dec decrements by value
%vg(name) - get the current value
%vl(name [,timeout]) - 'has it changed in [timeout]'?
values start at 1 and are all reset to 1 on skin load
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29655 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine/skin_tokens.c')
-rw-r--r-- | apps/gui/skin_engine/skin_tokens.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c index cf71014a62..a315bae609 100644 --- a/apps/gui/skin_engine/skin_tokens.c +++ b/apps/gui/skin_engine/skin_tokens.c | |||
@@ -1772,6 +1772,28 @@ const char *get_token_value(struct gui_wps *gwps, | |||
1772 | case SKIN_TOKEN_LANG_IS_RTL: | 1772 | case SKIN_TOKEN_LANG_IS_RTL: |
1773 | return lang_is_rtl() ? "r" : NULL; | 1773 | return lang_is_rtl() ? "r" : NULL; |
1774 | 1774 | ||
1775 | #ifdef HAVE_SKIN_VARIABLES | ||
1776 | case SKIN_TOKEN_VAR_GETVAL: | ||
1777 | { | ||
1778 | struct skin_var* var = token->value.data; | ||
1779 | if (intval) | ||
1780 | *intval = var->value; | ||
1781 | snprintf(buf, buf_size, "%d", var->value); | ||
1782 | return buf; | ||
1783 | } | ||
1784 | break; | ||
1785 | case SKIN_TOKEN_VAR_TIMEOUT: | ||
1786 | { | ||
1787 | struct skin_var_lastchange *data = token->value.data; | ||
1788 | unsigned int last_change = data->var->last_changed; | ||
1789 | |||
1790 | if (last_change != 0xffff && | ||
1791 | TIME_BEFORE(current_tick, data->timeout + last_change)) | ||
1792 | return "t"; | ||
1793 | } | ||
1794 | return NULL; | ||
1795 | #endif | ||
1796 | |||
1775 | default: | 1797 | default: |
1776 | return NULL; | 1798 | return NULL; |
1777 | } | 1799 | } |