L-w3: complete three-accent pastel repalette + REAPER-grey neutrals
Finish roleColor/roleColorState for the three-accent enum, re-map every Accent consumer (primary leads live; Pool/Banks titles categorical secondary/tertiary), make spectralColor a lime->teal->purple three-stop sweep, and re-lock the WCAG-floor tests on the grey ladder.
This commit is contained in:
+14
-9
@@ -435,7 +435,7 @@ void drawThumbnail(LICE_IBitmap* bmp, const CellRect& rect, const Envelope& env,
|
||||
|
||||
// Border: accent when selected, else hairline. A focus ring is a distinct text/primary
|
||||
// double-line (the kit's focus convention) so focus reads even on a selected cell.
|
||||
const KitColor border = selected ? roleColor(Role::Accent) : roleColor(Role::LineHairline);
|
||||
const KitColor border = selected ? roleColor(Role::AccentPrimary) : roleColor(Role::LineHairline);
|
||||
LICE_DrawRect(bmp, rect.x, rect.y, rect.width, rect.height, toLice(border), 1.0f, 0);
|
||||
if (focused) {
|
||||
const LICE_pixel ring = toLice(roleColor(Role::TextPrimary));
|
||||
@@ -446,7 +446,7 @@ void drawThumbnail(LICE_IBitmap* bmp, const CellRect& rect, const Envelope& env,
|
||||
// selected cell (whose fill is already the accent) — there it draws in bg/base for contrast.
|
||||
const LICE_pixel midCol = toLice(roleColor(Role::LineHairline));
|
||||
const LICE_pixel waveCol =
|
||||
toLice(selected ? roleColor(Role::BgBase) : roleColor(Role::Accent));
|
||||
toLice(selected ? roleColor(Role::BgBase) : roleColor(Role::AccentPrimary));
|
||||
|
||||
if (env.empty()) {
|
||||
const int midY = rect.y + rect.height / 2;
|
||||
@@ -1023,21 +1023,26 @@ void drawRegionHeader(LICE_IBitmap* bmp, const RECT& region, const char* title,
|
||||
LICE_Line(bmp, hdr.left, hdr.bottom - 1, hdr.right, hdr.bottom - 1,
|
||||
toLice(roleColor(Role::LineHairline)), 1.0f, 0, false);
|
||||
|
||||
// Title, left (Font::Title — a region heading).
|
||||
// Title, left (Font::Title — a region heading). The two regions are distinct KINDS of
|
||||
// container, so the title carries a CATEGORICAL accent (DS-2 revised: secondary/tertiary
|
||||
// mark kinds, never intensity) — Pool = secondary teal, Banks = tertiary purple. This is
|
||||
// a category mark, NOT the "what's live" signal (that stays the primary-lime "Active:"
|
||||
// readout beside it), keeping primary reserved for the live/active layer.
|
||||
RECT titleRc = hdr;
|
||||
titleRc.left += 8;
|
||||
titleRc.right = titleRc.left + 120;
|
||||
kitText(bmp, toKitBox(titleRc), title, Font::Title, Role::TextPrimary, Align::Left);
|
||||
const Role titleRole = poolBtnIsPool ? Role::AccentSecondary : Role::AccentTertiary;
|
||||
kitText(bmp, toKitBox(titleRc), title, Font::Title, titleRole, Align::Left);
|
||||
|
||||
// Active-bank readout — the UNMISTAKABLE indicator (settled B4 constraint), in the ACCENT
|
||||
// role in BOTH region headers so the active/capture-target bank is legible even when it is
|
||||
// not the shown tab and even when it is the pool. Accent = "where the punch lives" (DS-2).
|
||||
// Active-bank readout — the UNMISTAKABLE indicator (settled B4 constraint), in the PRIMARY
|
||||
// accent role in BOTH region headers so the active/capture-target bank is legible even when
|
||||
// it is not the shown tab and even when it is the pool. Primary = "what's live" (DS-2).
|
||||
const std::string readout = "Active: " + activeName;
|
||||
RECT actRc = hdr;
|
||||
actRc.left = titleRc.right + 6;
|
||||
actRc.right = createBtnRect(region).left - 6;
|
||||
if (actRc.right > actRc.left)
|
||||
kitText(bmp, toKitBox(actRc), readout.c_str(), Font::Label, Role::Accent, Align::Left);
|
||||
kitText(bmp, toKitBox(actRc), readout.c_str(), Font::Label, Role::AccentPrimary, Align::Left);
|
||||
|
||||
// Full-height toggle button: an arrow glyph. In split it means "maximize this region";
|
||||
// when this region is already full it means "restore the split". Kit drawButton + hover.
|
||||
@@ -1113,7 +1118,7 @@ void drawTabStrip(LICE_IBitmap* bmp, const RECT& region) {
|
||||
|
||||
// The active bank's tab gets a bright accent border (unmistakable), distinct from the
|
||||
// shown tab's fill — active != shown, made visible (kit accent role).
|
||||
const KitColor border = active ? roleColor(Role::Accent) : roleColor(Role::LineHairline);
|
||||
const KitColor border = active ? roleColor(Role::AccentPrimary) : roleColor(Role::LineHairline);
|
||||
LICE_DrawRect(bmp, tr.x, tr.y, tr.width, tr.height, toLice(border), 1.0f, 0);
|
||||
if (active)
|
||||
LICE_DrawRect(bmp, tr.x + 1, tr.y + 1, tr.width - 2, tr.height - 2,
|
||||
|
||||
Reference in New Issue
Block a user