_________________________________________________________________

     NAME
          Tk_CreateTimerHandler, Tk_DeleteTimerHandler - call a
          procedure at a given time

     SYNOPSIS
          #include <tk.h>

          Tk_TimerToken
          Tk_CreateTimerHandler(milliseconds, proc, clientData)

          Tk_DeleteTimerHandler(token)

     ARGUMENTS
          int             milliseconds   (in)      How many
                                                   milliseconds to
                                                   wait before
                                                   invoking proc.

          Tk_TimerProc    *proc          (in)      Procedure to invoke
                                                   after milliseconds
                                                   have elapsed.

          ClientData      clientData     (in)      Arbitrary one-word
                                                   value to pass to
                                                   proc.

          Tk_TimerToken   token          (in)      Token for
                                                   previously-created
                                                   timer handler (the
                                                   return value from
                                                   some previous call
                                                   to
                                                   Tk_CreateTimerHandler).
     _________________________________________________________________


     DESCRIPTION
          Tk_CreateTimerHandler arranges for proc to be invoked at a
          time milliseconds milliseconds in the future.  The callback
          to proc will be made by Tk_DoOneEvent, so
          Tk_CreateTimerHandler is only useful in programs that
          dispatch events through Tk_DoOneEvent or through other Tk
          procedures that call Tk_DoOneEvent, such as Tk_MainLoop.
          The call to proc may not be made at the exact time given by
          milliseconds:  it will be made at the next opportunity after
          that time.  For example, if Tk_DoOneEvent isn't called until
          long after the time has elapsed, or if there are other
          pending events to process before the call to proc, then the
          call to proc will be delayed.

          Proc should have arguments and return value that match the
          type Tk_TimerProc:
               typedef void Tk_TimerProc(ClientData clientData);
          The clientData parameter to proc is a copy of the clientData
          argument given to Tcl_CreateTimerHandler when the callback
          was created.  Typically, clientData points to a data
          structure containing application-specific information about
          what to do in proc.

          Tk_DeleteTimerHandler may be called to delete a previously-
          created timer handler.  It deletes the handler indicated by
          token so that no call to proc will be made;  if that handler
          no longer exists (e.g. because the time period has already
          elapsed and proc has been invoked) then
          Tk_DeleteTimerHandler does nothing.


     KEYWORDS
          callback, clock, handler, timer