view_[&bv].button_dim_.y2 = 0;
}
- Dimension const textdim = InsetText::dimension(bv);
+ Dimension const textdim = dimensionHelper(bv);
int const baseline = y;
int textx, texty;
Geometry g = geometry(bv);
}
// Do not draw the cue for INSERTED -- it is already in the button and
// that's enough.
- Changer dummy = make_change(pi.change_, Change(),
- pi.change_.type == Change::INSERTED);
+ Changer dummy = (pi.change_.type == Change::INSERTED)
+ ? make_change(pi.change_, Change())
+ : Changer();
InsetText::draw(pi, textx, texty);
break;
}
int w = 0;
int a = 0;
int d = 0;
+ Color const col = pi.full_repaint ? Color_none : pi.backgroundColor(this);
theFontMetrics(font).rectText(buttonLabel(bv), w, a, d);
int const ww = max(textdim.wid, w);
pi.pain.rectText(x + (ww - w) / 2, y + desc + a,
- buttonLabel(bv), font, Color_none, Color_none);
+ buttonLabel(bv), font, col, Color_none);
}
int const y1 = y - textdim.asc + 3;
status_ = Open;
InsetText::cursorPos(bv, sl, boundary, x, y);
- Dimension const textdim = InsetText::dimension(bv);
+ Dimension const textdim = dimensionHelper(bv);
switch (geometry(bv)) {
case LeftButton: