Timer

glib.timer.Timer records a start time, and counts microseconds elapsed since that time.

This is done somewhat differently on different platforms, and can be tricky to get exactly right, so glib.timer.Timer provides a portable/convenient interface.

Constructors

this
this()

Creates a new timer, and starts timing (i.e. glib.timer.Timer.start is implicitly called for you).

Members

Functions

continue_
void continue_()

Resumes a timer that has previously been stopped with glib.timer.Timer.stop. glib.timer.Timer.stop must be called before using this function.

destroy
void destroy()

Destroys a timer, freeing associated resources.

elapsed
double elapsed()

If timer has been started but not stopped, obtains the time since the timer was started. If timer has been stopped, obtains the elapsed time between the time it was started and the time it was stopped. The return value is the number of seconds elapsed, including any fractional part.

elapsed
double elapsed(gulong microseconds)

If timer has been started but not stopped, obtains the time since the timer was started. If timer has been stopped, obtains the elapsed time between the time it was started and the time it was stopped. The return value is the number of seconds elapsed, including any fractional part. The microseconds out parameter is essentially useless.

isActive
bool isActive()

Exposes whether the timer is currently active.

reset
void reset()

This function is useless; it's fine to call glib.timer.Timer.start on an already-started timer to reset the start time, so glib.timer.Timer.reset serves no purpose.

start
void start()

Marks a start time, so that future calls to glib.timer.Timer.elapsed will report the time since glib.timer.Timer.start was called. glib.timer.Timer.new_ automatically marks the start time, so no need to call glib.timer.Timer.start immediately after creating the timer.

stop
void stop()

Marks an end time, so calls to glib.timer.Timer.elapsed will return the difference between this end time and the start time.