XGraphicsExposeEvent(3) GraphicsExpose イベント構造体、NoExpose イベント構造体

Other Alias

XNoExposeEvent

構造体

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_CopyAreaX_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 イベントが続いて起こる。