From 065c6efa774ac144665f340f6c3578ab74e05c7b Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sat, 21 Dec 2002 19:54:15 +0000 Subject: otktimer works. imagecontrol is underway! --- otk_c/timer.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 otk_c/timer.h (limited to 'otk_c/timer.h') diff --git a/otk_c/timer.h b/otk_c/timer.h new file mode 100644 index 00000000..8e5399ec --- /dev/null +++ b/otk_c/timer.h @@ -0,0 +1,52 @@ +// -*- mode: C; indent-tabs-mode: nil; c-basic-offset: 2; -*- +#ifndef __timer_h +#define __timer_h + +#include +#include + +#ifdef TIME_WITH_SYS_TIME +# include +# include +#else // !TIME_WITH_SYS_TIME +# ifdef HAVE_SYS_TIME_H +# include +# else // !HAVE_SYS_TIME_H +# include +# endif // HAVE_SYS_TIME_H +#endif // TIME_WITH_SYS_TIME + +extern PyTypeObject OtkTimer_Type; + +//! The data passed to the OtkTimeoutHandler function. +/*! + Note: this is a very useful place to put an object instance, and set the + event handler to a static function in the same class. +*/ +typedef void *OtkTimeoutData; +//! The type of function which can be set as the callback for an OtkTimer +//! firing +typedef void (*OtkTimeoutHandler)(OtkTimeoutData); + +typedef struct OtkTimer { + PyObject_HEAD + OtkTimeoutHandler handler; + OtkTimeoutData data; + Bool recur; + long timeout; + + // don't edit these + Bool timing; + struct timeval start; + struct timeval end; +} OtkTimer; + +PyObject *OtkTimer_New(OtkTimeoutHandler handler, OtkTimeoutData data); + +//! Causes the timer to begin +void OtkTimer_Start(OtkTimer *self); + +//! Causes the timer to stop +void OtkTimer_Stop(OtkTimer *self); + +#endif // __timer_h -- cgit v1.2.3