Header menu logo issie

PinnedCanvas Type

The draw block state a read-only sheet is held at, captured once the sheet has finished loading and written back over the live model after every message - see ModelHelpers.pinDrawBlock. Exactly the state a sheet is SAVED from, and nothing else. SymbolUpdate.extractComponent is the sole path from symbols to saved state, and it ignores Symbol.Appearance, so colour, opacity, port visibility and corner handles are all absent here and stay free to change: selection and hover go on working on a read-only sheet at no cost. The bounding boxes are here only because they are derived from the symbols, and would otherwise follow symbols that did not move. The two clipboards are here for a different reason: pinning them is what stops anything being copied OUT of a library sheet, since a copy writes the clipboard and nothing else. Whatever the user had copied before they looked inside survives, which is what they would expect.

Record fields

Record Field Description

BoundingBoxes

Full Usage: BoundingBoxes

Field type: Map<ComponentId, BoundingBox>
Field type: Map<ComponentId, BoundingBox>

CopiedSymbols

Full Usage: CopiedSymbols

Field type: Map<ComponentId, Symbol>
Field type: Map<ComponentId, Symbol>

CopiedWires

Full Usage: CopiedWires

Field type: Map<ConnectionId, Wire>
Field type: Map<ConnectionId, Wire>

InputPortsConnected

Full Usage: InputPortsConnected

Field type: Set<InputPortId>
Field type: Set<InputPortId>

OutputPortsConnected

Full Usage: OutputPortsConnected

Field type: Map<OutputPortId, int>
Field type: Map<OutputPortId, int>

Ports

Full Usage: Ports

Field type: Map<string, Port>
Field type: Map<string, Port>

Symbols

Full Usage: Symbols

Field type: Map<ComponentId, Symbol>
Field type: Map<ComponentId, Symbol>

Wires

Full Usage: Wires

Field type: Map<ConnectionId, Wire>
Field type: Map<ConnectionId, Wire>

Type something to start searching.