diff options
Diffstat (limited to 'apps/gui/skin_engine/skin_render.c')
-rw-r--r-- | apps/gui/skin_engine/skin_render.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c index 9fa940dba2..3037a955c7 100644 --- a/apps/gui/skin_engine/skin_render.c +++ b/apps/gui/skin_engine/skin_render.c | |||
@@ -229,6 +229,30 @@ static bool do_non_text_tags(struct gui_wps *gwps, struct skin_draw_info *info, | |||
229 | break; | 229 | break; |
230 | 230 | ||
231 | #endif /* HAVE_LCD_BITMAP */ | 231 | #endif /* HAVE_LCD_BITMAP */ |
232 | #ifdef HAVE_SKIN_VARIABLES | ||
233 | case SKIN_TOKEN_VAR_SET: | ||
234 | if (do_refresh) | ||
235 | { | ||
236 | struct skin_var_changer *data = token->value.data; | ||
237 | if (data->direct) | ||
238 | data->var->value = data->newval; | ||
239 | else | ||
240 | { | ||
241 | data->var->value += data->newval; | ||
242 | if (data->max) | ||
243 | { | ||
244 | if (data->var->value > data->max) | ||
245 | data->var->value = 1; | ||
246 | else if (data->var->value < 1) | ||
247 | data->var->value = data->max; | ||
248 | } | ||
249 | } | ||
250 | if (data->var->value < 1) | ||
251 | data->var->value = 1; | ||
252 | data->var->last_changed = current_tick; | ||
253 | } | ||
254 | break; | ||
255 | #endif | ||
232 | default: | 256 | default: |
233 | return false; | 257 | return false; |
234 | } | 258 | } |