Прежде чем приступить к созданию собственного средства визуализации, полезно понять различные компоненты, из которых состоит средство визуализации, а также то, как блок разбивается на строки и элементы.
Компоненты рендерера
Средство визуализации состоит из нескольких различных компонентов. Каждый компонент выполняет уникальную задачу по максимизации повторного использования кода и расширяемости.
Рендерер
Средство визуализации — это фабричный класс, который объединяет все остальные компоненты вместе.
Постоянный поставщик
Поставщик констант представляет собой набор чисел и фигур, используемых всеми другими компонентами, а также встроенными полями.
Информация о рендеринге
Информация о рендеринге решает, как должен располагаться блок, на основе его определения, а затем создает коллекцию измеримых величин и данных о блоке, которые рисовальщик использует для создания путей SVG.
Объект пути
Объект пути содержит элементы SVG, которые находятся в dom и составляют блок.
Ящик
Рисовальщик (как в «тот, кто рисует») строит пути SVG на основе информации рендеринга и применяет их к объекту пути .
Блокировать измеримые показатели
Измеримая величина — это прямоугольник, представляющий область блока. Измеримые параметры — это то, что информация рендеринга использует для определения макета блока.
Некоторые измеримые объекты также включают дополнительные данные (например, визуальный объект, который они представляют) или вспомогательные методы, которые информация рендеринга может использовать, чтобы выяснить, как расположить блок.
Различные средства визуализации могут создавать собственные измеримые параметры для изменения этих данных или вспомогательных методов.
Строки
Строка представляет собой горизонтальную совокупность элементов и разделителей элементов .
Проставки между рядами
Разделитель строк — это пустое вертикальное пространство между двумя строками.
Элементы
Элемент представляет собой визуальный объект в блоке. К ним относятся поля , значки , соединения и т. д.
Проставки элементов
Прокладка элемента — это пустое пространство, которое проходит между элементами в строке.