- Add `DatFont` property (UiDatFont?): when set, OnDraw uses ctx.DrawStringDat + datFont.MeasureWidth for all transcript lines; BitmapFont path unchanged as fallback when DatFont is null. - Cache `_lastDatFont` alongside `_lastFont` so HitChar hit-tests the same advance source that drew the last frame. - HitChar prefers `_lastDatFont` (via UiDatFont.GlyphAdvance) over `_lastFont` (via bf.Advance) for column resolution, keeping drag-select and Ctrl+C accurate with the dat font. - Scroll event handler uses DatFont?.LineHeight first, so the wheel quantum stays correct when the dat font has a different line height. - WheelLines 3f → 1f: retail UIElement_Text::HandleMouseWheel (@0x471450) advances one line per notch; our 3-line quantum was wrong. - Add UiChatViewDatFontTests: pins GlyphAdvance formula (Before+Width+After = 10) and CharIndexAt dat-advance integration. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Plugins | ||
| Rendering | ||
| UI | ||
| World | ||
| AcDream.App.Tests.csproj | ||
| RuntimeOptionsRetailUiTests.cs | ||
| RuntimeOptionsTests.cs | ||