blockly > blockRendering > RenderInfo
blockRendering.RenderInfo-Klasse
Ein Objekt, das alle Größeninformationen enthält, die zum Zeichnen dieses Blocks erforderlich sind.
Diese Messungskarte überträgt keine Änderungen am Block (obwohl Felder beim Aufruf von getSize() neu gerendert werden können). Wiederholtes Aufrufen kann jedoch teuer sein.
Unterschrift:
export declare class RenderInfo
Konstruktoren
Konstruktor | Modifikatoren | Beschreibung |
---|---|---|
(Konstruktor)(Renderer, Blockierung) | Erstellt eine neue Instanz der RenderInfo -Klasse |
Attribute
Property | Modifikatoren | Typ | Beschreibung |
---|---|---|---|
block_ | BlockSvg | ||
bottomRow | BottomRow | ||
constants_ | protected |
ConstantProvider | |
height | Zahl | Höhe des gerenderten Blocks, einschließlich der untergeordneten Blöcke. | |
inputRows | InputRow[] | Ein Array von Eingabezeilen im Block. | |
isCollapsed | boolean | ||
isInline | boolean | ||
isInsertionMarker | boolean | ||
outputConnection | OutputConnection | null | ||
renderer_ |
|
Renderer | Verwendeter Block-Renderer |
Zeilen | Zeile[] | Ein Array von Row-Objekten, die Größeninformationen enthalten. | |
RTL | boolean | ||
startX | Zahl | ||
startY | Zahl | ||
statementEdge | Zahl | ||
topRow | TopRow | ||
Breite | Zahl | Die Breite des gerenderten Blocks ohne untergeordnete Blöcke. Dies ist der rechte Rand des Blocks beim Rendern im LTR. | |
widthWithChildren | Zahl | Breite des gerenderten Blocks, einschließlich untergeordneter Blöcke. |
Methoden
Methode | Modifikatoren | Beschreibung |
---|---|---|
addAlignmentPadding_(row, missingSpace) | protected |
Ändern Sie die gegebene Zeile so, dass die Felder der Zeile entsprechend aufgefüllt werden. Die genaue Position des Abstands basiert auf der Ausrichtungseigenschaft der letzten Eingabe im Feld. |
addElemSpacing_() | protected |
Fügen Sie horizontale Abstände zwischen Elementen in jeder Zeile hinzu. |
addInput_(input, ActiveRow) | protected |
Fügen Sie der aktiven Zeile bei Bedarf ein Eingabeelement hinzu und notieren Sie die Art der Eingabe in der Zeile. |
addRowSpacing_() | protected |
Fügen Sie Abstandshalter zwischen den Zeilen ein und legen Sie ihre Größe fest. |
alignRowElements_() | protected |
Möglicherweise sind zusätzliche Abstände erforderlich, damit die rechten Seiten aller Zeilen aufeinander ausgerichtet sind. Sie kann nur nach dem ersten Durchlauf berechnet werden, um die Größen aller Zeilen zu berechnen. |
alignStatementRow_(row) | protected |
Richtet die Elemente einer Anweisungszeile anhand der berechneten Grenzen aus. Im Gegensatz zu anderen Zeilentypen fügen Anweisungszeilen an mehreren Stellen Platz ein. |
computeBounds_() | protected |
Ermitteln Sie, wo der rechte Block des Blocks und der rechte Rand der Anweisungseingaben platziert werden sollen. |
createRows_() | protected |
Erstellen Sie Zeilen mit messbaren Objekten, die alle renderbaren Teile des Blocks darstellen. |
finalize_() | protected |
Nehmen Sie die letzten Änderungen am Rendering-Informationsobjekt vor. Speichern Sie insbesondere die y-Position jeder Zeile und erfassen Sie die Höhe des vollständigen Blocks. |
getDesiredRowWidth_(_row) | protected |
Berechnen Sie die gewünschte Breite einer Eingabezeile. |
getElemCenterline_(row, elem) | protected |
Berechnet die Mittellinie eines Elements in einer gerenderten Zeile. Bei dieser Basisimplementierung wird die Mittellinie ohne Sonderfälle vertikal in der Mitte der Zeile platziert. Sie benötigen wahrscheinlich zusätzliche Logik, um (mindestens) die oberen und unteren Zeilen zu verarbeiten. |
getInRowSpacing_(prev, next) | protected |
Berechnen Sie die Breite eines Abstandselements in einer Zeile basierend auf den vorherigen und nächsten Elementen in dieser Zeile. Zum Beispiel wird ein zusätzlicher Abstand zwischen zwei bearbeitbaren Feldern hinzugefügt. |
getMeasureableForConnection(conn) | Gibt die mit der angegebenen Verbindung messbare Verbindung zurück. | |
getRenderer() | Block-Renderer in Verwendung abrufen | |
getSpacerRowHeight_(_prev, _next) | protected |
Berechne die Höhe eines Abstandshalters. |
getSpacerRowWidth_(_prev, _next) | protected |
Berechnen Sie die Breite eines Abstandshalters. |
makeSpacerRow_(vorherige, weiter) | protected |
Erstellen Sie eine Abstandszeile, um zwischen der vorherigen und der nächsten zu wechseln, und legen Sie ihre Größe fest. |
measure() | Füllen Sie dieses Objekt mit allen Größeninformationen, die zum Zeichnen des Blocks erforderlich sind. Diese Messungskarte überträgt keine Änderungen am Block (obwohl Felder beim Aufruf von getSize() neu gerendert werden können). Wiederholtes Aufrufen kann jedoch teuer sein. |
|
populateBottomRow_() | protected |
Erstellen Sie alle Elemente ohne Abstand, die zur untersten Zeile gehören. |
populateTopRow_() | protected |
Erstellen Sie alle Elemente ohne Abstand, die zur obersten Zeile gehören. |
recordElemPositions_(row) | protected |
Zeichnen Sie die endgültigen Positionsinformationen der Elemente in der jeweiligen Zeile zur Zeichnung auf. Dadurch werden bei jedem Element mindestens xPos und die Mittellinie erfasst. |
shouldStartNewRow_(currInput, prevInput) | protected |
Entscheiden Sie, ob eine neue Zeile zwischen den beiden Blockly.Inputs beginnen soll. |