blockly > blockRendering > RenderInfo
Klasse blockRendering.RenderInfo
Ein Objekt, das alle Größeninformationen enthält, die zum Zeichnen dieses Blocks erforderlich sind.
Diese Messungsfreigabe überträgt keine Änderungen an den Block (obwohl Felder möglicherweise neu gerendert werden, wenn getSize() aufgerufen wird). Wiederholtes Aufrufen kann jedoch teuer werden.
Unterschrift:
export declare class RenderInfo
Konstruktoren
Konstruktor | Modifikatoren | Beschreibung |
---|---|---|
(Konstruktor)(Renderer, Block) | Erstellt eine neue Instanz der RenderInfo -Klasse |
Attribute
Attribut | Modifikatoren | Typ | Beschreibung |
---|---|---|---|
block_ | BlockSvg | ||
bottomRow | BottomRow | ||
constants_ | protected |
ConstantProvider | |
Höhe | Zahl | Die Höhe des gerenderten Blocks, einschließlich untergeordneter Blöcke. | |
inputRows | InputRow[] | Ein Array von Eingabezeilen im Block. | |
isCollapsed | boolean | ||
isInline | boolean | ||
isInsertionMarker | boolean | ||
outputConnection | OutputConnection | null | ||
renderer_ |
|
Renderer | Der verwendete Block-Renderer. |
Zeilen | Zeile[] | Ein Array von Row-Objekten mit Größeninformationen. | |
RTL | boolean | ||
startX | Zahl | ||
startY | Zahl | ||
statementEdge | Zahl | ||
topRow | TopRow | ||
Breite | Zahl | Die Breite des gerenderten Blocks ohne untergeordnete Blöcke. Bei der LTR-Darstellung ist dies der rechte Rand des Blocks. | |
widthWithChildren | Zahl | Die Breite des gerenderten Blocks, einschließlich untergeordneter Blöcke. |
Methoden
Methode | Modifikatoren | Beschreibung |
---|---|---|
addAlignmentPadding_(row, missingSpace): | protected |
Ändern Sie die angegebene Zeile so, dass die vorgegebenen Padding-Werte um die Felder herum eingefügt werden. Die genaue Position des Innenrands hängt von der Ausrichtungseigenschaft der letzten Eingabe im Feld ab. |
addElemSpacing_() | protected |
Fügen Sie den horizontalen Abstand zwischen den Elementen in jeder Zeile und um sie herum hinzu. |
addInput_(input, ActiveRow) | protected |
Fügen Sie der aktiven Zeile bei Bedarf ein Eingabeelement hinzu und notieren Sie sich den Typ der Eingabe für die Zeile. |
addRowSpacing_() | protected |
Fügen Sie Abstandshalter zwischen Zeilen ein und legen Sie deren Größe fest. |
alignRowElements_() | protected |
Eventuell sind zusätzliche Abstände erforderlich, damit die rechten Seiten aller Zeilen aufeinander ausgerichtet sind. Sie kann erst nach einer ersten Karte 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 hinzu. |
computeBounds_() | protected |
Finden Sie heraus, wo der rechte Rand 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 letzte Änderungen am Rendering-Informationsobjekt vor. Speichern Sie insbesondere die Y-Position jeder Zeile und notieren Sie die Höhe des vollen 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 vertikal in der Mitte der Zeile platziert, ohne Sonderfälle. Sie benötigen wahrscheinlich zusätzliche Logik, um die oberen und unteren Zeilen (mindestens) zu verarbeiten. |
getInRowSpacing_(vorher, weiter) | protected |
Berechnen Sie die Breite eines Abstandselements in einer Zeile basierend auf den vorherigen und nächsten Elementen in dieser Zeile. Beispielsweise wird zwischen zwei bearbeitbaren Feldern ein zusätzlicher Abstand hinzugefügt. |
getMeasureableForConnection(conn) | Gibt die messbare Verbindung zurück, die der angegebenen Verbindung zugeordnet ist. | |
getRenderer() | Rufen Sie den verwendeten Block-Renderer ab. | |
getSpacerRowHeight_(_prev, _next) | protected |
Berechnen Sie die Höhe einer Zeile mit Abstandshalter. |
getSpacerRowWidth_(_prev, _next) | protected |
Berechnen Sie die Breite einer Abstandshalterzeile. |
makeSpacerRow_(vorher, weiter) | protected |
Erstellen Sie eine Abstandszeile, um zwischen „Zurück“ und „Weiter“ zu wechseln und ihre Größe festzulegen. |
measure() | Füllen Sie dieses Objekt mit allen Größeninformationen, die zum Zeichnen des Blocks erforderlich sind. Diese Messungsfreigabe überträgt keine Änderungen an den Block (obwohl Felder möglicherweise neu gerendert werden, wenn getSize() aufgerufen wird). Wiederholtes Aufrufen kann jedoch teuer werden. |
|
populateBottomRow_() | protected |
Erstellen Sie alle Nicht-Abstandselemente, die in die unterste Zeile gehören. |
populateTopRow_() | protected |
Erstellen Sie alle Nicht-Leerzeichen-Elemente, die in die oberste Zeile gehören. |
recordElemPositions_(row) | protected |
Erfassen Sie die endgültigen Positionsinformationen der Elemente in der jeweiligen Zeile zur Verwendung beim Zeichnen. Damit werden mindestens xPos und centerline für jedes Element erfasst. |
shouldStartNewRow_(currInput, prevInput) | protected |
Entscheiden Sie, ob zwischen den beiden Blockly.Inputs eine neue Zeile beginnen soll. |