let the hover follow a view that scrolls under a still cursor
Only the selection box was refreshed while the camera panned, so the ghost, its validity, the resolved tunnel end and the deconstruct hover all kept the tile of the last mouse move. Give the whole hover update one entry point and run it from the pan step as well, for a cursor that is over the world. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ne3mejABZoLWKLh8fgpM3x
This commit is contained in:
@@ -226,6 +226,12 @@ private:
|
||||
// which is the only case that goes on to start a box drag.
|
||||
bool selectAtPoint(QPoint tile, QVector2D worldPos, bool additive);
|
||||
void selectInBox(bool additive);
|
||||
// Re-resolves everything that follows from where the cursor points into the world:
|
||||
// the ghost tile and its validity, the tunnel ends, a running belt or box drag, the
|
||||
// deconstruct hover. Called for every mouse move, and once per frame while the view
|
||||
// scrolls under a cursor that has not moved, since that changes the world position
|
||||
// the cursor points at just as moving the mouse does (REQ-BLD-GHOST).
|
||||
void updateHoverAt(QPoint cursorWidgetPos);
|
||||
// Moves the running box drag's far corner to the world position under
|
||||
// `cursorWidgetPos` and, once the cursor sits far enough from where the anchor is
|
||||
// drawn, promotes the gesture from a click to a drag. Every corner update goes
|
||||
|
||||
Reference in New Issue
Block a user