Other Alias
XGraphicsExposeEvent構造体
GraphicsExpose イベントと NoExpose イベントに対する構造体の内容を示す。
typedef struct { int type; unsigned long serial; Bool send_event; Display *display; Drawable drawable; int x, y; int width, height; int count; int major_code; int minor_code; } XGraphicsExposeEvent;
typedef struct { int type; unsigned long serial; Bool send_event; Display *display; Drawable drawable; int major_code; int minor_code; } XNoExposeEvent;
これらのイベントを受け取ったとき、構造体の内容は以下のように設定され ている。
type メンバには、イベントの型を一意に識別する定数名が設定される。 例えば、X サーバがクライアントアプリケーションに GraphicsExpose イベントを通知するとき、X サーバは type メンバに GraphicsExpose を設定した XGraphicsExposeEvent 構造体を送る。 display メンバには、イベントが読み出されたディスプレイへのポインタが 設定される。 send_event メンバは、このイベント自身が SendEvent プロトコルリクエストから送られてきた場合に True が設定される。 serial メンバはプロトコルで通知されたシリアル番号を基に設定される。 ただし、最少桁の16ビットから完全32ビットの値に拡張される。 window メンバには、ツールキットのディスパッチャが最も便利に使える ウィンドウが設定される。
2つの構造体は共通のメンバを持つ(drawable, major_code, and minor_code)。 drawable メンバには、グラフィックスリクエストが実行された描画対象領域 のドロウアブルが設定される。 major_code メンバには、クライアントが実行したグラフィックスリクエスト が設定される。この値は X_CopyArea か X_CopyPlane のいずれかである。 X_CopyArea の場合は、 XCopyArea がこのリクエストを行った。 X_CopyPlane の場合には、 XCopyPlane がこのリクエストを行った。 これらの定数は <X11/Xproto.h> 内で定義されている。 minor_code member は major_code member と同様に、クライアントによって どのグラフィックスリクエストが行われたのかを示す。 しかし、minor_code メンバはコア X プロトコルでは定義されていない。この ような場合には 0 となるが、このメンバは拡張によって使うことができる。
XGraphicsExposeEvent 構造体は上記以外のメンバをもつ(x, y, width, height, count)。 x, y メンバは、ドロウアブルの原点に対する相対座標であり、長方形の 左上隅を示す。 width, height メンバには長方形の大きさ(広さ)が設定される。 cound メンバには、後に続く GraphicsExpose イベントの数が設定される。 count が 0 の場合には、このウィンドウに対してはそれ以上の GraphicsExpose イベントは続いて起こらない。 しかし、count が 0 でない場合は、このウィンドウに対して少なくともその 数(それ以上のこともある)の GraphicsExpose イベントが続いて起こる。