StyleBoxFlat
Наследует: StyleBox < Resource < RefCounted < Object
Настраиваемый StyleBox, не использующий текстуру.
Описание
Настраивая различные свойства этого stylebox'а, вы можете добиться многих общих видов без необходимости использования текстуры. Это включает в себя опциональные скругленные границы, сглаживание, тени и наклон.
Установка радиуса угла на высокие значения допускается. Как только углы перекрываются, stylebox переключается на относительную систему:
height = 30
corner_radius_top_left = 50
corner_radius_bottom_left = 100
Относительная система теперь будет использовать соотношение 1:2 двух левых углов для расчета фактической ширины угла. Оба сложенных угла никогда не будут больше высоты. Результат:
corner_radius_top_left: 10
corner_radius_bottom_left: 20
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
get_border_width(margin: Side) const |
|
get_border_width_min() const |
|
get_corner_radius(corner: Corner) const |
|
get_expand_margin(margin: Side) const |
|
void |
set_border_width(margin: Side, width: int) |
void |
set_border_width_all(width: int) |
void |
set_corner_radius(corner: Corner, radius: int) |
void |
set_corner_radius_all(radius: int) |
void |
set_expand_margin(margin: Side, size: float) |
void |
set_expand_margin_all(size: float) |
Описания свойств
Сглаживание рисует небольшое кольцо вокруг краев, которое постепенно переходит в прозрачность. В результате края выглядят намного более гладкими. Это заметно только при использовании скругленных углов или skew.
Примечание: При использовании скошенных углов с углами в 45 градусов (corner_detail = 1) рекомендуется установить anti_aliasing на false, чтобы обеспечить четкость изображения и избежать возможных визуальных сбоев.
float anti_aliasing_size = 1.0 🔗
Это изменяет размер эффекта сглаживания. 1.0 рекомендуется для оптимального результата в масштабе 100%, аналогично тому, как скругленные прямоугольники отображаются в веб-браузерах и большинстве программ для векторной графики.
Примечание: Более высокие значения могут привести к эффекту размытия, но также могут создать нежелательные артефакты на небольших полях с углами большого радиуса.
Color bg_color = Color(0.6, 0.6, 0.6, 1) 🔗
Цвет фона stylebox.
Если true, граница будет сливаться с цветом фона.
Color border_color = Color(0.8, 0.8, 0.8, 1) 🔗
Устанавливает цвет границы.
Ширина нижней границы.
Ширина левой границы.
Ширина границы для правой границы.
Ширина верхней границы.
Это устанавливает количество вершин, используемых для каждого угла. Более высокие значения приводят к более круглым углам, но требуют больше вычислительной мощности для вычисления. При выборе значения следует учитывать радиус угла (set_corner_radius_all()).
Для радиусов угла менее 10 должно быть достаточно 4 или 5. Для радиусов угла менее 30 должно быть достаточно значений между 8 и 12.
Детализация угла 1 приведет к скошенным углам вместо скругленных, что полезно для некоторых художественных эффектов.
int corner_radius_bottom_left = 0 🔗
Радиус нижнего левого угла. Если 0, угол не закруглен.
int corner_radius_bottom_right = 0 🔗
Радиус нижнего правого угла. Если 0, угол не закруглен.
int corner_radius_top_left = 0 🔗
Радиус верхнего левого угла. Если 0, угол не закруглен.
int corner_radius_top_right = 0 🔗
Радиус верхнего правого угла. Если 0, угол не закруглен.
Включает/выключает отрисовку внутренней части stylebox.
float expand_margin_bottom = 0.0 🔗
Расширяет stylebox за пределы прямоугольника управления на нижнем крае. Полезно в сочетании с border_width_bottom для рисования границы за пределами прямоугольника управления.
Примечание: В отличие от StyleBox.content_margin_bottom, expand_margin_bottom не влияет на размер области нажатия для Control. Это может негативно повлиять на удобство использования при неправильном использовании, так как пользователь может попытаться нажать на область StyleBox, которая фактически не может получать щелчки.
float expand_margin_left = 0.0 🔗
Расширяет stylebox за пределы прямоугольника управления на левом краю. Полезно в сочетании с border_width_left для рисования границы за пределами прямоугольника управления.
Примечание: В отличие от StyleBox.content_margin_left, expand_margin_left не влияет на размер области нажатия для Control. Это может негативно повлиять на удобство использования при неправильном использовании, так как пользователь может попытаться нажать на область StyleBox, которая фактически не может получать щелчки.
float expand_margin_right = 0.0 🔗
Расширяет stylebox за пределы прямоугольника управления на правом краю. Полезно в сочетании с border_width_right для рисования границы за пределами прямоугольника управления.
Примечание: В отличие от StyleBox.content_margin_right, expand_margin_right не влияет на размер области нажатия для Control. Это может негативно повлиять на удобство использования при неправильном использовании, так как пользователь может попытаться нажать на область StyleBox, которая фактически не может получать щелчки.
float expand_margin_top = 0.0 🔗
Расширяет stylebox за пределы прямоугольника управления на верхнем крае. Полезно в сочетании с border_width_top для рисования границы за пределами прямоугольника управления.
Примечание: В отличие от StyleBox.content_margin_top, expand_margin_top не влияет на размер области нажатия для Control. Это может негативно повлиять на удобство использования при неправильном использовании, так как пользователь может попытаться нажать на область StyleBox, которая фактически не может получать щелчки.
Color shadow_color = Color(0, 0, 0, 0.6) 🔗
Цвет тени. Это не имеет никакого эффекта, если shadow_size меньше 1.
Vector2 shadow_offset = Vector2(0, 0) 🔗
Смещение тени в пикселях. Регулирует положение тени относительно stylebox.
Размер тени в пикселях.
Vector2 skew = Vector2(0, 0) 🔗
Если установлено ненулевое значение на любой из осей, skew искажает StyleBox по горизонтали и/или вертикали. Это можно использовать для пользовательских интерфейсов в «футуристическом» стиле. Положительные значения наклоняют StyleBox вправо (ось X) и вверх (ось Y), а отрицательные значения наклоняют StyleBox влево (ось X) и вниз (ось Y).
Примечание: Чтобы текст не касался краев StyleBox, рассмотрите возможность увеличения поля содержимого StyleBox (см. StyleBox.content_margin_bottom). Предпочтительно увеличить поле содержимого вместо поля расширения (см. expand_margin_bottom), поскольку увеличение поля расширения не увеличивает размер области нажатия для Control.
Описания метода
int get_border_width(margin: Side) const 🔗
Возвращает указанную ширину границы Side.
int get_border_width_min() const 🔗
Возвращает наименьшую ширину границы из всех четырех границ.
int get_corner_radius(corner: Corner) const 🔗
Возвращает радиус заданного corner.
float get_expand_margin(margin: Side) const 🔗
Возвращает размер указанного поля расширения Side.
void set_border_width(margin: Side, width: int) 🔗
Устанавливает ширину границы указанного элемента Side на width пикселей.
void set_border_width_all(width: int) 🔗
Устанавливает ширину границы на width пикселей для всех сторон.
void set_corner_radius(corner: Corner, radius: int) 🔗
Устанавливает радиус угла равным radius пикселей для заданного corner.
void set_corner_radius_all(radius: int) 🔗
Устанавливает радиус угла равным radius пикселей для всех углов.
void set_expand_margin(margin: Side, size: float) 🔗
Устанавливает поле расширения на size пикселей для указанной Side.
void set_expand_margin_all(size: float) 🔗
Устанавливает поле расширения на size пикселей для всех сторон.