From f7c4b1e4b2b6f2d78d159feaa9ec6ff29f5d7f31 Mon Sep 17 00:00:00 2001 From: David Evans Date: Sat, 28 Oct 2017 13:49:09 +0100 Subject: [PATCH] Align left edge of boxes as far right as possible [#9] --- screenshots/MultilineText.png | Bin 34260 -> 33788 bytes scripts/sequence/Renderer.js | 49 +++++++++++++++++++++++++--------- 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/screenshots/MultilineText.png b/screenshots/MultilineText.png index 1b98de26a4a1653d915efc54738391f24e1fec09..226d640cc0fbf359fc2f2a7d847e306b70a3199a 100644 GIT binary patch literal 33788 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%0AO@fUciR>QNqz*V$^*1f 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 literal 34260 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 X3^AR)nQ+n+dQ?kI|60LSn}`1mVe%F4 diff --git a/scripts/sequence/Renderer.js b/scripts/sequence/Renderer.js index 5e107ea..7256694 100644 --- a/scripts/sequence/Renderer.js +++ b/scripts/sequence/Renderer.js @@ -696,11 +696,46 @@ define([ this.renderAction[stage.type](stage); } + positionAgents() { + // Map guarantees insertion-order iteration + const orderedInfos = []; + this.agentInfos.forEach((agentInfo) => { + let currentX = 0; + agentInfo.separations.forEach((dist, otherAgent) => { + const otherAgentInfo = this.agentInfos.get(otherAgent); + if(otherAgentInfo.index < agentInfo.index) { + currentX = Math.max(currentX, otherAgentInfo.x + dist); + } + }); + agentInfo.x = currentX; + this.minX = Math.min(this.minX, currentX); + this.maxX = Math.max(this.maxX, currentX); + orderedInfos.push(agentInfo); + }); + + let previousInfo = {x: 0}; + orderedInfos.reverse().forEach((agentInfo) => { + let currentX = previousInfo.x; + previousInfo = agentInfo; + if(!agentInfo.anchorRight) { + return; + } + agentInfo.separations.forEach((dist, otherAgent) => { + const otherAgentInfo = this.agentInfos.get(otherAgent); + if(otherAgentInfo.index > agentInfo.index) { + currentX = Math.min(currentX, otherAgentInfo.x - dist); + } + }); + agentInfo.x = currentX; + }); + } + buildAgentInfos(agents, stages) { this.agentInfos = new Map(); agents.forEach((agent, index) => { this.agentInfos.set(agent, { label: agent, + anchorRight: agent.endsWith('['), index, x: null, latestYStart: null, @@ -711,19 +746,7 @@ define([ this.visibleAgents = ['[', ']']; traverse(stages, this.separationTraversalFns); - agents.forEach((agent) => { - const agentInfo = this.agentInfos.get(agent); - let currentX = 0; - agentInfo.separations.forEach((dist, otherAgent) => { - const otherAgentInfo = this.agentInfos.get(otherAgent); - if(otherAgentInfo.x !== null) { - currentX = Math.max(currentX, otherAgentInfo.x + dist); - } - }); - agentInfo.x = currentX; - this.minX = Math.min(this.minX, currentX); - this.maxX = Math.max(this.maxX, currentX); - }); + this.positionAgents(); } updateBounds(stagesHeight) {