reckfellENGINE

CharFXTransform

Per-glyph context for a custom text effect.

On this page
class CharFXTransformReckfellSharpInherits RefCounted

CharFXTransform is passed to RichTextEffect._ProcessCustomFX and reused. A glyph need not correspond to one C# character: ligatures, composite characters and drawing passes break that assumption. Do not retain it as a snapshot or dispose it in the callback.

Drawing reads back Transform, Offset, Color, GlyphIndex and Visible. Other fields describe input context; their setters do not make the effect reshape text. To retain values, copy the required scalar/struct fields rather than the context reference.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

CharFXTransformConstructor
# CharFXTransform
C#
public CharFXTransform();

Creates a separate context container. For effects, use the callback argument: constructing one does not attach it to RichTextLabel.

Properties13

ColorProperty
# Color
C#
public Color Color { get; set; }

Current glyph color after earlier settings/effects. Preserve the required alpha in a replacement Color. Changes this drawing pass rather than every following character.

ElapsedTimeProperty
# ElapsedTime
C#
public double ElapsedTime { get; set; }

Effect-span elapsed time in seconds for animation. Neither frame delta nor system time. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

EnvProperty
# Env
C#
public Reckfell.Collections.Dictionary Env { get; set; }

Effect-span parameter dictionary, supplied by BBCode or PushCustomfx env. Shared by reference; do not mutate it as a temporary snapshot. CharFXTransform destruction clears the dictionary: supply a separate Dictionary for independent data. Replacing Env does not edit source BBCode.

FontProperty
# Font
C#
public Rid Font { get; set; }

Borrowed RID of the current font for glyph queries. Do not free it through a server. Changing the field does not switch the drawing font; use RichTextLabel formatting for another font.

GlyphCountProperty
# GlyphCount
C#
public byte GlyphCount { get; set; }

Text-system glyph count for the associated cluster, not source-string length. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

GlyphFlagsProperty
# GlyphFlags
C#
public ushort GlyphFlags { get; set; }

Text-system glyph flags such as direction and cluster boundaries. Not effect flags. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

GlyphIndexProperty
# GlyphIndex
C#
public uint GlyphIndex { get; set; }

Glyph index in the current font, not a Unicode value or C# char index. May be replaced with another valid glyph in that font; layout and advance are not recomputed.

OffsetProperty
# Offset
C#
public Vector2 Offset { get; set; }

Additional glyph drawing offset in pixels. Add to the incoming Offset to retain preceding effects. Does not move a character in logical text.

OutlineProperty
# Outline
C#
public bool Outline { get; set; }

true for outline or shadow passes, false for the main text. One glyph may invoke the callback several times per frame. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

RangeProperty
# Range
C#
public Vector2I Range { get; set; }

Logical character range represented by the glyph: X start, Y end. Not C# UTF-16 string indices or screen coordinates. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

RelativeIndexProperty
# RelativeIndex
C#
public int RelativeIndex { get; set; }

Glyph-start offset from the effect span start in logical characters. Not a callback invocation counter: drawing passes can repeat. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

TransformProperty
# Transform
C#
public Transform2D Transform { get; set; }

Current glyph transform, already containing its base position. Modify relative to the incoming value; replacing it with Identity can lose positioning. Does not change wrapping or line sizes.

VisibleProperty
# Visible
C#
public bool Visible { get; set; }

Allows drawing this glyph. false hides it while retaining its occupied space. true cannot restore a glyph already hidden by an earlier effect or visibility limit.

Methods26

GetColorColor
# GetColor
C#
public Color GetColor();

Current glyph color after earlier settings/effects. Preserve the required alpha in a replacement Color. Changes this drawing pass rather than every following character.

Returns Color

Current glyph color after earlier settings/effects. Preserve the required alpha in a replacement Color. Changes this drawing pass rather than every following character.

GetElapsedTimedouble
# GetElapsedTime
C#
public double GetElapsedTime();

Effect-span elapsed time in seconds for animation. Neither frame delta nor system time. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Returns double

Effect-span elapsed time in seconds for animation. Neither frame delta nor system time. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

GetEnvironmentReckfell.Collections.Dictionary
# GetEnvironment
C#
public Reckfell.Collections.Dictionary GetEnvironment();

Effect-span parameter dictionary, supplied by BBCode or PushCustomfx env. Shared by reference; do not mutate it as a temporary snapshot. CharFXTransform destruction clears the dictionary: supply a separate Dictionary for independent data. Replacing Env does not edit source BBCode.

Returns Reckfell.Collections.Dictionary

Effect-span parameter dictionary, supplied by BBCode or PushCustomfx env. Shared by reference; do not mutate it as a temporary snapshot. CharFXTransform destruction clears the dictionary: supply a separate Dictionary for independent data. Replacing Env does not edit source BBCode.

GetFontRid
# GetFont
C#
public Rid GetFont();

Borrowed RID of the current font for glyph queries. Do not free it through a server. Changing the field does not switch the drawing font; use RichTextLabel formatting for another font.

Returns Rid

Borrowed RID of the current font for glyph queries. Do not free it through a server. Changing the field does not switch the drawing font; use RichTextLabel formatting for another font.

GetGlyphCountbyte
# GetGlyphCount
C#
public byte GetGlyphCount();

Text-system glyph count for the associated cluster, not source-string length. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Returns byte

Text-system glyph count for the associated cluster, not source-string length. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

GetGlyphFlagsushort
# GetGlyphFlags
C#
public ushort GetGlyphFlags();

Text-system glyph flags such as direction and cluster boundaries. Not effect flags. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Returns ushort

Text-system glyph flags such as direction and cluster boundaries. Not effect flags. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

GetGlyphIndexuint
# GetGlyphIndex
C#
public uint GetGlyphIndex();

Glyph index in the current font, not a Unicode value or C# char index. May be replaced with another valid glyph in that font; layout and advance are not recomputed.

Returns uint

Glyph index in the current font, not a Unicode value or C# char index. May be replaced with another valid glyph in that font; layout and advance are not recomputed.

GetOffsetVector2
# GetOffset
C#
public Vector2 GetOffset();

Additional glyph drawing offset in pixels. Add to the incoming Offset to retain preceding effects. Does not move a character in logical text.

Returns Vector2

Additional glyph drawing offset in pixels. Add to the incoming Offset to retain preceding effects. Does not move a character in logical text.

GetRangeVector2I
# GetRange
C#
public Vector2I GetRange();

Logical character range represented by the glyph: X start, Y end. Not C# UTF-16 string indices or screen coordinates. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Returns Vector2I

Logical character range represented by the glyph: X start, Y end. Not C# UTF-16 string indices or screen coordinates. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

GetRelativeIndexint
# GetRelativeIndex
C#
public int GetRelativeIndex();

Glyph-start offset from the effect span start in logical characters. Not a callback invocation counter: drawing passes can repeat. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Returns int

Glyph-start offset from the effect span start in logical characters. Not a callback invocation counter: drawing passes can repeat. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

GetTransformTransform2D
# GetTransform
C#
public Transform2D GetTransform();

Current glyph transform, already containing its base position. Modify relative to the incoming value; replacing it with Identity can lose positioning. Does not change wrapping or line sizes.

Returns Transform2D

Current glyph transform, already containing its base position. Modify relative to the incoming value; replacing it with Identity can lose positioning. Does not change wrapping or line sizes.

IsOutlinebool
# IsOutline
C#
public bool IsOutline();

true for outline or shadow passes, false for the main text. One glyph may invoke the callback several times per frame. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Returns bool

true for outline or shadow passes, false for the main text. One glyph may invoke the callback several times per frame. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

IsVisiblebool
# IsVisible
C#
public bool IsVisible();

Allows drawing this glyph. false hides it while retaining its occupied space. true cannot restore a glyph already hidden by an earlier effect or visibility limit.

Returns bool

Allows drawing this glyph. false hides it while retaining its occupied space. true cannot restore a glyph already hidden by an earlier effect or visibility limit.

SetColorvoid
# SetColor
C#
public void SetColor(Color color);

Current glyph color after earlier settings/effects. Preserve the required alpha in a replacement Color. Changes this drawing pass rather than every following character.

Parameters
NameTypeDefault
colorColor—
color

New value for the corresponding context field; see that field’s application limits.

SetElapsedTimevoid
# SetElapsedTime
C#
public void SetElapsedTime(double time);

Effect-span elapsed time in seconds for animation. Neither frame delta nor system time. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Parameters
NameTypeDefault
timedouble—
time

New value for the corresponding context field; see that field’s application limits.

SetEnvironmentvoid
# SetEnvironment
C#
public void SetEnvironment(Reckfell.Collections.Dictionary environment);

Effect-span parameter dictionary, supplied by BBCode or PushCustomfx env. Shared by reference; do not mutate it as a temporary snapshot. CharFXTransform destruction clears the dictionary: supply a separate Dictionary for independent data. Replacing Env does not edit source BBCode.

Parameters
NameTypeDefault
environmentReckfell.Collections.Dictionary—
environment

New value for the corresponding context field; see that field’s application limits.

SetFontvoid
# SetFont
C#
public void SetFont(Rid font);

Borrowed RID of the current font for glyph queries. Do not free it through a server. Changing the field does not switch the drawing font; use RichTextLabel formatting for another font.

Parameters
NameTypeDefault
fontRid—
font

New value for the corresponding context field; see that field’s application limits.

SetGlyphCountvoid
# SetGlyphCount
C#
public void SetGlyphCount(byte glyphCount);

Text-system glyph count for the associated cluster, not source-string length. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Parameters
NameTypeDefault
glyphCountbyte—
glyphCount

New value for the corresponding context field; see that field’s application limits.

SetGlyphFlagsvoid
# SetGlyphFlags
C#
public void SetGlyphFlags(ushort glyphFlags);

Text-system glyph flags such as direction and cluster boundaries. Not effect flags. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Parameters
NameTypeDefault
glyphFlagsushort—
glyphFlags

New value for the corresponding context field; see that field’s application limits.

SetGlyphIndexvoid
# SetGlyphIndex
C#
public void SetGlyphIndex(uint glyphIndex);

Glyph index in the current font, not a Unicode value or C# char index. May be replaced with another valid glyph in that font; layout and advance are not recomputed.

Parameters
NameTypeDefault
glyphIndexuint—
glyphIndex

New value for the corresponding context field; see that field’s application limits.

SetOffsetvoid
# SetOffset
C#
public void SetOffset(Vector2 offset);

Additional glyph drawing offset in pixels. Add to the incoming Offset to retain preceding effects. Does not move a character in logical text.

Parameters
NameTypeDefault
offsetVector2—
offset

New value for the corresponding context field; see that field’s application limits.

SetOutlinevoid
# SetOutline
C#
public void SetOutline(bool outline);

true for outline or shadow passes, false for the main text. One glyph may invoke the callback several times per frame. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Parameters
NameTypeDefault
outlinebool—
outline

New value for the corresponding context field; see that field’s application limits.

SetRangevoid
# SetRange
C#
public void SetRange(Vector2I range);

Logical character range represented by the glyph: X start, Y end. Not C# UTF-16 string indices or screen coordinates. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Parameters
NameTypeDefault
rangeVector2I—
range

New value for the corresponding context field; see that field’s application limits.

SetRelativeIndexvoid
# SetRelativeIndex
C#
public void SetRelativeIndex(int relativeIndex);

Glyph-start offset from the effect span start in logical characters. Not a callback invocation counter: drawing passes can repeat. Input context for the current glyph; writing the setter does not change text layout and is overwritten by the next engine callback.

Parameters
NameTypeDefault
relativeIndexint—
relativeIndex

New value for the corresponding context field; see that field’s application limits.

SetTransformvoid
# SetTransform
C#
public void SetTransform(Transform2D transform);

Current glyph transform, already containing its base position. Modify relative to the incoming value; replacing it with Identity can lose positioning. Does not change wrapping or line sizes.

Parameters
NameTypeDefault
transformTransform2D—
transform

New value for the corresponding context field; see that field’s application limits.

SetVisibilityvoid
# SetVisibility
C#
public void SetVisibility(bool visibility);

Allows drawing this glyph. false hides it while retaining its occupied space. true cannot restore a glyph already hidden by an earlier effect or visibility limit.

Parameters
NameTypeDefault
visibilitybool—
visibility

New value for the corresponding context field; see that field’s application limits.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.