XIfEvent(3X11) — NEWS-OS Programmer’s Manual
名称
XIfEvent, XCheckIfEvent, XPeekIfEvent − 宣言した手続きでキューをチェックする
形式
XIfEvent(display, event_return, predicate, arg)
Display ∗display;
XEvent ∗event_return;
Bool (∗predicate)();
char ∗arg; Bool XCheckIfEvent(display, event_return, predicate, arg)
Display ∗display;
XEvent ∗event_return;
Bool (∗predicate)();
char ∗arg; XPeekIfEvent(display, event_return, predicate, arg)
Display ∗display;
XEvent ∗event_return;
Bool (∗predicate)();
char ∗arg;
引数
argユーザが判定関数に渡す引数を指定します。
displayX サーバへのコネクションを指定します。
event_return一致したイベントのコピーを返します。 Returns the matched event’s associated structure.
predicateキューの次のイベントが希望するものと一致したか否か判断するため コールされる関数を指定します。
解説
XIfEvent 関数は、あるイベントについて判定関数が True を返した場合、 つまりキューに一致するイベントが見つかった場合にだけ、終了します。 XIfEvent は、以後のイベントを待って実行をブロックする場合、 出力バッファをフラッシュします。 XIfEvent は、キューから一致するイベントを削除し、 構造体をクライアントが与えた XEvent 構造体にコピーします。 宣言されている手続きが一致するものを見つけた場合、 XCheckIfEvent は一致するイベントをクライアントが与えた XEvent 構造体にコピーし、 True を返します ( このイベントは、キューから削除されます ) 。 一致するものがなければ、 XCheckIfEvent は False を返し、出力バッファはフラッシュされます。 もともとキューにストアされていたイベントは削除されません。 XPeekIfEvent 関数は、指定された判定関数があるイベントについて True を返した場合にだけ、終了します。 判定関数が一致するものを見つけた場合、 XPeekIfEvent は、キューからイベントを削除することなしに、 一致したイベントをクライアントの与えた XEvent 構造体にコピーします。 XPeekIfEvent は、以後のイベントを待って実行をブロックする場合、 出力バッファをフラッシュします。
関連事項
XAnyEvent(3X11), XNextEvent(3X11), XPutBackEvent(3X11) XSendEvent(3X11)
Xlib − C Language X Interface
NEWS-OSRelease 4.1C