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_