summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/kernel.cpp
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-14 12:20:36 +0900
committerAdam Malczewski <[email protected]>2026-06-14 12:20:36 +0900
commit18bcca4f820aca68c6f50c4d59b66d73f0d0970d (patch)
tree4832214e3e5af8f50c3c0056b8897c134ac95029 /packages/kernel/src/kernel.cpp
parenta044b44c936569db7e790546b81b4792c8e72058 (diff)
downloadunbox-18bcca4f820aca68c6f50c4d59b66d73f0d0970d.tar.gz
unbox-18bcca4f820aca68c6f50c4d59b66d73f0d0970d.zip
ext-stage-dock: interactive touch edge-swipe to open/close the dock
Drag from the left edge to open, or drag the open dock back to close; finger-following with a 50%-or-fling snap on release. New gesture::Controller pure core converges both input paths onto one RevealRecognizer: OPEN via the kernel touch bus (dock hidden at down), CLOSE via UiSurface::bind_drag (the visible dock captures the touch). Slide is value-driven (data-style-transform) and eased only when not dragging. Two real-seat fixes found via per-frame logging: - Flicker: RmlUi projects a drag event's coords into the DRAGGED element's transformed frame. We had drag:drag on the same <body> we translate by slide, so the reported x fed back into slide and ping-ponged every frame. Fix: body is a stationary drag handle; an inner .panel carries the transform. - Direction: drag_start now seeds the recognizer from the dock's current fraction (1 + slide/width) instead of a hardcoded value, so a drag opens or closes correctly from any state.
Diffstat (limited to 'packages/kernel/src/kernel.cpp')
0 files changed, 0 insertions, 0 deletions