Files
craft-libs/docs
aiongg 869928d2a0 docking: app drags in panel bodies reach other native windows (#302)
* docking: route app drags in panel bodies across native windows

While an app's drag that began in a panel body lasts, the owner window's
input hook sends pointer moves over another of the app's windows to that
window in its coordinates (PointerMoved, PointerGone, and the primary
release), and the owner sees the pointer gone there. Drop sites in the
target window see hover and release with no app changes.

* docking: wrap the body-drag docs

* docking: a stopped body-drag route takes back the events it queued

* docking: route only body drags that carry a payload, and hold the owner's release

A body drag reaches other windows only with an egui drag-and-drop
payload or when the app calls docking::route_app_drag that frame or the
last; sliders, scrollbars and other plain drags keep the owner's
pointer. When the release goes to another window, the owner's own
release waits for its next input, so a target drawn before the owner
reads the release while egui's payload still exists. A stop never
withdraws that held release.

* docking: routed and held events come before a window's own input

* docking: a held release waits for the main window's next pass, with the pointer events after it

* docking: the owner sees the pointer go in the pass its release is held
2026-10-24 20:36:23 -04:00
..
2026-10-20 03:24:45 +00:00