The most recent move event.
How far the pointer has moved from the position at the start of the drag, in pixel units.
Finish a block drag and put the block back on the workspace.
The mouseup/touchend event.
How far the pointer has moved from the position at the start of the drag, in pixel units.
Start dragging a block. This includes moving it to the drag surface.
How far the pointer has moved from the position at mouse down, in pixel units.
Whether or not to heal the stack after disconnecting.
Execute a step of block dragging, based on the given event. Update the display accordingly.