NAME

       Tk_CreateEventHandler,  Tk_DeleteEventHandler  - associate
       procedure callback with an X event


SYNOPSIS

       #include <tk.h>

       Tk_CreateEventHandler(tkwin, mask, proc, clientData)

       Tk_DeleteEventHandler(tkwin, mask, proc, clientData)


ARGUMENTS

       Tk_Window       tkwin        (in)      Token for window in
                                              which   events  may
                                              occur.

       unsigned long   mask         (in)      Bit-mask of  events
                                              (such   as  Button­
                                              PressMask)      for
                                              which  proc  should
                                              be called.

       Tk_EventProc    *proc        (in)      Procedure to invoke
                                              whenever  an  event
                                              in mask  occurs  in
                                              the window given by
                                              tkwin.

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



DESCRIPTION

       Tk_CreateEventHandler arranges for proc to be  invoked  in
       the  future  whenever  one of the event types specified by
       mask occurs in the window specified by tkwin.   The  call­
       back  to  proc will be made by Tk_HandleEvent; this mecha­
       nism only works in programs that dispatch  events  through
       Tk_HandleEvent  (or  through other Tk procedures that call
       Tk_HandleEvent, such as Tk_DoOneEvent or Tk_MainLoop).

       Proc should have arguments and result that match the  type
       Tk_EventProc:
              typedef void Tk_EventProc(
                ClientData clientData,
                XEvent *eventPtr);
       The  clientData parameter to proc is a copy of the client­
       Data argument  given  to  Tk_CreateEventHandler  when  the
       callback  was  created.  Typically, clientData points to a
       a pointer to the X event, which will be one  of  the  ones
       specified in the mask argument to Tk_CreateEventHandler.

       Tk_DeleteEventHandler  may  be  called  to delete a previ­
       ously-created event handler:  it deletes the first handler
       it  finds  that  is  associated with tkwin and matches the
       mask, proc, and clientData arguments.  If no such  handler
       exists,  then  Tk_HandleEvent  returns  without doing any­
       thing.  Although Tk supports it, it's probably a bad  idea
       to  have  more than one callback with the same mask, proc,
       and clientData arguments.  When a window is deleted all of
       its  handlers will be deleted automatically;  in this case
       there is no need to call Tk_DeleteEventHandler.

       If multiple handlers are declared for the same type  of  X
       event  on  the  same  window,  then  the  handlers will be
       invoked in the order they were created.



KEYWORDS

       bind, callback, event, handler