diff --git a/core/block_svg.js b/core/block_svg.js index e5c55a457..1d1d57835 100644 --- a/core/block_svg.js +++ b/core/block_svg.js @@ -156,16 +156,6 @@ Blockly.BlockSvg.INLINE = -1; */ Blockly.BlockSvg.COLLAPSED_WARNING_ID = 'TEMP_COLLAPSED_WARNING_'; -// Leftover UI constants from block_render_svg.js. - -/** - * Do blocks with no previous or output connections have a 'hat' on top? - * @const - * @package - */ -// TODO (#3142): Remove. -Blockly.BlockSvg.START_HAT = false; - /** * An optional method called when a mutator dialog is first opened. * This function must create and initialize a top-level block for the mutator diff --git a/core/renderers/common/constants.js b/core/renderers/common/constants.js index 4956188ea..35c3f3d7f 100644 --- a/core/renderers/common/constants.js +++ b/core/renderers/common/constants.js @@ -192,6 +192,13 @@ Blockly.blockRendering.ConstantProvider = function() { */ this.MAX_BOTTOM_WIDTH = 66.5; + /** + * Whether to add a 'hat' on top of all blocks with no previous or output + * connections. Can be overridden by 'hat' property on Theme.BlockStyle. + * @type {boolean} + */ + this.ADD_START_HATS = false; + /** * Height of the top hat. * @private diff --git a/core/renderers/common/info.js b/core/renderers/common/info.js index 460cee391..94ac6b8ad 100644 --- a/core/renderers/common/info.js +++ b/core/renderers/common/info.js @@ -262,8 +262,8 @@ Blockly.blockRendering.RenderInfo.prototype.createRows_ = function() { */ Blockly.blockRendering.RenderInfo.prototype.populateTopRow_ = function() { var hasPrevious = !!this.block_.previousConnection; - var hasHat = (this.block_.hat ? - this.block_.hat === 'cap' : Blockly.BlockSvg.START_HAT) && + var hasHat = (typeof this.block_.hat !== 'undefined' ? + this.block_.hat === 'cap' : this.constants_.ADD_START_HATS) && !this.outputConnection && !hasPrevious; var leftSquareCorner = this.topRow.hasLeftSquareCorner(this.block_); diff --git a/core/renderers/measurables/rows.js b/core/renderers/measurables/rows.js index 1cf09ddcf..6a86f3fa4 100644 --- a/core/renderers/measurables/rows.js +++ b/core/renderers/measurables/rows.js @@ -290,8 +290,9 @@ Blockly.utils.object.inherits(Blockly.blockRendering.TopRow, * @return {boolean} Whether or not the top row has a left square corner. */ Blockly.blockRendering.TopRow.prototype.hasLeftSquareCorner = function(block) { - var hasHat = (block.hat ? block.hat === 'cap' : Blockly.BlockSvg.START_HAT) && - !block.outputConnection && !block.previousConnection; + var hasHat = (typeof block.hat !== 'undefined' ? + block.hat === 'cap' : this.constants_.ADD_START_HATS) && + !block.outputConnection && !block.previousConnection; var prevBlock = block.getPreviousBlock(); return !!block.outputConnection ||