Conceitos do renderizador

Antes de começar a criar um renderizador personalizado, é útil entender os diferentes componentes que compõem um renderizador e como um bloco é dividido em linhas e elementos.

Componentes do renderizador

Um renderizador é criado com vários componentes diferentes. Cada componente tem um job exclusivo para maximizar a reutilização e a extensibilidade do código.

Renderizador

O renderizador é uma classe de fábrica que agrupa todos os outros componentes.

Provedor constante

O provedor de constante é uma coleção de números e formas usados por todos os outros componentes, bem como por campos integrados.

Informações de renderização

As informações de renderização decidem como um bloco será disposto com base na definição e, em seguida, cria uma coleção de medições e dados sobre o bloco que a gaveta usa para criar caminhos SVG.

Objeto de caminho

O objeto de caminho contém os elementos SVG que residem no DOM e compõem o bloco.

Gaveta

A gaveta, como em "one-que-desenha", cria caminhos SVG com base nas informações de renderização e os aplica ao objeto de caminho.

Bloquear mensuráveis

Um mensurável é um retângulo que representa uma região de um bloco. As mensuráveis são o que as informações de renderização usam para definir o layout do bloco.

Algumas medidas também incluem dados extras, como o elemento visual que estão representando, ou métodos auxiliares que as informações de renderização podem usar para descobrir como dispor o bloco.

Diferentes renderizadores podem criar mensuráveis personalizados para alterar esses dados ou métodos auxiliares.

Linhas

Uma linha é uma coleção horizontal de elementos e espaçadores de elementos.

Um bloco repetido com as linhas delineadas.

Espaçadores de linha

Um espaçador de linha é um espaço vertical vazio entre duas linhas.

Um bloco repetido com os espaçadores de linha destacados em azul

Elementos

Um elemento representa um elemento visual em um bloco. Isso inclui campos, ícones, conexões etc.

Um bloco repetido com os elementos descritos

Espaçadores de elementos

Um espaçador de elementos é um espaço vazio que vai entre os elementos de uma linha.

Um bloco repetido com os espaçadores de elemento destacados em rosa