XFlush

Section: XLIB FUNCTIONS (3X11)
Updated: Release 6.3
Index xjman/web INDEX
 

名前

XFlush, XSync, XEventsQueued, XPending - イベントキューの出力バッファを扱う  

書式

XFlush(display)

      Display *display;

XSync(display, discard)

      Display *display;

      Bool discard;

int XEventsQueued(display, mode)

     Display *display;

     int mode;

int XPending(display)

      Display *display;  

引き数

discard
XSync がイベントキューの全てのイベントを破棄するかどうか指示する真偽値を指定。
display
X サーバへの接続を指定。
mode
モードを指定。 QueuedAlready, QueuedAfterFlush, QueuedAfterReading のいずれかを渡すことができる。
 

説明

関数 XFlush は出力バッファをフラッシュする。 出力バッファは XPending, XNextEvent, XWindowEvent を呼ぶことにより必要に応じて自動的にフラッシュされるので、ほとんどのク ライアントアプリケーションはこの関数を使う必要は無い。 サーバによって生成されたイベントは、ライブラリのイベントキューに入れら れることもある。

関数 XSync は出力バッファをフラッシュし、その後 X サーバが全てのイベントを受け取っ て処理するまで待つ。 生成された全てのエラーは、エラーハンドラを使って処理しなければならない。 Xlib が受け取るそれぞれのプロトコルエラーに対して、 XSync はクライアントのエラー処理ルーチンを呼び出す(11.8.2節参照)。 サーバによって生成された全てのイベントはライブラリのイベントキューに入 れられる。

最後になるが、 False を渡した場合、 XSync はキュー内のイベントを破棄しない。 True を渡した場合には、 XSync はキュー内のイベントを全て破棄する。 これには XSync が呼ばれる前にキューに入っていたものも含まれる。 クライアントアプリケーションが XSync を呼ぶ必要があることはほとんどない。

mode が QueuedAlready の場合、 XEventsQueued は既にイベントキュー内にある(そしてシステムコールを実行していない)イベ ントの数を返す。 mode が QueuedAfterFlush の場合には、 XEventsQueued は既にキューに入っているイベントの数が 0 個でなければ、その数を返す。 キューにイベントが入っていなければ、 XEventsQueued は出力バッファをフラッシュし、アプリケーションの接続の中からさらにイベ ントを読み出そうと試み、読み出せた数を返す。 mode が QueuedAfterReading の場合、 XEventsQueued は、既にキューに入っているイベントの数が 0 個でなければその数を返す。 キューにイベントが入っていなければ、 XEventsQueued は出力バッファをフラッシュせずに、アプリケーションの接続からイベントを 読み出そうと試み、読み出すことができた数を返す。

XEventsQueued は、既にキュー内にイベントがあれば、入出力なしで即座に復帰する。 mode が QueuedAfterFlush である XEventsQueued の動作は XPending と同一である。 mode が QueuedAlready である XEventsQueued は関数 XQLength と同一である。

関数 XPending は X サーバが受け取っているが、イベントキューからは削除されていないイ ベントの数を返す。 XPending は mode QueuedAfterFlush が指定されている XEventsQueued と同じである。  

関連項目

AllPlanes(3X11), XIfEvent(3X11), XNextEvent(3X11), XPutBackEvent(3X11)
Xlib - C Language X Interface


 

Index

名前
書式
引き数
説明
関連項目

This document was created by man2html, using the manual pages.
Time: 15:55:41 GMT, February 12, 2001