XFocusChangeEvent - FocusIn, FocusOut
イベント構造体
構造体¶
FocusIn イベントと
FocusOut
イベントに対する構造体の内容を以下に示す。
typedef struct {
int type;
unsigned long serial;
Bool send_event;
Display *display;
Window window;
int mode;
int detail;
} XFocusChangeEvent;
typedef XFocusChangeEvent XFocusInEvent;
typedef XFocusChangeEvent XFocusOutEvent;
クライアントがこのイベントを受け取ったとき、構造体のメンバは以下のよう
に設定される。
type
メンバはイベントの型を一意に識別するための定数名が設定される。
例えば、X
サーバがクライアントアプリケーションに
GraphicsExpose
イベントを通知するとき、X
サーバは type メンバに
GraphicsExpose を設定して
XGraphicsExposeEvent
構造体を送る。 display
メンバにはイベントが読み出されたディスプレイへのポインタが
設定される。 send_event
メンバは、そのイベントが
SendEvent
プロトコルリクエストから送られてきた場合に
True に設定される。 serial
メンバはプロトコルで通知されたシリアル番号から設定されるが、
16ビットの最少桁ビットから完全32なビットの値に拡張される。
window
メンバにはツールキットのディスパッチャが最も有効に利用できるウィ
ンドウが設定される。
window メンバには
FocusIn か
FocusOut
が生成されたウィンドウが設定される。
これは X
サーバがイベントを通知するウィンドウである。
mode
メンバはイベントが通常のフォーカスイベントなのか、
グラブされている間のフォーカスイベントなのか、
グラブがアクティブになったときのフォーカスイベントなのか、
あるいはグラブが非アクティブになったときのフォーカスイベントなのかを示
す。 X サーバは mode
メンバを
NotifyNormal,
NotifyWhileGrabbed,
NotifyGrab,
NotifyUngrab
のいずれかに設定する。
ウィンドウのアンマップによって起こる全ての
FocusOut イベントは
UnmapNotify
イベントより後に生成される。しかし、生成された
EnterNotify,
LeaveNotify,
VisibilityNotify,
Expose
イベントに対する
FocusOut
イベントの順序についての規定は
X
プロトコルにはない。
イベントモードに従って、detail
メンバが通知の詳細を示すために設定さ
れる。detail メンバには
NotifyAncestor,
NotifyVirtual,
NotifyInferior,
NotifyNonlinear,
NotifyNonlinearVirtual,
NotifyPointer,
NotifyPointerRoot,
NotifyDetailNone
のいずれかが設定される。
関連項目¶
XAnyEvent(3X11), XButtonEvent(3X11), XCreateWindowEvent(3X11),
XCirculateEvent(3X11), XCirculateRequestEvent(3X11), XColormapEvent(3X11),
XConfigureEvent(3X11), XConfigureRequestEvent(3X11), XCrossingEvent(3X11),
XDestroyWindowEvent(3X11), XErrorEvent(3X11), XExposeEvent(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