Next: , Previous: , Up: Timer Object   [Contents][Index]


21.1.4 Other Timer Routines

To set the timer to a particular value use

void fl_set_timer(FL_OBJECT *obj, double delay);

delay gives the number of seconds the timer should run. Use 0.0 to reset/de-blink the timer.

To obtain the time left in the timer use

double fl_get_timer(FL_OBJECT *obj);

By default, a timer counts down toward zero and the value shown (for FL_VALUE_TIMERs) is the time left until the timer expires. You can change this default so the timer counts up and shows elapsed time by calling

void fl_set_timer_countup(FL_OBJECT *obj, int yes_no);

with a true value for the argument yes_no.

A timer can be temporarily suspended (stopwatch) using the following routine

void fl_suspend_timer(FL_OBJECT *obj);

and later be resumed by

void fl_resume_timer(FL_OBJECT *obj);

Unlike fl_set_timer() a suspended timer keeps its internal state (total delay, time left etc.), so when it is resumed, it starts from where it was suspended.

Finally there is a routine that allows the application program to change the way the time is presented in FL_VALUE_TIMER:

typedef char *(FL_TIMER_FILTER)(FL_OBJECT *obj, double secs);
FL_TIMER_FILTER fl_set_timer_filter(FL_OBJECT *obj,
                                    FL_TIMER_FILTER filter);

The function filter receives the timer ID and the time left for count-down timers and the elapsed time for up-counting timers (in units of seconds) and should return a string representation of the time. The default filter returns the time in a hour:minutes:seconds.fraction format.


Next: , Previous: , Up: Timer Object   [Contents][Index]