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.
Séparateurs de lignes
Une entretoise de ligne est un espace vertical vide entre deux lignes.
É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.
Entretoises d'éléments
Une espace entre éléments est un espace vide qui sépare les éléments d'une ligne.