From e2f12f826232e587e5aa07b28475d51029c7859f Mon Sep 17 00:00:00 2001 From: kozbial Date: Wed, 31 Jul 2019 20:12:51 -0700 Subject: [PATCH] Fixing edge case for centerline computation for bottom row elements. --- .../block_render_info.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/core/renderers/block_rendering_rewrite/block_render_info.js b/core/renderers/block_rendering_rewrite/block_render_info.js index 5126b1e6b..b9de72069 100644 --- a/core/renderers/block_rendering_rewrite/block_render_info.js +++ b/core/renderers/block_rendering_rewrite/block_render_info.js @@ -659,8 +659,16 @@ Blockly.blockRendering.RenderInfo.prototype.finalize_ = function() { for (var r = 0; r < this.rows.length; r++) { var row = this.rows[r]; row.yPos = yCursor; - var xCursor = 0; + yCursor += row.height; + // Add padding to the bottom row if block height is less than minimum + if (row == this.bottomRow && + yCursor < Blockly.blockRendering.constants.MIN_BLOCK_HEIGHT) { + this.bottomRow.height += + Blockly.blockRendering.constants.MIN_BLOCK_HEIGHT - yCursor; + yCursor = Blockly.blockRendering.constants.MIN_BLOCK_HEIGHT; + } if (!(row.isSpacer())) { + var xCursor = 0; for (var e = 0; e < row.elements.length; e++) { var elem = row.elements[e]; elem.xPos = xCursor; @@ -668,15 +676,8 @@ Blockly.blockRendering.RenderInfo.prototype.finalize_ = function() { xCursor += elem.width; } } - yCursor += row.height; } this.blockBottom = yCursor; - // Add padding to the bottom row if block height is less than minimum - if (yCursor < Blockly.blockRendering.constants.MIN_BLOCK_HEIGHT) { - this.bottomRow.height += Blockly.blockRendering.constants.MIN_BLOCK_HEIGHT - yCursor; - yCursor = Blockly.blockRendering.constants.MIN_BLOCK_HEIGHT; - } - this.height = yCursor; };