blockly > blockRendering > Drawer

blockRendering.Drawer-Klasse

Ein Objekt, das einen Block basierend auf den angegebenen Rendering-Informationen zeichnet.

Unterschrift:

export declare class Drawer 

Konstruktoren

Konstruktor Modifikatoren Beschreibung
(Konstruktor)(block, Informationen) Erstellt eine neue Instanz der Drawer-Klasse

Attribute

Property Modifikatoren Typ Beschreibung
block_ BlockSvg
constants_ protected ConstantProvider
info_ RenderInfo
inlinePath_ String
outlinePath_ String
topLeft_ Koordinaten

Methoden

Methode Modifikatoren Beschreibung
draw()

Zeichnen Sie den Block im Arbeitsbereich. „Zeichnen“ bedeutet hier, dass SVG-Pfadelemente und sich bewegende Felder, Symbole und Verbindungen auf dem Bildschirm festgelegt werden.

Die einzelnen Pfade werden in Arrays von Schritten verschoben, die dann mit Leerzeichen verbunden und direkt auf dem Block festgelegt werden. Dies garantiert, dass die Schritte zur besseren Lesbarkeit durch Leerzeichen getrennt sind, dies ist jedoch nicht erforderlich.

drawBottom_() protected Fügen Sie Schritte für den unteren Rand eines Blocks hinzu, möglicherweise mit einer Aussparung für die nächste Verbindung.
drawConnectionHighlightPath(measurable) Gibt einen Pfad zurück, um die angegebene Verbindung hervorzuheben.
drawInlineInput_(input) protected Fügen Sie Schritte für eine Inline-Eingabe hinzu.
drawInternals_() protected Zeichnen Sie das Innere des Blocks: Inline-Eingaben, Felder und Symbole. Sie hängen nicht vom äußeren Pfad für die Platzierung ab.
drawJaggedEdge_(row) protected Fügen Sie Schritte für den gezackten Rand einer Zeile in einem minimierten Block hinzu.
drawLeft_() protected Fügen Sie Schritte für die linke Seite des Blocks hinzu, die eine Ausgabeverbindung umfassen kann
drawOutline_() protected Erstellen Sie die Umrisse des Blocks. Dies ist ein einzelner kontinuierlicher Pfad.
drawRightSideRow_(row) protected Fügen Sie Schritte für die rechte Seite einer Zeile hinzu, die keine Verbindungen zu Werten oder Anweisungen hat.
drawStatementInput_(row) protected Fügen Sie Schritte für eine Anweisungseingabe hinzu.
drawTop_() protected Fügen Sie Schritte für die obere Ecke des Blocks hinzu und berücksichtigen Sie dabei Details wie Hüte und abgerundete Ecken.
drawValueInput_(row) protected Fügen Sie Schritte für eine externe Werteingabe hinzu, die als Kerbe an der Seite des Blocks gerendert wird.
hideHiddenIcons_() protected Ausgeblendete Symbole ausblenden.
layoutField_(fieldInfo) protected Übertragen Sie die neue Position eines Felds oder Symbols in seinen SVG-Stamm.
positionExternalValueConnection_(row) protected Positionieren Sie die Verbindung auf einer externen Werteingabe. Berücksichtigen Sie dabei die RTL und die kleine Lücke zwischen dem übergeordneten und dem untergeordneten Block, durch den der dunkle Pfad des übergeordneten Blocks durchscheinen kann.
positionInlineInputConnection_(input) protected Positionieren Sie die Verbindung über eine Inline-Werteingabe. Berücksichtigen Sie dabei die RTL und die kleine Lücke zwischen dem übergeordneten und untergeordneten Block, durch den der dunkle Pfad des übergeordneten Blocks durchscheinen kann.
positionNextConnection_() protected Positionieren Sie die nächste Verbindung in einem Block.
positionOutputConnection_() protected Positionieren Sie die Ausgabeverbindung auf einem Block.
positionPreviousConnection_() protected Positionieren Sie die vorherige Verbindung auf einem Block.
positionStatementInputConnection_(row) protected Positionieren Sie die Verbindung auf einer Anweisungseingabe. Berücksichtigen Sie dabei die RTL und die kleine Lücke zwischen dem übergeordneten und untergeordneten Block, durch den der dunkle Pfad des übergeordneten Blocks durchscheinen kann.
recordSizeOnBlock_() protected Speichern Sie die Größeninformationen wieder im Block. Die meisten Rendering-Informationen können am Ende des Renderings verworfen werden. Alles, was benötigt wird, sollte in dieser Funktion festgelegt werden.
updateConnectionHighlights() protected Aktualisiert das Pfadobjekt, um anzugeben, welche Verbindungen im Block markiert sind.