Tk_CreateEventHandler(Tk Library ProcedurTk_CreateEventHandler(3)_________________________________________________________________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
data structure containing application-specific information
Tk 1
Tk_CreateEventHandler(Tk Library ProcedurTk_CreateEventHandler(3)
about the window in which the event occurred. EventPtr is
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_EventHandler 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
Tk 2