mirror of
https://github.com/storytold/craft-libs.git
synced 2026-10-31 07:39:23 +00:00
* 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