XIfEvent(3X11)XIfEvent(3X11)NAME
XIfEvent, XCheckIfEvent, XPeekIfEvent - check the event queue with a
predicate procedure
SYNOPSIS
XIfEvent(display, event_return, predicate, arg)
Display *display;
XEvent *event_return;
Bool (*predicate)();
XPointer arg;
Bool XCheckIfEvent(display, event_return, predicate, arg)
Display *display;
XEvent *event_return;
Bool (*predicate)();
XPointer arg;
XPeekIfEvent(display, event_return, predicate, arg)
Display *display;
XEvent *event_return;
Bool (*predicate)();
XPointer arg;
ARGUMENTS
Specifies the user-supplied argument that will be passed to the predi‐
cate procedure. Specifies the connection to the X server. Returns
either a copy of or the matched event's associated structure. Speci‐
fies the procedure that is to be called to determine if the next event
in the queue matches what you want.
DESCRIPTION
The XIfEvent function completes only when the specified predicate pro‐
cedure returns True for an event, which indicates an event in the queue
matches. XIfEvent flushes the output buffer if it blocks waiting for
additional events. XIfEvent removes the matching event from the queue
and copies the structure into the client-supplied XEvent structure.
When the predicate procedure finds a match, XCheckIfEvent copies the
matched event into the client-supplied XEvent structure and returns
True. (This event is removed from the queue.) If the predicate proce‐
dure finds no match, XCheckIfEvent returns False, and the output buffer
will have been flushed. All earlier events stored in the queue are not
discarded.
The XPeekIfEvent function returns only when the specified predicate
procedure returns True for an event. After the predicate procedure
finds a match, XPeekIfEvent copies the matched event into the client-
supplied XEvent structure without removing the event from the queue.
XPeekIfEvent flushes the output buffer if it blocks waiting for addi‐
tional events.
SEE ALSOXAnyEvent(3X11), XNextEvent(3X11), XPutBackEvent(3X11), XSendE‐
vent(3X11)
Xlib -- C Language X Interface
XIfEvent(3X11)