- // Lower corners
- if (e.marker == InsetMath::MARKER
- || e.marker == InsetMath::MARKER2) {
- int const d = y + dim.descent();
- pi.pain.line(l, d - 3, l, d, pen_color);
- pi.pain.line(r, d - 3, r, d, pen_color);
- pi.pain.line(l, d, l + 3, d, pen_color);
- pi.pain.line(r - 3, d, r, d, pen_color);
- }
+ // Color for corners
+ bool const highlight = e.inset->mouseHovered(pi.base.bv)
+ || e.inset->editing(pi.base.bv);
+ ColorCode const pen_color = highlight ? Color_mathframe : Color_mathcorners;
+ // If the corners have the same color as the background, do not paint them.
+ if (lcolor.getX11HexName(Color_mathbg) == lcolor.getX11HexName(pen_color))
+ return;
+
+ // Lower corners in all cases
+ int const d = y + dim.descent();
+ pi.pain.line(l, d - 3, l, d, pen_color);
+ pi.pain.line(r, d - 3, r, d, pen_color);
+ pi.pain.line(l, d, l + 3, d, pen_color);
+ pi.pain.line(r - 3, d, r, d, pen_color);