USING: kernel namespaces arrays sequences combinators math.vectors x11.xlib x11.constants mortar slot-accessors x x.gc geom.rect ; IN: x.widgets.wm.frame.drag SYMBOL: { "dpy" "gc" "frame" "event" "push" "posn" } accessors define-independent-class { "next-event" !( wfdm -- wfdm ) [ dup $dpy over $event <-- next-event 2drop ] "event-type" !( wfdm -- wfdm event-type ) [ dup $event XAnyEvent-type ] "drag-offset" !( wfdm -- offset ) [ dup $posn swap $push v- ] "update-posn" !( wfd -- wfd ) [ dup $event XMotionEvent-root-position >>posn ] } add-methods