StyleBox

Наследует: Resource < RefCounted < Object

Наследуется от: StyleBoxEmpty, StyleBoxFlat, StyleBoxLine, StyleBoxTexture

Абстрактный базовый класс для определения стилизованных рамок для элементов пользовательского интерфейса UI.

Описание

StyleBox — абстрактный базовый класс для рисования стилизованных рамок для элементов пользовательского интерфейса. Он используется для панелей, кнопок, фонов LineEdit, фонов Tree и т. д., а также для тестирования маски прозрачности для сигналов указателя. Если тест маски не пройден на StyleBox, назначенном в качестве маски для элемента управления, щелчки и сигналы движения будут проходить через него к расположенному ниже.

Примечание: Для узлов управления, имеющих Свойства темы, фокус StyleBox отображается поверх нормального, наведенного или нажатого StyleBox. Это делает фокус StyleBox более пригодным для повторного использования в разных узлах.

Свойства

float

content_margin_bottom

-1.0

float

content_margin_left

-1.0

float

content_margin_right

-1.0

float

content_margin_top

-1.0

Методы

void

_draw(to_canvas_item: RID, rect: Rect2) virtual required const

Rect2

_get_draw_rect(rect: Rect2) virtual const

Vector2

_get_minimum_size() virtual const

bool

_test_mask(point: Vector2, rect: Rect2) virtual const

void

draw(canvas_item: RID, rect: Rect2) const

float

get_content_margin(margin: Side) const

CanvasItem

get_current_item_drawn() const

float

get_margin(margin: Side) const

Vector2

get_minimum_size() const

Vector2

get_offset() const

void

set_content_margin(margin: Side, offset: float)

void

set_content_margin_all(offset: float)

bool

test_mask(point: Vector2, rect: Rect2) const


Описания свойств

float content_margin_bottom = -1.0 🔗

  • void set_content_margin(margin: Side, offset: float)

  • float get_content_margin(margin: Side) const

Нижнее поле для содержимого этого блока стиля. Увеличение этого значения уменьшает доступное для содержимого пространство снизу.

Если это значение отрицательное, оно игнорируется, и вместо него используется поле, специфичное для дочернего элемента. Например, для StyleBoxFlat вместо этого используется толщина границы (если таковая имеется).

Код, использующий этот блок стиля, должен решить, что это за содержимое: например, Button учитывает это поле содержимого для текстового содержимого кнопки.

get_margin() следует использовать для получения этого значения как потребителя вместо прямого чтения этих свойств. Это связано с тем, что он правильно учитывает отрицательные значения и резервный вариант, упомянутый выше.


float content_margin_left = -1.0 🔗

  • void set_content_margin(margin: Side, offset: float)

  • float get_content_margin(margin: Side) const

Левое поле для содержимого этого блока стиля. Увеличение этого значения уменьшает пространство, доступное для содержимого слева.

Дополнительные соображения см. в content_margin_bottom.


float content_margin_right = -1.0 🔗

  • void set_content_margin(margin: Side, offset: float)

  • float get_content_margin(margin: Side) const

Правое поле для содержимого этого блока стиля. Увеличение этого значения уменьшает пространство, доступное для содержимого справа.

Дополнительные соображения см. в content_margin_bottom.


float content_margin_top = -1.0 🔗

  • void set_content_margin(margin: Side, offset: float)

  • float get_content_margin(margin: Side) const

Верхнее поле для содержимого этого блока стиля. Увеличение этого значения уменьшает пространство, доступное для содержимого сверху.

Дополнительные соображения см. в content_margin_bottom.


Описания метода

void _draw(to_canvas_item: RID, rect: Rect2) virtual required const 🔗

There is currently no description for this method. Please help us by contributing one!


Rect2 _get_draw_rect(rect: Rect2) virtual const 🔗

There is currently no description for this method. Please help us by contributing one!


Vector2 _get_minimum_size() virtual const 🔗

Виртуальный метод, реализуемый пользователем. Возвращает минимальный размер, который stylebox должен учитывать при рисовании. По умолчанию get_minimum_size() учитывает только поля содержимого. Этот метод можно переопределить, чтобы добавить еще одно ограничение размера. Будет использоваться комбинация поведения по умолчанию и вывода этого метода для учета обоих размеров.


bool _test_mask(point: Vector2, rect: Rect2) virtual const 🔗

There is currently no description for this method. Please help us by contributing one!


void draw(canvas_item: RID, rect: Rect2) const 🔗

Рисует stylebox, используя элемент холста, идентифицированный заданным RID.

Значение RID может быть либо результатом CanvasItem.get_canvas_item(), вызванного на существующем узле, производном от CanvasItem, либо непосредственно в результате создания элемента холста в RenderingServer с помощью RenderingServer.canvas_item_create().


float get_content_margin(margin: Side) const 🔗

Возвращает поле по умолчанию для указанного Side.


CanvasItem get_current_item_drawn() const 🔗

Возвращает CanvasItem, который обрабатывает свой обратный вызов CanvasItem.NOTIFICATION_DRAW или CanvasItem._draw() в данный момент.


float get_margin(margin: Side) const 🔗

Возвращает смещение поля содержимого для указанного Side.

Положительные значения уменьшают размер внутрь, в отличие от значений полей Control.


Vector2 get_minimum_size() const 🔗

Возвращает минимальный размер, до которого можно уменьшить этот stylebox.


Vector2 get_offset() const 🔗

Возвращает «смещение» stylebox. Эта вспомогательная функция возвращает значение, эквивалентное Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP)).


void set_content_margin(margin: Side, offset: float) 🔗

Устанавливает значение по умолчанию для указанного Side на offset пикселей.


void set_content_margin_all(offset: float) 🔗

Устанавливает поле по умолчанию на offset пикселей для всех сторон.


bool test_mask(point: Vector2, rect: Rect2) const 🔗

Проверяем позицию в прямоугольнике и даем ответ, прошла ли она тест на маску.