現在の実行において、
イベント構造は固定イベントバッファ(25要素の整数ベクトル)から受け、
同じバッファが全てのイベントに関して再使用される。
イベント構造は、同時に2つ以上のイベントを参照する必要があるとき、
コピーされなければならない。
window-main-loopは、Xserverから送られる全てのイベントを
捕獲し、イベントが発生したwindowに配るための関数である。
event [変数]
-
- もっとも最近のイベント構造を持つ25要素の整数ベクトル
next-event [関数]
-
-
eventの中にイベント構造を蓄積し、
もし1つでも未決定のイベントがあればそれを返し、
なければNILを返す。
event-type event [関数]
-
-
eventのイベント型を表現するキーワードsymbol返す。
イベント型キーワードは、
:KeyPress (2),
:KeyRelease (3),
:ButtonPress (4),
:ButtonRelease (5),
:MotionNotify (6),
:EnterNotify (7),
:LeaveNotify (8),
:FocusIn (9),
:FocusOut (0),
:KeymapNotify (1),
:Expose (12),
:GraphicsExpose (13),
:NoExpose (14),
:VisibilityNotify (15),
:CreateNotify (16),
:DestroyNotify (17),
:UnmapNotify (18),
:MapNotify (19),
:MapRequest (20),
:ConfigureNotify (22),
:ConfigureRequest (23),
:GravityNotify (24),
:ResizeRequest (25),
:CirculateNotify (26),
:CirculateRequest (27),
:PropertyNotify (28),
:SelectionClear (29),
:SelectionRequest (30),
:SelectionNotify (31),
:ColormapNotify (32),
:ClientMessage (33),
:MappingNotify (34),
:LASTEvent (35)である。
event-window event [関数]
-
-
eventが発生したwindowオブジェクトを返す。
event-x event [関数]
-
-
eventからそのイベントが発生したx座標を抜き出す。
(すなわち、window内におけるマウスポインタの横方向の相対的な位置)
event-y event [関数]
-
-
eventからそのイベントが発生したy座標を抜き出す。
(すなわち、window内におけるマウスポインタの縦方向の相対的な位置)
event-width event [関数]
-
-
:configureNotifyイベントに幅パラメータを表現する
eventの8つの要素を返す。
event-height event [関数]
-
-
:configureNotifyイベントに高さパラメータを表現する
eventの8つの要素を返す。
event-state event [関数]
-
-
キーの状態で変更されたマウスボタンを表現するキーワードのリストを返す。
キーワードは、:shift, :control, :meta, :left, :middleと:rightである。
例えば、もしシフトキーが押されている状態で左のボタンが押されたならば、
(:shift :left)が返される。
display-events [関数]
-
-
x:nexteventによって捕獲された全てのxwindowイベントを表示する。
Control-Cは、この関数を停止させる唯一の方法である。
window-main-loop &rest forms [マクロ]
-
-
Xeventを受け、イベントが発生したwindowオブジェクトにそれを
配る。
イベントの型に沿って、
:KeyPress, :KeyRelease, :ButtonPress,
:ButtonRelease, :MotionNotify,
:EnterNotify, :LeaveNotify
や :ConfigureNotifyと名付けられた
windowクラスのメソッドがeventを引数として
呼び出される。
もし、formsが与えられたならば、
到着したイベントがチェックされるとき毎にそれらを評価する。
window-main-thread [関数]
-
-
スレッドであることを除いてwindow-main-loopと同じことをする。
window-main-threadは、Solaris2でのみ実現されている。
window-main-threadは、read-eval-printが入力されない
エラーハンドラをインストールしている。
エラー情報を表示した後、そのイベントは処理を続ける。
2016-04-05