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_ |
|
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. |