DreamGUI
Reference

FDreamTextStyle

How the built-in shader draws a text's glyphs beyond the plain face: outline, underlay (drop

Declared in Public/Core/DreamUITextData.h.

How the built-in shader draws a text's glyphs beyond the plain face: outline, underlay (drop shadow), glow, and how the unfilled part of a lyric line looks. Lengths are in em, so a style reads the same at every font size. Only distance-field fonts (MTSDF) render these; bitmap fonts draw the face alone.

The style is stored per widget in the canvas's widget property texture, so texts with different styles still batch into one draw.

Properties

NameTypeCategoryIn the details panelFrom BlueprintDescription
FaceSoftnessfloatFaceyesread / writeExtra edge softness (blur) in em. 0 draws a crisp edge. Each glyph softens on its own, so past about 0.05 em the halos of neighbouring glyphs visibly merge; a real blur of a whole line is a post-process job, not a style.
FaceDilatefloatFaceyesread / writeGrow (positive) or shrink (negative) the face, in em.
OutlineColorFColorOutlineyesread / writeOutline colour; alpha 0 means no outline.
OutlineWidthfloatOutlineyesread / writeOutline width outside the face, in em.
OutlineSoftnessfloatOutlineyesread / writeOutline edge softness, in em.
UnderlayColorFColorUnderlayyesread / writeUnderlay (drop shadow) colour; alpha 0 means no underlay.
UnderlayOffsetFVector2fUnderlayyesread / writeUnderlay offset in em; +Y is down.
UnderlaySoftnessfloatUnderlayyesread / writeUnderlay edge softness, in em.
UnderlayDilatefloatUnderlayyesread / writeGrow the underlay beyond the face, in em.
GlowColorFColorGlowyesread / writeGlow colour; alpha scales the glow's strength, 0 means no glow.
GlowWidthfloatGlowyesread / writeHow far the glow reaches outside the face, in em. Every reach is clamped to what the font's field holds (SDFRadius / SampleFontSize em), so a wider glow needs a font with a wider spread.
GlowPowerfloatGlowyesread / writeGlow falloff exponent; higher keeps the glow tight to the face.
FillDimAlphafloatFillyesread / writeAlpha of the part of a glyph run that the fill progress has not reached yet (lyrics).
FillFadeWidthfloatFillyesread / writeWidth of the lit/unlit transition as a fraction of the run, 0..1.
FacePaintFDreamTextPaintPaintyesread / writeFill the face with a gradient instead of the text's colour, as CSS's background-clip: text with color: transparent does: the face is the gradient times the content tint, a custom style's Multiply and TextAnimation's colour, and the text's own Color is not used for it. A <color> run inside stays solid, and so does a hovered link. Emoji keep their colours. Works on every kind of glyph -- distance field, small-text coverage, bitmap -- and on underlines and strikethroughs; drawn by the built-in shader and by materials built on MF_DreamUI_Shade, approximated in the vertex colours for any other material.
OutlinePaintFDreamTextPaintPaintyesread / writeFill the outline with a gradient, times OutlineColor (white shows the gradient as it is). Needs an outline: OutlineColor's alpha and OutlineWidth.
OverlayPaintFDreamTextPaintPaintyesread / writeA gradient mixed onto the face, solid or painted, as OverlayBlend says: a highlight band, which UDreamText::SetOverlayPaintPhase moves across the text.
OverlayBlendEDreamTextOverlayBlendPaintyesread / write
PaintBoxHorizontalEDreamTextPaintBoxPaintyesread / writeWhat the text's paints are measured across, across and down; the text as a block on both, CSS's background box, by default.
PaintBoxVerticalEDreamTextPaintBoxPaintyesread / write

On this page