Normal callbacks, motion callbacks and destroy callbacks have the following prototype:
void callback(EZ_Widget *widget, void *data)
where widget is the widget that callback is registered to.
data is a pointer to a client data that will be passed to
callback when invoked.
Input callbacks has the prototype
void inputcallback(EZ_Input *obj, void *data, int fd, int mask)
where obj is the EZ_Input to which callback is
registered. data is an arbitary client data registered with
callback. fd is a file descriptor. mask is
or'ed from EZ_READABLE_MASK, EZ_WRITABLE_MASK and
EZ_EXCEPTION_MASK.
Event handlers have the prototype
void eventHandler(EZ_Widget *widget, void *data,
int eType, XEvent *xevent)
where widget is the widget that eventHandler is
registered to;
data is a pointer to a client data that will be passed
to the event handler;
eType is the internal EZ event type; and xevent
is the pointer to the actual X event, it contains all the information
about the event. Normally, actions of your event handler should be based
on xevent. However, if your event handler just wants to check
whether a key has been pressed or the the state of a button, you may
find that using eType is more convenient than
deciphering xevent.