blockly > blockRendering > Schublade

blockRendering.Drawer-Klasse

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

Unterschrift:

export declare class Drawer 

Konstruktoren

Konstruktor Modifikatoren Beschreibung
(constructor)(block; info) Erstellt eine neue Instanz der Drawer-Klasse

Attribute

Attribut 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 in den Arbeitsbereich. Hier „Zeichnung“ das Festlegen von SVG-Pfadelementen und das Verschieben von Feldern, Symbolen und Verbindungen auf dem Bildschirm.

Die Teile der Pfade werden in Arrays von "steps" verschoben, die dann mit Leerzeichen verbunden und direkt auf dem Block platziert werden. Damit wird sichergestellt, dass die Schritte zur besseren Lesbarkeit durch Leerzeichen getrennt sind, was aber nicht unbedingt erforderlich ist.

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 zum Hervorheben der angegebenen Verbindung zurück.
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. Diese hängen nicht vom äußeren Pfad für die Platzierung ab.
drawJaggedEdge_(row) protected Fügen Sie Schritte für die zerklüfteten Kanten einer Zeile in einem minimierten Block hinzu.
drawLeft_() protected Fügen Sie auf der linken Seite des Blocks Schritte hinzu, die eine Ausgabeverbindung umfassen können.
drawOutline_() protected Erstellen Sie den Umriss 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 für die Wert- oder Anweisungseingabe 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 Notch am Rand des Blocks gerendert wird.
layoutField_(fieldInfo) protected Übertragen Sie die neue Position eines Felds oder Symbols per Push in seinen SVG-Stamm.
positionExternalValueConnection_(row) protected Positionieren Sie die Verbindung auf einer externen Werteingabe und berücksichtigen Sie dabei RTL und die kleine Lücke zwischen dem übergeordneten und dem untergeordneten Block, durch den der dunkle Pfad des übergeordneten Blocks sichtbar ist.
positionInlineInputConnection_(input) protected Positionieren Sie die Verbindung auf einer Inline-Werteingabe und berücksichtigen Sie dabei RTL und die kleine Lücke zwischen dem übergeordneten und dem untergeordneten Block, durch den der dunkle Pfad des übergeordneten Blocks sichtbar ist.
positionNextConnection_() protected Positionieren Sie die nächste Verbindung auf 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 und berücksichtigen Sie dabei RTL und die kleine Lücke zwischen dem übergeordneten und dem untergeordneten Block, durch den der dunkle Pfad des übergeordneten Blocks sichtbar ist.
recordSizeOnBlock_() protected Größeninformationen im Block speichern Die meisten Rendering-Informationen können am Ende des Renderings verworfen werden. Alle Elemente, die in der Umgebung beibehalten werden müssen, sollten in dieser Funktion festgelegt werden.
updateConnectionHighlights() protected Aktualisiert das Pfadobjekt, damit angezeigt wird, welche Verbindungen im Block markiert sind.