@
fix(D.2b): arrow swap, centered menu text, scrollbar-to-top, Send caption - scroll arrows: native sprites are opposite (0x06004C6C up / 0x06004C69 down) per live visual — swap the assignment, drop the V-flip. - menu labels centered vertically in each 17px row (was top-aligned, looked corrupt). - scrollbar pulled up to the panel top so the top arrow meets the window border and the max/min button lines up with it (the 6px dat offset left a gap after the resize-bar reclaim). - Send button: the dat sprite 0x06001915 is a blank gold frame (export-confirmed), so add a generic optional Label/LabelFont to UiDatElement and draw "Send" centered on it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> @
This commit is contained in:
parent
bb983ae850
commit
621a4ab468
4 changed files with 43 additions and 21 deletions
|
|
@ -134,11 +134,12 @@ public sealed class UiChannelMenu : UiElement
|
|||
bool selected = Items[i].Channel is { } c && c == Selected;
|
||||
DrawSprite(ctx, resolve, selected ? ItemHighlightSprite : ItemNormalSprite, x, y, ColW, ItemH);
|
||||
}
|
||||
float textY = (ItemH - LineH()) * 0.5f; // center the label in its row
|
||||
for (int i = 0; i < Items.Length; i++)
|
||||
{
|
||||
int col = i / Rows, row = i % Rows;
|
||||
bool avail = Items[i].Channel is { } c && IsAvailable(c);
|
||||
DrawLabel(ctx, Items[i].Label, 4f + col * ColW, top + row * ItemH,
|
||||
DrawLabel(ctx, Items[i].Label, 4f + col * ColW, top + row * ItemH + textY,
|
||||
avail ? TextColorAvailable : TextColorGhosted);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue