reckfellENGINE

StyleBox

Ресурс оформления с отдельными отступами содержимого и рисунком.

На этой странице
class StyleBoxReckfellSharpНаследует Resource

StyleBox — ресурс, не Control и не контейнер. Назначайте его в подходящий theme-слот элемента, например panel у PanelContainer или normal у Button. Одно значение ресурса может использоваться несколькими элементами; изменение общего StyleBox затронет всех потребителей. Для индивидуального оформления создайте копию.

ContentMarginLeft/Top/Right/Bottom по умолчанию -1. Отрицательное значение означает автоматическое поле производного стиля, а не отрицательный отступ. GetContentMargin возвращает сохранённое число; GetMargin — рассчитанное. Например, у StyleBoxTexture поле -1 может дать фактический отступ 4 из TextureMargin. Явный 0 отключает автоматический отступ этой стороны.

GetMinimumSize суммирует рассчитанные поля противоположных сторон и покомпонентно учитывает _GetMinimumSize собственного скрипта. GetOffset возвращает только левое/верхнее рассчитанные поля. Минимум стиля не обязательно равен полному минимуму Control: туда дополнительно входят текст, иконка и собственные ограничения.

Рисунок и поля различаются. Текстурный ExpandMargin расширяет рисунок, не резервируя место; StyleBoxEmpty может добавлять поля, не рисуя ничего. Настраивайте поля состояний кнопки согласованно, чтобы переходы hover/pressed не создавали неожиданный размер. Setter поля может испускать Changed даже при повторной записи того же числа.

Для собственного StyleBox реализуйте _Draw с переданным RID и прямоугольником. Обычно стиль вызывается через CanvasItem.DrawStyleBox во время _Draw элемента. GetCurrentItemDrawn возвращает текущий CanvasItem только в контексте рисования; вне его возможен null. Это общая ссылка, не объект для освобождения. _GetDrawRect описывает область рисунка, а _TestMask — отдельную проверку точки; callbacks не следует вызывать вместо обычных getters готового стиля.

TestMask без собственного callback возвращает true даже вне rect. Он сам не проверяет границы Control и не делает прозрачные пиксели текстуры некликабельными. Для фигурной TextureButton задайте её Bitmap-маску отдельно.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

StyleBoxКонструктор
# StyleBox
C#
public StyleBox();

Создаёт базовый ресурс с ContentMargin = -1 со всех сторон. Сам не предоставляет рисунок: используйте готовый стиль либо реализуйте _Draw в подклассе.

Свойства4

ContentMarginBottomСвойство
# ContentMarginBottom
C#
public float ContentMarginBottom { get; set; }

Сохранённое поле Bottom: -1 по умолчанию означает автоматическое значение производного стиля. 0 — явный нулевой отступ. GetMargin возвращает рассчитанное значение.

ContentMarginLeftСвойство
# ContentMarginLeft
C#
public float ContentMarginLeft { get; set; }

Сохранённое поле Left: -1 по умолчанию означает автоматическое значение производного стиля. 0 — явный нулевой отступ. GetMargin возвращает рассчитанное значение.

ContentMarginRightСвойство
# ContentMarginRight
C#
public float ContentMarginRight { get; set; }

Сохранённое поле Right: -1 по умолчанию означает автоматическое значение производного стиля. 0 — явный нулевой отступ. GetMargin возвращает рассчитанное значение.

ContentMarginTopСвойство
# ContentMarginTop
C#
public float ContentMarginTop { get; set; }

Сохранённое поле Top: -1 по умолчанию означает автоматическое значение производного стиля. 0 — явный нулевой отступ. GetMargin возвращает рассчитанное значение.

Методы13

Drawvoid
# Draw
C#
public void Draw(Rid canvasItem, Rect2 rect);

Рисует стиль в переданный canvas-item RID и Rect2. Обычно используйте CanvasItem.DrawStyleBox из _Draw элемента. RID должен принадлежать живому объекту рисования. Не размещает дочерние Control.

Параметры
ИмяТипПо умолчанию
canvasItemRid—
rectRect2—
canvasItem

RID живого canvas-item, принимающего команды рисунка.

rect

Прямоугольник стиля в координатах получателя рисунка.

GetContentMarginfloat
# GetContentMargin
C#
public float GetContentMargin(Side margin);

Возвращает сохранённое поле, включая отрицательное автоматическое значение. Для рассчитанного отступа используйте GetMargin.

Параметры
ИмяТипПо умолчанию
marginSide—
margin

Сторона Side.Left, Top, Right или Bottom.

Возвращает float

Сохранённое поле, включая отрицательное auto.

GetCurrentItemDrawnCanvasItem
# GetCurrentItemDrawn
C#
public CanvasItem GetCurrentItemDrawn();

Возвращает текущий CanvasItem контекста рисования либо null вне него. Общий объект не следует освобождать. Это не владелец ресурса StyleBox.

Возвращает CanvasItem

Общий текущий CanvasItem либо null.

GetMarginfloat
# GetMargin
C#
public float GetMargin(Side margin);

Возвращает рассчитанное поле: отрицательное ContentMargin заменяется полем производного стиля. Явный 0 остаётся нулём.

Параметры
ИмяТипПо умолчанию
marginSide—
margin

Сторона Side.Left, Top, Right или Bottom.

Возвращает float

Рассчитанное поле выбранной стороны в пикселях.

GetMinimumSizeVector2
# GetMinimumSize
C#
public Vector2 GetMinimumSize();

Возвращает суммы рассчитанных полей по осям с покомпонентным максимумом собственного _GetMinimumSize. Это минимум стиля, не полного Control.

Возвращает Vector2

Vector2 минимума стиля из полей и custom-callback.

GetOffsetVector2
# GetOffset
C#
public Vector2 GetOffset();

Возвращает рассчитанные левое/верхнее поля. Не учитывает декоративный ExpandMargin и не является глобальной позицией.

Возвращает Vector2

Рассчитанные поля (Left, Top).

SetContentMarginvoid
# SetContentMargin
C#
public void SetContentMargin(Side margin, float offset);

Сохраняет поле стороны и испускает Changed, даже при той же величине. Отрицательное означает автоматическое поле производного стиля; неотрицательное — явное.

Параметры
ИмяТипПо умолчанию
marginSide—
offsetfloat—
margin

Сторона Side.Left, Top, Right или Bottom.

offset

Сохраняет поле стороны и испускает Changed, даже при той же величине. Отрицательное означает автоматическое поле производного стиля; неотрицательное — явное.

SetContentMarginAllvoid
# SetContentMarginAll
C#
public void SetContentMarginAll(float offset);

Устанавливает одинаковое поле всем четырём сторонам, испуская Changed один раз. Отрицательное включает автоматические поля, 0 задаёт явные нули.

Параметры
ИмяТипПо умолчанию
offsetfloat—
offset

Устанавливает одинаковое поле всем четырём сторонам, испуская Changed один раз. Отрицательное включает автоматические поля, 0 задаёт явные нули.

TestMaskbool
# TestMask
C#
public bool TestMask(Vector2 point, Rect2 rect);

Вызывает собственную проверку _TestMask, а без неё возвращает true даже вне rect. Сам не обрезает по прямоугольнику и не проверяет альфу текстуры.

Параметры
ИмяТипПо умолчанию
pointVector2—
rectRect2—
point

Проверяемая точка в той же системе координат, что rect.

rect

Прямоугольник стиля в координатах получателя рисунка.

Возвращает bool

Результат callback либо true без него; не автоматическая проверка rect.

_Drawvoid
# _Draw
C#
public virtual void _Draw(Rid toCanvasItem, Rect2 rect);

Callback рисования собственного StyleBox в переданный RID/Rect2. Реализуйте рисунок в подклассе; это не обычный getter и не сигнал.

Параметры
ИмяТипПо умолчанию
toCanvasItemRid—
rectRect2—
toCanvasItem

RID живого canvas-item, принимающего команды рисунка.

rect

Прямоугольник стиля в координатах получателя рисунка.

_GetDrawRectRect2
# _GetDrawRect
C#
public virtual Rect2 _GetDrawRect(Rect2 rect);

Callback области рисунка собственного стиля, например с декоративным выходом за исходный rect. Не заменяет _Draw и не меняет поля содержимого. Не используйте как getter готового C++ стиля.

Параметры
ИмяТипПо умолчанию
rectRect2—
rect

Прямоугольник стиля в координатах получателя рисунка.

Возвращает Rect2

Область рисунка, указанная собственным стилем.

_GetMinimumSizeVector2
# _GetMinimumSize
C#
public virtual Vector2 _GetMinimumSize();

Callback дополнительной нижней границы минимума собственного стиля. Результат покомпонентно объединяется с суммами полей, не заменяет их меньшими значениями.

Возвращает Vector2

Дополнительная нижняя граница минимума.

_TestMaskbool
# _TestMask
C#
public virtual bool _TestMask(Vector2 point, Rect2 rect);

Callback собственной проверки точки относительно переданного rect. Реализуйте проверку границ явно; базовый StyleBox без callback принимает любую точку.

Параметры
ИмяТипПо умолчанию
pointVector2—
rectRect2—
point

Проверяемая точка в той же системе координат, что rect.

rect

Прямоугольник стиля в координатах получателя рисунка.

Возвращает bool

Результат собственной проверки точки.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.