mirror of
https://github.com/ARMSX2/ARMSX3.git
synced 2026-08-24 16:58:52 -07:00
I left this out when porting the collapse toggle, on the grounds that ARMSX2 found docking alone did not answer the complaint. That was right about docking being insufficient and wrong about it being unnecessary -- the two cover different halves of the same problem. Collapse answers 'I cannot select what is under you in the first place'; docking answers 'I have selected it and now you are sitting on top of it'. Selecting a widget in the top half moves the panel to the bottom, and back again otherwise. Halves rather than real overlap maths, on purpose: a panel that darts about as rectangles graze each other is less predictable than one that is simply never on the side being worked on. The stored drag offset means 'away from the anchored edge', so it flips sign with the anchor. ARMSX3 anchors the panel top-centre and offsets downward, so while docked to the bottom a +dy the user had nudged in would otherwise push the panel straight off the screen. Note for testing: this is only visible when selecting a widget in the TOP half. Most on-screen controls live in the lower half, so selecting a face button correctly leaves the panel where it is -- which is indistinguishable from nothing happening. Use a shoulder button.