CharFXTransform
Контекст одного глифа для пользовательского эффекта текста.
CharFXTransform передаётся в RichTextEffect._ProcessCustomFX и переиспользуется. Глиф не обязательно соответствует одному символу C#: лигатуры, составные символы и разные проходы отрисовки нарушают такое соответствие. Не сохраняйте объект как снимок и не освобождайте его в callback.
Результат отрисовки читает Transform, Offset, Color, GlyphIndex и Visible. Остальные поля описывают входной контекст; их setters не превращают эффект в перераскладку текста. Для сохранения значений копируйте нужные скалярные/структурные поля, а не ссылку на контекст.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
CharFXTransformКонструктор
public CharFXTransform();Создаёт отдельный контейнер контекста. Для эффекта используйте объект, переданный в callback: самостоятельное создание не подключает его к RichTextLabel.
Свойства13
ColorСвойство
public Color Color { get; set; }Текущий цвет глифа с учётом ранее применённых настроек. Новый Color должен сохранять нужную альфу. Изменяет этот проход отрисовки, не цвет всех последующих символов.
ElapsedTimeСвойство
public double ElapsedTime { get; set; }Прошедшее время области эффекта в секундах для анимации. Это не delta кадра и не время системы. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
EnvСвойство
public Reckfell.Collections.Dictionary Env { get; set; }Словарь параметров области эффекта: из BBCode либо env в PushCustomfx. Хранится по общей ссылке; не изменяйте его как временный снимок. При уничтожении CharFXTransform словарь очищается: для независимых данных передавайте отдельный Dictionary. Замена Env не меняет исходный BBCode.
FontСвойство
public Rid Font { get; set; }Заимствованный RID текущего шрифта для запросов глифов. Не освобождайте его через сервер. Изменение этого поля не переключает шрифт отрисовки; для другого шрифта используйте форматирование RichTextLabel.
GlyphCountСвойство
public byte GlyphCount { get; set; }Число глифов в связанном кластере по данным текстовой системы; не длина исходной строки. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
GlyphFlagsСвойство
public ushort GlyphFlags { get; set; }Биты свойств глифа текстовой системы, например направления и границ кластера. Не флаги эффектов. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
GlyphIndexСвойство
public uint GlyphIndex { get; set; }Индекс глифа в текущем шрифте, не код Unicode и не индекс char в C#. Можно заменить другим существующим глифом того же шрифта; раскладка и ширина при этом заново не вычисляются.
OffsetСвойство
public Vector2 Offset { get; set; }Дополнительное смещение глифа в пикселях отрисовки. Прибавляйте к входному Offset, чтобы сохранить предыдущие эффекты. Не перемещает символ в логическом тексте.
OutlineСвойство
public bool Outline { get; set; }true для прохода контура или тени, false для основного текста. Один глиф может вызвать callback несколько раз за кадр. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
RangeСвойство
public Vector2I Range { get; set; }Диапазон логических символов, соответствующих текущему глифу: X — начало, Y — конец. Это не диапазон UTF-16-индексов строки C# и не экранные координаты. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
RelativeIndexСвойство
public int RelativeIndex { get; set; }Смещение начала глифа относительно начала области эффекта в логических символах. Не порядковый номер вызова callback: проходы могут повторяться. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
TransformСвойство
public Transform2D Transform { get; set; }Преобразование текущего глифа, уже содержащее базовую позицию. Меняйте относительно входного значения; замена на Identity может потерять размещение. Не меняет переносы или размеры строк.
VisibleСвойство
public bool Visible { get; set; }Разрешает отрисовку текущего глифа. false скрывает его, сохраняя занимаемое место. true не восстанавливает глиф, уже скрытый предыдущим эффектом или ограничением видимости.
Методы26
GetColorColor
public Color GetColor();Текущий цвет глифа с учётом ранее применённых настроек. Новый Color должен сохранять нужную альфу. Изменяет этот проход отрисовки, не цвет всех последующих символов.
ColorТекущий цвет глифа с учётом ранее применённых настроек. Новый Color должен сохранять нужную альфу. Изменяет этот проход отрисовки, не цвет всех последующих символов.
GetElapsedTimedouble
public double GetElapsedTime();Прошедшее время области эффекта в секундах для анимации. Это не delta кадра и не время системы. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
doubleПрошедшее время области эффекта в секундах для анимации. Это не delta кадра и не время системы. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
GetEnvironmentReckfell.Collections.Dictionary
public Reckfell.Collections.Dictionary GetEnvironment();Словарь параметров области эффекта: из BBCode либо env в PushCustomfx. Хранится по общей ссылке; не изменяйте его как временный снимок. При уничтожении CharFXTransform словарь очищается: для независимых данных передавайте отдельный Dictionary. Замена Env не меняет исходный BBCode.
Reckfell.Collections.DictionaryСловарь параметров области эффекта: из BBCode либо env в PushCustomfx. Хранится по общей ссылке; не изменяйте его как временный снимок. При уничтожении CharFXTransform словарь очищается: для независимых данных передавайте отдельный Dictionary. Замена Env не меняет исходный BBCode.
GetFontRid
public Rid GetFont();Заимствованный RID текущего шрифта для запросов глифов. Не освобождайте его через сервер. Изменение этого поля не переключает шрифт отрисовки; для другого шрифта используйте форматирование RichTextLabel.
RidЗаимствованный RID текущего шрифта для запросов глифов. Не освобождайте его через сервер. Изменение этого поля не переключает шрифт отрисовки; для другого шрифта используйте форматирование RichTextLabel.
GetGlyphCountbyte
public byte GetGlyphCount();Число глифов в связанном кластере по данным текстовой системы; не длина исходной строки. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
byteЧисло глифов в связанном кластере по данным текстовой системы; не длина исходной строки. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
GetGlyphFlagsushort
public ushort GetGlyphFlags();Биты свойств глифа текстовой системы, например направления и границ кластера. Не флаги эффектов. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
ushortБиты свойств глифа текстовой системы, например направления и границ кластера. Не флаги эффектов. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
GetGlyphIndexuint
public uint GetGlyphIndex();Индекс глифа в текущем шрифте, не код Unicode и не индекс char в C#. Можно заменить другим существующим глифом того же шрифта; раскладка и ширина при этом заново не вычисляются.
uintИндекс глифа в текущем шрифте, не код Unicode и не индекс char в C#. Можно заменить другим существующим глифом того же шрифта; раскладка и ширина при этом заново не вычисляются.
GetOffsetVector2
public Vector2 GetOffset();Дополнительное смещение глифа в пикселях отрисовки. Прибавляйте к входному Offset, чтобы сохранить предыдущие эффекты. Не перемещает символ в логическом тексте.
Vector2Дополнительное смещение глифа в пикселях отрисовки. Прибавляйте к входному Offset, чтобы сохранить предыдущие эффекты. Не перемещает символ в логическом тексте.
GetRangeVector2I
public Vector2I GetRange();Диапазон логических символов, соответствующих текущему глифу: X — начало, Y — конец. Это не диапазон UTF-16-индексов строки C# и не экранные координаты. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
Vector2IДиапазон логических символов, соответствующих текущему глифу: X — начало, Y — конец. Это не диапазон UTF-16-индексов строки C# и не экранные координаты. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
GetRelativeIndexint
public int GetRelativeIndex();Смещение начала глифа относительно начала области эффекта в логических символах. Не порядковый номер вызова callback: проходы могут повторяться. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
intСмещение начала глифа относительно начала области эффекта в логических символах. Не порядковый номер вызова callback: проходы могут повторяться. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
GetTransformTransform2D
public Transform2D GetTransform();Преобразование текущего глифа, уже содержащее базовую позицию. Меняйте относительно входного значения; замена на Identity может потерять размещение. Не меняет переносы или размеры строк.
Transform2DПреобразование текущего глифа, уже содержащее базовую позицию. Меняйте относительно входного значения; замена на Identity может потерять размещение. Не меняет переносы или размеры строк.
IsOutlinebool
public bool IsOutline();true для прохода контура или тени, false для основного текста. Один глиф может вызвать callback несколько раз за кадр. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
booltrue для прохода контура или тени, false для основного текста. Один глиф может вызвать callback несколько раз за кадр. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
IsVisiblebool
public bool IsVisible();Разрешает отрисовку текущего глифа. false скрывает его, сохраняя занимаемое место. true не восстанавливает глиф, уже скрытый предыдущим эффектом или ограничением видимости.
boolРазрешает отрисовку текущего глифа. false скрывает его, сохраняя занимаемое место. true не восстанавливает глиф, уже скрытый предыдущим эффектом или ограничением видимости.
SetColorvoid
public void SetColor(Color color);Текущий цвет глифа с учётом ранее применённых настроек. Новый Color должен сохранять нужную альфу. Изменяет этот проход отрисовки, не цвет всех последующих символов.
| Имя | Тип | По умолчанию |
|---|---|---|
color | Color | — |
colorНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetElapsedTimevoid
public void SetElapsedTime(double time);Прошедшее время области эффекта в секундах для анимации. Это не delta кадра и не время системы. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
| Имя | Тип | По умолчанию |
|---|---|---|
time | double | — |
timeНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetEnvironmentvoid
public void SetEnvironment(Reckfell.Collections.Dictionary environment);Словарь параметров области эффекта: из BBCode либо env в PushCustomfx. Хранится по общей ссылке; не изменяйте его как временный снимок. При уничтожении CharFXTransform словарь очищается: для независимых данных передавайте отдельный Dictionary. Замена Env не меняет исходный BBCode.
| Имя | Тип | По умолчанию |
|---|---|---|
environment | Reckfell.Collections.Dictionary | — |
environmentНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetFontvoid
public void SetFont(Rid font);Заимствованный RID текущего шрифта для запросов глифов. Не освобождайте его через сервер. Изменение этого поля не переключает шрифт отрисовки; для другого шрифта используйте форматирование RichTextLabel.
| Имя | Тип | По умолчанию |
|---|---|---|
font | Rid | — |
fontНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetGlyphCountvoid
public void SetGlyphCount(byte glyphCount);Число глифов в связанном кластере по данным текстовой системы; не длина исходной строки. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
| Имя | Тип | По умолчанию |
|---|---|---|
glyphCount | byte | — |
glyphCountНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetGlyphFlagsvoid
public void SetGlyphFlags(ushort glyphFlags);Биты свойств глифа текстовой системы, например направления и границ кластера. Не флаги эффектов. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
| Имя | Тип | По умолчанию |
|---|---|---|
glyphFlags | ushort | — |
glyphFlagsНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetGlyphIndexvoid
public void SetGlyphIndex(uint glyphIndex);Индекс глифа в текущем шрифте, не код Unicode и не индекс char в C#. Можно заменить другим существующим глифом того же шрифта; раскладка и ширина при этом заново не вычисляются.
| Имя | Тип | По умолчанию |
|---|---|---|
glyphIndex | uint | — |
glyphIndexНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetOffsetvoid
public void SetOffset(Vector2 offset);Дополнительное смещение глифа в пикселях отрисовки. Прибавляйте к входному Offset, чтобы сохранить предыдущие эффекты. Не перемещает символ в логическом тексте.
| Имя | Тип | По умолчанию |
|---|---|---|
offset | Vector2 | — |
offsetНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetOutlinevoid
public void SetOutline(bool outline);true для прохода контура или тени, false для основного текста. Один глиф может вызвать callback несколько раз за кадр. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
| Имя | Тип | По умолчанию |
|---|---|---|
outline | bool | — |
outlineНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetRangevoid
public void SetRange(Vector2I range);Диапазон логических символов, соответствующих текущему глифу: X — начало, Y — конец. Это не диапазон UTF-16-индексов строки C# и не экранные координаты. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
| Имя | Тип | По умолчанию |
|---|---|---|
range | Vector2I | — |
rangeНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetRelativeIndexvoid
public void SetRelativeIndex(int relativeIndex);Смещение начала глифа относительно начала области эффекта в логических символах. Не порядковый номер вызова callback: проходы могут повторяться. Входное поле текущего глифа; запись через setter не меняет раскладку текста и перезаписывается следующим вызовом движка.
| Имя | Тип | По умолчанию |
|---|---|---|
relativeIndex | int | — |
relativeIndexНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetTransformvoid
public void SetTransform(Transform2D transform);Преобразование текущего глифа, уже содержащее базовую позицию. Меняйте относительно входного значения; замена на Identity может потерять размещение. Не меняет переносы или размеры строк.
| Имя | Тип | По умолчанию |
|---|---|---|
transform | Transform2D | — |
transformНовое значение соответствующего поля контекста; ограничения применения описаны у поля.
SetVisibilityvoid
public void SetVisibility(bool visibility);Разрешает отрисовку текущего глифа. false скрывает его, сохраняя занимаемое место. true не восстанавливает глиф, уже скрытый предыдущим эффектом или ограничением видимости.
| Имя | Тип | По умолчанию |
|---|---|---|
visibility | bool | — |
visibilityНовое значение соответствующего поля контекста; ограничения применения описаны у поля.