XCrossingEvent(3X11)

名前
XCrossingEvent - EnterNotify, LeaveNotify イベント構造体

構造体
イベントと イベントに対する構造体の内容を示す。

typedef struct {
    int type;
    unsigned long serial;
    Bool send_event;
    Display *display;
    Window window;
    Window root;
    Window subwindow;
    Time time;
    int x, y;
    int x_root, y_root;
    int mode;
    int detail;

    Bool same_screen;
    Bool focus;
    unsigned int state; } XCrossingEvent; typedef XCrossingEvent XEnterWindowEvent; typedef XCrossingEvent XLeaveWindowEvent;

このイベントを受け取ったとき、構造体のメンバは以下のように設定されてい る。

type メンバはイベントの型を一意に識別する定数の名前である。 例えば、X サーバがクライアントアプリケーションに イベントを通知するとき、X サーバは type メンバに を設定した 構造体を送る。 display メンバはイベントが読み出されたディスプレイへのポインタである。 send_event メンバには、このイベントが プロトコルリクエストから送られてきたときに が設定される。 serial メンバはプロトコルで通知されるシリアル番号を基に設定される。 ただし、最少桁の16ビットから完全な32ビットの値に拡張される。 window メンバには、ツールキットのディスパッチャにとって最も便利なウィ ンドウが設定される。

window メンバには や イベントが発生したウィンドウが設定され、イベントウィンドウとして参照 される。 これはXサーバがイベントを通知するために使うウィンドウであり、イベント が発生したルートウィンドウと関係する。 root メンバには、イベントが発生したスクリーンのルートウィンドウが 設定される。

イベントに対しては、ポインタの初期位置がイベントウィンドウの子ウィンド ウに入っていれば、subwindow メンバにはその子ウィンドウが設定される。 そうでない場合には、X サーバは subwindow メンバに を設定する。 に対しては、ポインタの初期位置がイベントウィンドウの子ウィンドウに入っ ていれば、subwindow メンバにはその子ウィンドウが設定され、そうでない 場合には が設定される。

time メンバには、イベントが発生した時刻が設定される。この時刻はミリ 秒単位で表される。 x, y メンバにはイベントウィンドウ内でのポインタ位置の座標が設定される。 この位置は常にポインタの最終位置であり、初期位置ではない。 イベントウィンドウがルートウィンドウと同じスクリーン上にある場合、x, y メンバはポインタ座標であり、イベントウィンドウの原点に対する相対座標が 設定される。 そうでない場合には、x, y には 0 が設定される。 x_root, y_root メンバには、イベント時刻におけるポインタの座標が設定 される。 これはルートウィンドウの原点に対する相対座標で表される。

same_screen メンバはイベントウィンドウとルートウィンドウが同じスクリー ン上にあるかどうかを示すもので、 か が設定される。 の場合は、イベントウィンドウとルートウィンドウは同じスクリーン上にある。 の場合は、イベントウィンドウとルートウィンドウは異なるスクリーン上にあ る。

focus メンバは、イベントウィンドウがフォーカスウィンドウやその下位ウィ ンドウであるかどうかを示す。 X サーバは、このメンバを か に設定する。 の場合、イベントウィンドウはフォーカスウィンドウかその下位ウィンドウで ある。 の場合、イベントウィンドウはフォーカスウィンドウやその下位ウィンドウで はない。

state メンバは、イベント直前のポインタのボタンやモディファイアキーの状 態を示す。 X サーバはこのメンバに、次に示すボタンマスク値やモディファイアキーマス ク値のうち1つ以上についてのビットごとの論理和を設定する:

mode メンバは、イベントが通常のイベント、 グラブが有効になった時の疑似移動(pseudo-motion)イベント、 グラブが無効になった時の疑似移動(pseudo-motion)イベントのいずれである かを示す。 X サーバはこのメンバに のいずれかを設定する。

detail メンバは通知の詳細を示すもので、 のいずれかに設定される。

関連項目
XAnyEvent(3X11), XButtonEvent(3X11), XCreateWindowEvent(3X11), XCirculateEvent(3X11), XCirculateRequestEvent(3X11), XColormapEvent(3X11), XConfigureEvent(3X11), XConfigureRequestEvent(3X11), XDestroyWindowEvent(3X11), XErrorEvent(3X11), XExposeEvent(3X11), XFocusChangeEvent(3X11), XGraphicsExposeEvent(3X11), XGravityEvent(3X11), XKeymapEvent(3X11), XMapEvent(3X11), XMapRequestEvent(3X11), XPropertyEvent(3X11), XReparentEvent(3X11), XResizeRequestEvent(3X11), XSelectionClearEvent(3X11), XSelectionEvent(3X11), XSelectionRequestEvent(3X11), XUnmapEvent(3X11), XVisibilityEvent(3X11)
Xlib - C Language X Interface