engine: materialize live ADV glyphs

This commit is contained in:
gamer147
2026-07-30 19:04:22 -04:00
parent c2b72cd4b9
commit 1367563485
15 changed files with 758 additions and 27 deletions

View File

@@ -30,7 +30,21 @@ public readonly record struct AdvTextLayoutPresentationBinding(
int SourceSurfaceSlot,
long FirstObjectHandle,
long ObjectCapacity,
long WaitIndicatorObjectHandle);
long WaitIndicatorObjectHandle,
int ResetCursorX,
int ResetCursorY);
public readonly record struct AdvRetainedGlyphPlacement(
AdvRetainedGlyphRecord Record,
int LayoutOriginX,
int LayoutOriginY);
public readonly record struct AdvRetainedTextRunResult(
int LayoutSlot,
int FirstGlyphIndex,
int GlyphCount,
int CursorX,
int CursorY);
/// <summary>Platform-neutral rules established from AGE's native retained-glyph workers.</summary>
public static class AdvRetainedTextContract

View File

@@ -201,7 +201,8 @@ public sealed class AdvTextHistory
var layout = GetOrCreateLayout(slot);
return new AdvTextLayoutPresentationBinding(
slot, checked(slot + 0x14), layout.TextObjectRangeFirst,
layout.TextObjectRangeCount, layout.WaitIndicatorObjectHandle);
layout.TextObjectRangeCount, layout.WaitIndicatorObjectHandle,
layout.ResetCursorX, layout.ResetCursorY);
}
/// <summary>