int widget_keypad_draw(WIDGET * Self) { WIDGET_KEYPAD *keypad = Self->data; /* evaluate properties */ property_eval(&keypad->expression); return P2N(&keypad->expression); }
void widget_timer_update(void *Self) { WIDGET *W = (WIDGET *) Self; WIDGET_TIMER *Timer = W->data; int update, active; /* evaluate expressions */ property_eval(&Timer->update); property_eval(&Timer->active); /* get new update interval */ update = P2N(&Timer->update); if (update < 10) update = 10; /* finally, fire it! */ active = P2N(&Timer->active); if (active > 0) { property_eval(&Timer->expression); } /* add a new one-shot timer */ timer_add_widget(widget_timer_update, Self, update, 1); }