Make the background FX drain visible: a busy cursor over the panel and a footer readout that names its direction, driven off fxReclaimActivity

This commit is contained in:
2026-08-21 14:45:25 -04:00
parent da8401239a
commit 052fbb0d52
9 changed files with 182 additions and 6 deletions
+7 -5
View File
@@ -147,13 +147,15 @@ void drawFooter(LICE_IBitmap* bmp, int w, int h) {
}
}
// Per-mode member count, a compact dim readout beside the toggle. Passive text, not a control.
// The one passive readout beside the toggle: a moving FX drain, else the per-mode member
// count (footerReadout owns which). Passive text, not a control. The drain draws
// text/primary against the count's text/dim so a transient state reads as one.
if (!fb.count.empty()) {
const int members = activeModeMemberCount();
const std::string countLabel =
std::to_string(members) + (members == 1 ? " track" : " tracks");
const bool draining = g_panel.fxDrain != FxDrainState::Idle;
const std::string label = footerReadout(g_panel.fxDrain, activeModeMemberCount());
kitText(bmp, KitBox{fb.count.x, fb.count.y, fb.count.width, fb.count.height},
countLabel.c_str(), Font::Micro, Role::TextDim, Align::Center);
label.c_str(), Font::Micro,
draining ? Role::TextPrimary : Role::TextDim, Align::Center);
}
// Tail BUTTON — a real kit button with rest/hover states; its click cycles the tail