From: Ian Jackson Date: Thu, 3 Jun 2021 00:10:32 +0000 (+0100) Subject: script: Sort drag piece list X-Git-Tag: otter-0.7.0~75 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=5846d189aaeaaada97ff9ce1f5b1e18f6ad08b8e;p=otter.git script: Sort drag piece list Signed-off-by: Ian Jackson --- diff --git a/templates/script.ts b/templates/script.ts index e70f785b..150c28f6 100644 --- a/templates/script.ts +++ b/templates/script.ts @@ -1196,6 +1196,7 @@ function drag_mousemove(e: MouseEvent) { if (need_redisplay_ancillaries) redisplay_ancillaries(tpiece, tp); } if (!(dragging & DRAGGING.RAISED)) { + sort_drag_pieces(); for (let dp of drag_pieces) { let piece = dp.piece; let p = pieces[piece]!; @@ -1216,6 +1217,13 @@ function drag_mousemove(e: MouseEvent) { } return ddr2; } +function sort_drag_pieces() { + function sort_with(a: DragInfo, b: DragInfo): number { + return pieceid_z_cmp(a.piece, + b.piece); + } + drag_pieces.sort(sort_with); +} function drag_mouseup(e: MouseEvent) { console.log('mouseup', dragging); @@ -1226,6 +1234,7 @@ function drag_mouseup(e: MouseEvent) { function drag_end() { if (dragging == DRAGGING.MAYBE_UNGRAB || (dragging & ~DRAGGING.RAISED) == (DRAGGING.MAYBE_GRAB | DRAGGING.YES)) { + sort_drag_pieces(); for (let dp of drag_pieces) { let piece = dp.piece; let p = pieces[piece]!;