Constructor

Drawer

new Drawer(block, info)

An object that draws a block based on the given rendering information.

Parameter

block

Blockly.BlockSvg

The block to render.

Value must not be null.

info

Blockly.blockRendering.RenderInfo

An object containing all information needed to render this block.

Value must not be null.

Property

constants_

protected

non-null Blockly.blockRendering.ConstantProvider

The renderer's constant provider.

Methods

draw

package

draw()

Draw the block to the workspace. Here "drawing" means setting SVG path elements and moving fields, icons, and connections on the screen.

The pieces of the paths are pushed into arrays of "steps", which are then joined with spaces and set directly on the block. This guarantees that the steps are separated by spaces for improved readability, but isn't required.

drawBottom_

protected

drawBottom_()

Add steps for the bottom edge of a block, possibly including a notch for the next connection

drawInlineInput_

protected

drawInlineInput_(input)

Add steps for an inline input.

Parameter

input

Blockly.blockRendering.InlineInput

The information about the input to render.

Value must not be null.

drawInternals_

protected

drawInternals_()

Draw the internals of the block: inline inputs, fields, and icons. These do not depend on the outer path for placement.

drawJaggedEdge_

protected

drawJaggedEdge_(row)

Add steps for the jagged edge of a row on a collapsed block.

Parameter

row

Blockly.blockRendering.Row

The row to draw the side of.

Value must not be null.

drawLeft_

protected

drawLeft_()

Add steps for the left side of the block, which may include an output connection

drawOutline_

protected

drawOutline_()

Create the outline of the block. This is a single continuous path.

drawRightSideRow_

protected

drawRightSideRow_(row)

Add steps for the right side of a row that does not have value or statement input connections.

Parameter

row

Blockly.blockRendering.Row

The row to draw the side of.

Value must not be null.

drawStatementInput_

protected

drawStatementInput_(row)

Add steps for a statement input.

Parameter

row

Blockly.blockRendering.Row

The row that this input belongs to.

Value must not be null.

drawTop_

protected

drawTop_()

Add steps for the top corner of the block, taking into account details such as hats and rounded corners.

drawValueInput_

protected

drawValueInput_(row)

Add steps for an external value input, rendered as a notch in the side of the block.

Parameter

row

Blockly.blockRendering.Row

The row that this input belongs to.

Value must not be null.

hideHiddenIcons_

protected

hideHiddenIcons_()

Hide icons that were marked as hidden.

layoutField_

protected

layoutField_(fieldInfo)

Push a field or icon's new position to its SVG root.

Parameter

fieldInfo

(non-null Blockly.blockRendering.Icon or non-null Blockly.blockRendering.Field)

The rendering information for the field or icon.

positionExternalValueConnection_

protected

positionExternalValueConnection_(row)

Position the connection on an external value input, taking into account RTL and the small gap between the parent block and child block which lets the parent block's dark path show through.

Parameter

row

Blockly.blockRendering.Row

The row that the connection is on.

Value must not be null.

positionInlineInputConnection_

protected

positionInlineInputConnection_(input)

Position the connection on an inline value input, taking into account RTL and the small gap between the parent block and child block which lets the parent block's dark path show through.

Parameter

input

Blockly.blockRendering.InlineInput

The information about the input that the connection is on.

positionNextConnection_

protected

positionNextConnection_()

Position the next connection on a block.

positionOutputConnection_

protected

positionOutputConnection_()

Position the output connection on a block.

positionPreviousConnection_

protected

positionPreviousConnection_()

Position the previous connection on a block.

positionStatementInputConnection_

protected

positionStatementInputConnection_(row)

Position the connection on a statement input, taking into account RTL and the small gap between the parent block and child block which lets the parent block's dark path show through.

Parameter

row

Blockly.blockRendering.Row

The row that the connection is on.

Value must not be null.

recordSizeOnBlock_

protected

recordSizeOnBlock_()

Save sizing information back to the block Most of the rendering information can be thrown away at the end of the render. Anything that needs to be kept around should be set in this function.