blockly > blockRendering > RenderInfo

Classe blockRendering.RenderInfo

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

Cette passe de mesure ne propage pas les modifications dans le bloc (bien que les champs puissent choisir de s'afficher à nouveau lorsque la méthode getSize() est appelée). Toutefois, l'appeler plusieurs fois peut s'avérer coûteux.

Signature :

export declare class RenderInfo 

Constructeurs

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

Propriétés

Propriété Modificateurs Type Description
block_ BlockSvg
bottomRow BottomRow
constants_ protected ConstantProvider
hauteur number Hauteur du bloc affiché (blocs enfants inclus).
inputRows InputRow[] Tableau de lignes d'entrée dans le bloc.
isCollapsed boolean
isInline boolean
isInsertionMarker boolean
outputConnection OutputConnection | null
renderer_

protected

readonly

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

Méthodes

Méthode Modificateurs Description
addAlignmentPadding_(ligne, espace manquant) protected Modifie la ligne donnée pour ajouter la quantité de marge intérieure donné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 dans chaque ligne.
addInput_(input, activeRow) protected Ajoutez un élément d'entrée à la ligne active, si nécessaire, et enregistrez le type de l'entrée sur la ligne.
addRowSpacing_() protected Ajoutez des espaces entre les lignes et définissez leur taille.
alignRowElements_() protected Un espacement supplémentaire peut être nécessaire pour s’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 afin de 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ù placer le bord droit du bloc et le bord droit des entrées d'instruction.
createRows_() protected Créez des lignes d'objets mesurables représentant toutes les parties du bloc pouvant faire l'objet d'un rendu.
finalize_() protected Apportez les modifications finales nécessaires à l'objet d'informations de rendu. En particulier, stockez la position Y de chaque ligne et enregistrez la hauteur du bloc complet.
getDesiredRowWidth_(_row) protected Calculez la largeur souhaitée d'une ligne d'entrée.
getElemCenterline_(ligne, elem) protected Calcule la ligne médiane d'un élément dans une ligne rendue. Cette implémentation de base place la ligne médiane verticalement au milieu de la ligne, sans cas particuliers. Vous aurez probablement besoin d'une logique supplémentaire pour gérer (au minimum) les lignes supérieures et inférieures.
getInRowSpacing_(préc., suivant) protected Calculez la largeur d'un élément d'espacement 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) Renvoie la connexion mesurable associée à la connexion donnée.
getRenderer() Obtenez le moteur de rendu de blocs en cours d'utilisation.
getSpacerRowHeight_(_prev, _next) protected Calculez la hauteur d'une ligne d'espacement.
getSpacerRowWidth_(_prev, _next) protected Calculez la largeur d'une ligne d'espacement.
makeSpacerRow_(prev, next) protected Créez une ligne d'espaces entre les éléments précédent et suivant, et définissez sa taille.
mesure()

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

Cette passe de mesure ne propage pas les modifications dans le bloc (bien que les champs puissent choisir de s'afficher à nouveau lorsque la méthode getSize() est appelée). Toutefois, l'appeler plusieurs fois peut s'avérer coûteux.

populateBottomRow_() protected Créez tous les éléments qui ne sont pas des espaces et doivent se trouver sur la ligne du bas.
populateTopRow_() protected Créez sur la ligne supérieure tous les éléments qui ne sont pas des espaces.
recordElemPositions_(row) protected Enregistre les informations de position finales sur les éléments de la ligne donnée, afin de les utiliser dans le dessin. Au minimum, cela enregistre xPos et la ligne médiane sur chaque élément.
devraitStartNewRow_(currInput, prevInput) protected Décidez ou non de créer une ligne entre les deux Blockly.Inputs.