diff options
Diffstat (limited to 'otherlibs/labltk/support/cltkTimer.c')
-rw-r--r-- | otherlibs/labltk/support/cltkTimer.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/otherlibs/labltk/support/cltkTimer.c b/otherlibs/labltk/support/cltkTimer.c new file mode 100644 index 000000000..9cf9e2e3e --- /dev/null +++ b/otherlibs/labltk/support/cltkTimer.c @@ -0,0 +1,30 @@ +#include <tcl.h> +#include <tk.h> +#include <caml/mlvalues.h> +#include "camltk.h" + + +/* Basically the same thing as FileProc */ +void TimerProc (clientdata) + ClientData clientdata; +{ + callback2(*handler_code,Val_long(clientdata),Val_int(0)); +} + +value camltk_add_timer(milli, cbid) /* ML */ + value milli; + value cbid; +{ + CheckInit(); + /* look at tkEvent.c , Tk_Token is an int */ + return (value)Tcl_CreateTimerHandler(Int_val(milli), TimerProc, + (ClientData) (Long_val(cbid))); +} + +value camltk_rem_timer(token) /* ML */ + value token; +{ + Tcl_DeleteTimerHandler((Tcl_TimerToken) token); + return Val_unit; +} + |