Concepts liés aux moteurs de rendu

Avant de commencer à créer un moteur de rendu personnalisé, il est utile de comprendre les différents composants qui le composent, ainsi que la façon dont un bloc est divisé en lignes et en éléments.

Composants du moteur de rendu

Un moteur de rendu est constitué de plusieurs composants différents. Chaque composant dispose d'une tâche unique permettant d'optimiser la réutilisation et l'extensibilité du code.

Moteur de rendu

Le rendu est une classe de fabrique qui regroupe tous les autres composants.

Constant Provider

Le fournisseur de constantes est une collection de nombres et de formes utilisées par tous les autres composants, ainsi que par les champs intégrés.

Informations sur le rendu

Les informations de rendu déterminent la disposition d'un bloc en fonction de sa définition, puis crée une collection de mesurables et de données sur le bloc que le panneau utilise pour créer des tracés SVG.

Objet de chemin

L'objet path contient les éléments SVG qui résident dans le DOM et constituent le bloc.

Panneau

Le panneau (comme dans "un-qui-dessin") crée des chemins SVG en fonction des informations de rendu et les applique à l'objet de chemin.

Bloquer les éléments mesurables

Un élément mesurable est un rectangle représentant la région d'un bloc. Les éléments mesurables sont utilisés par les informations de rendu pour définir la mise en page du bloc.

Certains éléments mesurables incluent également des données supplémentaires (telles que les éléments visuels qu'ils représentent) ou des méthodes d'assistance que les informations de rendu peuvent utiliser pour déterminer comment mettre en page le bloc.

Différents moteurs de rendu peuvent créer des mesurables personnalisés pour modifier ces données ou méthodes d'assistance.

Lignes

Une ligne est un ensemble horizontal d'éléments et d'entretoises d'éléments.

Bloc "revoir pour" avec les lignes encadrées.

Séparateurs de lignes

Une entretoise de ligne est un espace vertical vide entre deux lignes.

Bloc "Répéter pour" avec les espaces entre les lignes mis en évidence en bleu

Éléments

Un élément représente un élément visuel sur un bloc. Il s'agit des champs, des icônes, des connexions, etc.

Un bloc "Répéter pour" avec les éléments décrits

Entretoises d'éléments

Une espace entre éléments est un espace vide qui sépare les éléments d'une ligne.

Bloc "Répéter pour" avec les espaces entre les éléments mis en évidence en rose