feat(D.2b): chat wiring — menu/input sprites, button reflow, char-wrap, panel wash fix
- ChatWindowController: wires the menu chrome (popup bevel, row/checkbox sprites), the input focused-field sprite + keyboard, and autosizes the channel button + reflows the input field to start after it (anchor re-capture so the per-frame layout doesn't fight it). DefaultTextInput / write-mode focus hooked up. - WrapText now breaks an over-long UNBROKEN token at character boundaries (no hyphen), packed onto the current line first — so a spaceless token wraps instead of overflowing, and a "You say," prefix stays on the same row as the start of the message. - UiChatView: transcript background + selection highlight use DrawFill (sprite bucket) so the transcript text draws ON TOP instead of being dimmed by its own translucent rect background. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
2284a376ae
commit
ce848c154d
2 changed files with 58 additions and 11 deletions
|
|
@ -93,7 +93,11 @@ public sealed class UiChatView : UiElement
|
|||
|
||||
protected override void OnDraw(UiRenderContext ctx)
|
||||
{
|
||||
ctx.DrawRect(0, 0, Width, Height, BackgroundColor);
|
||||
// Background must draw UNDER the transcript text. DrawStringDat emits into the
|
||||
// sprite bucket which flushes BEFORE rects, so a DrawRect background would wash
|
||||
// over the text. DrawFill routes the background through the sprite bucket too,
|
||||
// submitted first → text on top.
|
||||
ctx.DrawFill(0, 0, Width, Height, BackgroundColor);
|
||||
|
||||
// Prefer the retail dat font when set; fall back to BitmapFont.
|
||||
var datFont = DatFont;
|
||||
|
|
@ -161,7 +165,9 @@ public sealed class UiChatView : UiElement
|
|||
hx = Padding + bitmapFont!.MeasureWidth(text.Substring(0, c0));
|
||||
hw = bitmapFont.MeasureWidth(text.Substring(c0, c1 - c0));
|
||||
}
|
||||
ctx.DrawRect(hx, y, hw, lh, SelectionColor);
|
||||
// Highlight sits BEHIND the line's text → sprite bucket, submitted
|
||||
// before this line's DrawStringDat.
|
||||
ctx.DrawFill(hx, y, hw, lh, SelectionColor);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue