typedef struct { int type; /* CirculateRequest */ unsigned long serial; /* 最後にサーバに処理されたリクエストの番号 */ Bool send_event; /* SendEvent リクエストから送られてきた場合に真 */ Display *display; /* イベントが読み出されたディスプレイ */ Window parent; Window window; int place; /* PlaceOnTop, PlaceOnBottom */ } XCirculateRequestEvent;
このイベントを受け取ったとき、構造体の内容は以下のように設定されている。
type メンバには、イベントの型を一意に識別する定数名が設定される。 例えば、X サーバがクライアントアプリケーションに GraphicsExpose イベントを通知するとき、X サーバは type メンバに GraphicsExpose を設定した XGraphicsExposeEvent 構造体を送る。 display メンバには、イベントが読み出されたディスプレイへのポインタが 設定される。 send_event メンバは、このイベント自身が SendEvent プロトコルリクエストから送られてきた場合に True が設定される。 serial メンバはプロトコルで通知されたシリアル番号を基に設定される。 ただし、最少桁の16ビットから完全32ビットの値に拡張される。 window メンバには、ツールキットのディスパッチャが最も便利に使えるウィ ンドウが設定される。
parent メンバには親ウィンドウが設定される。 window メンバには、再スタックされるサブウィンドウが設定される。 place メンバにはスタック順でウィンドウが入るべき新しい位置が設定される。 この値は PlaceOnTop か PlaceOnBottom のいずれかである。 PlaceOnTop の場合は、サブウィンドウが他の兄弟ウィンドウに対して一番上になることを 指定する。 PlaceOnBottom の場合は、サブウィンドウが他の兄弟ウィンドウに対して一番下になることを 指定する。