blockly > blockRendering > RenderInfo

Classe blockRendering.RenderInfo

Objet contenant toutes les informations de dimensionnement nécessaires pour dessiner ce volume.

Cette mesure ne propage pas les modifications apportées au bloc (bien que les champs puissent choisir d'effectuer un nouveau rendu lorsque getSize() est appelé). Cependant, l'appeler à plusieurs reprises peut s'avérer coûteux.

Signature :

export declare class RenderInfo 

Constructeurs

Constructeur Modificateurs Description
(constructeur)(moteur de rendu, bloc) Construit une nouvelle instance de la classe RenderInfo.

Propriétés

Propriété Modificateurs Type Description
block_ BlockSvg
bottomRow BottomRow
constants_ protected ConstantProvider
hauteur Nombre Hauteur du bloc affiché, y compris les blocs enfants.
inputRows InputRow[] Tableau de lignes d'entrée dans le bloc.
isCollapsed booléen
isInline booléen
isInsertionMarker booléen
outputConnection OutputConnection | nul
renderer_

protected

readonly

Moteur de rendu Moteur de rendu de blocs utilisé.
lignes Ligne[] Tableau d'objets Row contenant des informations de dimensionnement.
RTL booléen
startX Nombre
startY Nombre
statementEdge Nombre
topRow TopRow
largeur Nombre Largeur du bloc affiché, à l'exclusion des blocs enfants. Il s'agit du bord droit du bloc lorsqu'il est affiché de gauche à droite.
widthWithChildren Nombre Largeur du bloc affiché, blocs enfants compris.

Méthodes

Méthode Modificateurs Description
addAlignmentPadding_(row, missingSpace) protected Modifiez la ligne donnée pour ajouter la marge intérieure indiquée autour de ses champs. L'emplacement exact de la marge intérieure est basé sur la propriété d'alignement de la dernière entrée du champ.
addElemSpacing_() protected Ajoutez un espacement horizontal entre et autour des éléments de chaque ligne.
addInput_(input, activeRow) protected Ajoutez un élément d'entrée à la ligne active, si nécessaire, et enregistrez le type d'entrée sur la ligne.
addRowSpacing_() protected Ajoutez des espacements entre les lignes et définissez leur taille.
alignRowElements_() protected Un espacement supplémentaire peut être nécessaire pour vous assurer que les côtés droits de toutes les lignes sont alignés. Cette valeur ne peut être calculée qu'après un premier passage pour calculer la taille de toutes les lignes.
alignStatementRow_(row) protected Permet d'aligner les éléments d'une ligne d'instruction en fonction des limites calculées. Contrairement aux autres types de lignes, les lignes d'instruction ajoutent de l'espace à plusieurs endroits.
computeBounds_() protected Déterminez où le bord droit du bloc et le bord droit des entrées d’instruction doivent être placés.
createRows_() protected Créez des lignes d'objets mesurables représentant toutes les parties du bloc pouvant être rendues.
finalize_() protected Apportez les modifications finales à l'objet d'informations de rendu. En particulier, stockez la position Y de chaque ligne et notez la hauteur du bloc complet.
getDesiredRowWidth_(_row) protected Calculez la largeur souhaitée d'une ligne d'entrée.
getElemCenterline_(row, elem) protected Calculez la ligne médiane d'un élément dans une ligne affichée. Cette implémentation de base place la ligne médiane au milieu de la ligne verticalement, sans cas particulier. Vous aurez probablement besoin d'une logique supplémentaire pour gérer (au minimum) les lignes du haut et du bas.
getInRowSpacing_(prev, next) protected Calculez la largeur d'un élément d'espace vide sur une ligne en fonction des éléments précédents et suivants de cette ligne. Par exemple, une marge intérieure supplémentaire est ajoutée entre deux champs modifiables.
getMeasureableForConnection(conn) Affiche la connexion mesurable associée à la connexion donnée.
getRenderer() Utilisez le moteur de rendu de blocs.
getSpacerRowHeight_(_prev, _next) protected Calculez la hauteur d'une ligne d'espace vide.
getSpacerRowWidth_(_prev, _next) protected Calculez la largeur d'une ligne d'espace vide.
makeSpacerRow_(prev, next) protected Créez une ligne d'espace vide pour passer de la ligne précédente à la ligne suivante, puis définissez sa taille.
measure()

Renseignez cet objet avec toutes les informations de dimensionnement nécessaires pour dessiner le volume.

Cette mesure ne propage pas les modifications apportées au bloc (bien que les champs puissent choisir d'effectuer un nouveau rendu lorsque getSize() est appelé). Cependant, l'appeler à plusieurs reprises peut s'avérer coûteux.

populateBottomRow_() protected Créez tous les éléments qui ne sont pas des espaces vides sur la ligne du bas.
populateTopRow_() protected Créez tous les éléments qui ne sont pas des espaces vides sur la ligne supérieure.
recordElemPositions_(row) protected Enregistrez les informations de position finale des éléments sur la ligne donnée, pour les utiliser dans le dessin. Au minimum, les valeurs xPo et la ligne médiane sont enregistrées pour chaque élément.
doiventStartNewRow_(currInput, prevInput) protected Décidez si vous souhaitez créer une nouvelle ligne entre les deux blocs Blockly.Inputs.