Skip to main content

Class: Drawer

Defined in: packages/blockly/core/renderers/geras/drawer.ts:23

An object that draws a block based on the given rendering information, customized for the geras renderer.

Extends

Properties index

PropertyDescription
block_-
info_-
topLeft_-
outlinePath_-
inlinePath_-
highlighter_-
constants_-

Methods index

MethodDescription
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.
drawOutline_Create the outline of the block. This is a single continuous path.
drawInternals_Draw the internals of the block: inline inputs, fields, and icons. These do not depend on the outer path for placement.
layoutField_Push a field or icon's new position to its SVG root.
positionPreviousConnection_Position the previous connection on a block.
positionOutputConnection_Position the output connection on a block.
updateConnectionHighlightsUpdates the path object to reflect which connections on the block are highlighted.
drawConnectionHighlightPathReturns a path to highlight the given connection.
drawDraw the block to the workspace. Here "drawing" means setting SVG path elements and moving fields, icons, and connections on the screen.
drawTop_Add steps for the top corner of the block, taking into account details such as hats and rounded corners.
drawJaggedEdge_Add steps for the jagged edge of a row on a collapsed block.
drawValueInput_Add steps for an external value input, rendered as a notch in the side of the block.
drawStatementInput_Add steps for a statement input.
drawRightSideRow_Add steps for the right side of a row that does not have value or statement input connections.
drawBottom_Add steps for the bottom edge of a block, possibly including a notch for the next connection.
drawLeft_Add steps for the left side of the block, which may include an output connection
drawInlineInput_Add steps for an inline input.
positionInlineInputConnection_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.
positionStatementInputConnection_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.
positionExternalValueConnection_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.
positionNextConnection_Position the next connection on a block.

Constructors

Constructor

new Drawer(block, info): Drawer;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:33

Parameters

ParameterTypeDescription
blockBlockSvgThe block to render.
infoRenderInfoAn object containing all information needed to render this block.

Returns

Drawer

Overrides

Drawer.constructor

Properties

block_

block_: BlockSvg;

Defined in: packages/blockly/core/renderers/common/drawer.ts:28

Inherited from

Drawer.block_


info_

info_: RenderInfo;

Defined in: packages/blockly/core/renderers/common/drawer.ts:29

Inherited from

Drawer.info_


topLeft_

topLeft_: Coordinate;

Defined in: packages/blockly/core/renderers/common/drawer.ts:30

Inherited from

Drawer.topLeft_


outlinePath_

outlinePath_: string = '';

Defined in: packages/blockly/core/renderers/common/drawer.ts:31

Inherited from

Drawer.outlinePath_


inlinePath_

inlinePath_: string = '';

Defined in: packages/blockly/core/renderers/common/drawer.ts:32

Inherited from

Drawer.inlinePath_


highlighter_

highlighter_: Highlighter;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:24


constants_

constants_: ConstantProvider;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:26

Overrides

Drawer.constants_

Methods

recordSizeOnBlock_()

protected recordSizeOnBlock_(): void;

Defined in: packages/blockly/core/renderers/common/drawer.ts:76

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.

Returns

void

Inherited from

Drawer.recordSizeOnBlock_


drawOutline_()

protected drawOutline_(): void;

Defined in: packages/blockly/core/renderers/common/drawer.ts:85

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

Returns

void

Inherited from

Drawer.drawOutline_


drawInternals_()

protected drawInternals_(): void;

Defined in: packages/blockly/core/renderers/common/drawer.ts:265

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

Returns

void

Inherited from

Drawer.drawInternals_


layoutField_()

protected layoutField_(fieldInfo): void;

Defined in: packages/blockly/core/renderers/common/drawer.ts:282

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

Parameters

ParameterTypeDescription
fieldInfo| Icon | FieldThe rendering information for the field or icon.

Returns

void

Inherited from

Drawer.layoutField_


positionPreviousConnection_()

protected positionPreviousConnection_(): void;

Defined in: packages/blockly/core/renderers/common/drawer.ts:398

Position the previous connection on a block.

Returns

void

Inherited from

Drawer.positionPreviousConnection_


positionOutputConnection_()

protected positionOutputConnection_(): void;

Defined in: packages/blockly/core/renderers/common/drawer.ts:420

Position the output connection on a block.

Returns

void

Inherited from

Drawer.positionOutputConnection_


updateConnectionHighlights()

protected updateConnectionHighlights(): void;

Defined in: packages/blockly/core/renderers/common/drawer.ts:436

Updates the path object to reflect which connections on the block are highlighted.

Returns

void

Inherited from

Drawer.updateConnectionHighlights


drawConnectionHighlightPath()

drawConnectionHighlightPath(measurable): SVGElement | undefined;

Defined in: packages/blockly/core/renderers/common/drawer.ts:454

Returns a path to highlight the given connection.

Parameters

ParameterType
measurableConnection

Returns

SVGElement | undefined

Inherited from

Drawer.drawConnectionHighlightPath


draw()

draw(): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:39

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.

Returns

void

Overrides

Drawer.draw


drawTop_()

drawTop_(): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:53

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

Returns

void

Overrides

Drawer.drawTop_


drawJaggedEdge_()

drawJaggedEdge_(row): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:60

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

Parameters

ParameterTypeDescription
rowRowThe row to draw the side of.

Returns

void

Overrides

Drawer.drawJaggedEdge_


drawValueInput_()

drawValueInput_(row): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:66

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

Parameters

ParameterTypeDescription
rowRowThe row that this input belongs to.

Returns

void

Overrides

Drawer.drawValueInput_


drawStatementInput_()

drawStatementInput_(row): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:72

Add steps for a statement input.

Parameters

ParameterTypeDescription
rowRowThe row that this input belongs to.

Returns

void

Overrides

Drawer.drawStatementInput_


drawRightSideRow_()

drawRightSideRow_(row): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:78

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

Parameters

ParameterTypeDescription
rowRowThe row to draw the side of.

Returns

void

Overrides

Drawer.drawRightSideRow_


drawBottom_()

drawBottom_(): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:86

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

Returns

void

Overrides

Drawer.drawBottom_


drawLeft_()

protected drawLeft_(): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:96

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

Returns

void

Overrides

Drawer.drawLeft_


drawInlineInput_()

drawInlineInput_(input): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:102

Add steps for an inline input.

Parameters

ParameterTypeDescription
inputInlineInputThe information about the input to render.

Returns

void

Overrides

Drawer.drawInlineInput_


positionInlineInputConnection_()

positionInlineInputConnection_(input): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:108

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.

Parameters

ParameterTypeDescription
inputInlineInputThe information about the input that the connection is on.

Returns

void

Overrides

Drawer.positionInlineInputConnection_


positionStatementInputConnection_()

positionStatementInputConnection_(row): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:125

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.

Parameters

ParameterTypeDescription
rowRowThe row that the connection is on.

Returns

void

Overrides

Drawer.positionStatementInputConnection_


positionExternalValueConnection_()

positionExternalValueConnection_(row): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:141

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.

Parameters

ParameterTypeDescription
rowRowThe row that the connection is on.

Returns

void

Overrides

Drawer.positionExternalValueConnection_


positionNextConnection_()

positionNextConnection_(): void;

Defined in: packages/blockly/core/renderers/geras/drawer.ts:152

Position the next connection on a block.

Returns

void

Overrides

Drawer.positionNextConnection_