From 30a49c32255200261cfba9bce52976c5f749301e Mon Sep 17 00:00:00 2001 From: Sam El-Husseini Date: Fri, 22 Nov 2019 13:53:49 -0800 Subject: [PATCH] Statement inputs have minimum widths. (#3463) --- core/renderers/common/info.js | 2 +- core/renderers/zelos/constants.js | 2 +- core/renderers/zelos/info.js | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/core/renderers/common/info.js b/core/renderers/common/info.js index 6a41b470d..92a896f58 100644 --- a/core/renderers/common/info.js +++ b/core/renderers/common/info.js @@ -184,9 +184,9 @@ Blockly.blockRendering.RenderInfo.prototype.getRenderer = function() { Blockly.blockRendering.RenderInfo.prototype.measure = function() { this.createRows_(); this.addElemSpacing_(); + this.addRowSpacing_(); this.computeBounds_(); this.alignRowElements_(); - this.addRowSpacing_(); this.finalize_(); }; diff --git a/core/renderers/zelos/constants.js b/core/renderers/zelos/constants.js index c6e2a415a..03115ca63 100644 --- a/core/renderers/zelos/constants.js +++ b/core/renderers/zelos/constants.js @@ -115,7 +115,7 @@ Blockly.zelos.ConstantProvider = function() { * Minimum statement input spacer width. * @type {number} */ - this.STATEMENT_INPUT_SPACER_MIN_WIDTH = 30 * this.GRID_UNIT; + this.STATEMENT_INPUT_SPACER_MIN_WIDTH = 34.5 * this.GRID_UNIT; /** * @override diff --git a/core/renderers/zelos/info.js b/core/renderers/zelos/info.js index 4a124580f..9b906e659 100644 --- a/core/renderers/zelos/info.js +++ b/core/renderers/zelos/info.js @@ -120,6 +120,12 @@ Blockly.zelos.RenderInfo.prototype.getInRowSpacing_ = function(prev, next) { return this.constants_.NO_PADDING; } } + if (!prev) { + // Statement input padding. + if (next && Blockly.blockRendering.Types.isStatementInput(next)) { + return this.constants_.STATEMENT_INPUT_PADDING_LEFT; + } + } // Spacing between a rounded corner and a previous or next connection. if (prev && Blockly.blockRendering.Types.isLeftRoundedCorner(prev) && next) { if (Blockly.blockRendering.Types.isPreviousConnection(next) || @@ -141,13 +147,13 @@ Blockly.zelos.RenderInfo.prototype.makeSpacerRow_ = function(prev, next) { new Blockly.zelos.BeforeStatementSpacerRow( this.constants_, Math.max(height, this.constants_.INSIDE_CORNERS.rightHeight || 0), - width); + Math.max(width, this.constants_.STATEMENT_INPUT_SPACER_MIN_WIDTH)); } else if (Blockly.blockRendering.Types.isInputRow(prev) && prev.hasStatement) { var spacer = new Blockly.zelos.AfterStatementSpacerRow( this.constants_, Math.max(height, this.constants_.INSIDE_CORNERS.rightHeight || 0), - width); + Math.max(width, this.constants_.STATEMENT_INPUT_SPACER_MIN_WIDTH)); } else { var spacer = new Blockly.blockRendering.SpacerRow( this.constants_, height, width);