GlyphCache class

Caches pre-laid-out single-glyph paragraphs keyed by (codepoint, fg) so the painter never re-runs text layout on the hot path. LRU-capped.

Constructors

GlyphCache({required String fontFamily, required double fontSize, required double cellWidth, List<String> fontFamilyFallback = const [], String? boldFamily, String? italicFamily, String? boldItalicFamily, double lineHeight = 1.0, double glyphOffsetX = 0, double glyphOffsetY = 0, int maxEntries = 4096, int maxBuildsPerFrame = 128})

Properties

boldFamily String?
final
boldItalicFamily String?
final
cellWidth double
final
fontFamily String
final
fontFamilyFallback List<String>
final
fontSize double
final
glyphOffsetX double
Shift applied when drawing paragraphs (alacritty font.glyph_offset). Stored here so the painter can read it on the drawParagraph fallback path.
final
glyphOffsetY double
final
hashCode int
The hash code for this object.
no setterinherited
italicFamily String?
final
length int
no setter
lineHeight double
Line-height multiplier matching the cell metrics. A forced strut of this height makes every glyph (ASCII, CJK, fallback fonts) share one baseline and fill the cell box, so text aligns with full-cell box-drawing glyphs instead of riding high in an over-tall cell.
final
maxBuildsPerFrame int
Caps synchronous paragraph layout per frame so first paint cannot freeze the UI.
final
maxEntries int
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

beginFrame() → void
dispose() → void
Clears the cached paragraphs. Call before rebuilding the cache with new font metrics (e.g. on font-zoom).
familyForStyle({required bool bold, required bool italic}) String
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
tryGet(int codepoint, int fg, {bool bold = false, bool italic = false, bool wide = false}) Paragraph?
Returns a cached paragraph, or builds one if under the per-frame budget. Returns null when the budget is exhausted (the painter schedules a warmup frame and the glyph fills in next frame).

Operators

operator ==(Object other) bool
The equality operator.
inherited