Base Shapes
Базовые и вспомогательные фигуры.
AbstractShape
Базовый абстрактный класс для фигуры. Содержит общие для всех данные.
Параметры
- id
Уникальное имя фигуры. Нельзя в одном шаблоне создавать две фигуры с одинаковым именем. Это имя используется для ссылки на конкретную фигуру и её параметры.
- parent
Ссылка на родительский объект. Если parent не указан то им является исходная картинка. При парентинге начало координат объекта находятся в верхнем левом углу парента, поэтому объект изменит своё расположение и будет следовать за родительским объектом.
Нет парентинга
Есть парентинг
- z_index
Параметр отвечает за порядок отрисовки элементов. Например, родительский объект должен быть создан в шаблоне ДО указания его в качестве родителя. В таком случае все дочерние объекты будут отрисованы поверх родительского. Изменение индекса позволит управлять этой очерёдностью.
- enabled
Параметр, определяющий рендерится ли фигура. Если enabled=false то элемент будет отсутствовать, но при этом ячейка сетки всё равно будет занята и эта фигура может быть парентом для других фигур.
- skip
Пропуск элемента в сетке. В отличие от enabled ячейка сетки не будет занята, произойдет его полное удаление со смещением следующего элемента. Лучше всего подходит для вариативных элементов. То есть в двух соседних элементах в параметр skip можно записать противоположные условия и будет виден либо один либо другой.
"variables": {
"show_alt": true
},
"shapes": [
{"type": "label", "text": "Main Text", "skip": "$show_alt"},
{"type": "label", "text": "Alt Text", "skip": "=not $show_alt"}
]
BaseShape
inherited (AbstractShape)
Базовая фигура представляет объект, участвующий в рендере. Он либо видим на рендере, либо используется как невидимый родительский объект.
- local_resource_paths
Пути для поиска файлов ресурсов.
- get_resource_func
Функция для поиска файла ресурса.
Параметры
- x
Координата X относительно родительского объекта
- y
Координата Y относительно родительского объекта
- width
Ширина фигуры
- height
Высота фигуры
- align_v
Выравнивание по вертикали относительно родителя
- align_h
Выравнивание по горизонтали относительно родителя
- color
Основной цвет. Можно указать в следующих форматах:
RGB (0-255):
[100, 100, 0]RGBA (0-255):
[255, 0, 0, 100]HEX:
#fff444COLOR NAME:
"red"
Список имён цветов можно посмотреть в исходниках Pillow, например здесь
- rotate
Угол поворота в градусах
- rotation_pivot
Центр поворота. Этот параметр всегда должен быть списком из двух элементов. Если не указать центр поворота то по умолчанию центром будет являться геометрический центр объекта.
- rotation_offset
Смещение фигуры относительно края парента при включенном выравнивании по горизонтали или вертикали.
- gradient (EXPERIMENTAL)
Заливка градиентом. Поддерживается линейный и радиальный градиенты
- debug
Отображение рамок объектов. Должен быть словарём.
Доступные параметры для debug
- debug.enabled
Включить или выключить обводку
- debug.color
Цвет обводки
- debug.width
Толщина обводки
- debug.offset
Смещение обводки от основной фигуры
- debug.rotation_pivot
Отобразить пивот вращения
- debug.rotation_pivot_color
Цвет пивота вращения
- debug.rotation_pivot_size
Размер пивота вращения
- debug.parent
Отобразить обводку родительского объекта
- debug.parent_color
Цвет обводки родительского объекта
- debug.parent_width
Толщина обводки родительского объекта
- debug.parent_offset
Смещение обводки от основной фигуры для родительского объекта
- debug.canvas
Отобразить границы исходного канваса текущего объекта
- debug.canvas_color
Цвет обводки границ канваса
- debug.canvas_width
Толщина обводки границ канваса
Пример:
{
"type": "label", "text": "example",
"parent": "rect1",
"align_h": "center", "align_v": "center",
"debug": {
"enabled": true,
"color": "red",
"width": 3,
"parent_width": 2,
"parent_color": "orange",
"parent_offset": 0,
"parent": true,
"canvas": true,
"canvas_color": "yellow",
"canvas_width": 3,
"rotation_pivot": true,
"rotation_pivot_size": "5p",
"rotation_pivot_color": "blue"
}
}
Поля
- top
Верхняя граница в глобальных координатах
- bottom
Нижняя граница в глобальных координатах
- left
Левая граница в глобальных координатах
- right
Правая граница в глобальных координатах
EmptyShape
inherited (BaseShape)
Пустая фигура, используется как заглушка для пустого места или как невидимый парент.
RootParent
inherited (BaseShape)
Обёртка для исходной картинки, чтобы она работала как родительский объект.
Глобальный контекст
В процессе ресолва экспрешенов доступны все built-in функции python, а также несколько объектов импортированных из библиотек.
- random
Функция random.random
- uniform
Функция random.uniform
- randint
Функция random.randint
- random_seed
Функция random.seed
- math
Модуль math
Пример
{
"type": "label", "text": "`=math.sin($frame)`"
}