fix duplicated drawing of rec-related icons in trigger box UIs

This commit is contained in:
Paul Davis 2025-01-27 15:15:20 -07:00
parent 49d26236ac
commit 24e8165c12

View file

@ -318,10 +318,10 @@ TriggerEntry::draw_launch_icon (Cairo::RefPtr<Cairo::Context> context, float sz,
if (!trigger ()->playable ()) {
bool solid = false;
context->arc (margin + (size * 0.75), margin + (size * 0.75), (size * 0.75), 0., 360.0 * (M_PI/180.0));
switch (tref.box()->record_enabled()) {
case Enabled:
context->arc (margin + (size * 0.75), margin + (size * 0.75), (size * 0.75), 0., 360.0 * (M_PI/180.0));
if (trigger()->armed()) {
solid = rec_blink_on;
} else {
@ -330,6 +330,7 @@ TriggerEntry::draw_launch_icon (Cairo::RefPtr<Cairo::Context> context, float sz,
break;
case Recording:
context->arc (margin + (size * 0.75), margin + (size * 0.75), (size * 0.75), 0., 360.0 * (M_PI/180.0));
if (trigger()->armed()) {
solid = true;
} else {
@ -358,7 +359,6 @@ TriggerEntry::draw_launch_icon (Cairo::RefPtr<Cairo::Context> context, float sz,
set_source_rgba (context, UIConfiguration::instance ().color ("record enable button: fill active"));
context->stroke ();
}
return;
}
@ -369,15 +369,14 @@ TriggerEntry::draw_launch_icon (Cairo::RefPtr<Cairo::Context> context, float sz,
if (active) {
/* special case: now it's a square Stop button */
context->move_to (margin, margin);
context->rel_line_to (size, 0);
context->rel_line_to (0, size);
context->rel_line_to (size, 0);
context->rel_line_to (-size, 0);
context->line_to (margin, margin);
set_source_rgba (context, UIConfiguration::instance ().color ("neutral:foreground"));
context->fill ();
context->stroke ();
} else {
/* boxy arrow */
} else { /* boxy arrow */
context->rel_line_to (0, size);
context->move_to (margin, margin);
context->rel_line_to (0, size);
context->rel_line_to (size * 1 / 3, 0);
@ -465,6 +464,7 @@ TriggerEntry::draw_launch_icon (Cairo::RefPtr<Cairo::Context> context, float sz,
context->stroke ();
break;
default:
std::cerr << "other\n";
break;
}