Support fractional border in rounded input field.
This commit is contained in:
parent
1c0889f78a
commit
048156ecda
2 changed files with 8 additions and 7 deletions
|
|
@ -1645,20 +1645,19 @@ void InputField::paintRoundSurrounding(
|
|||
QRect clip,
|
||||
float64 errorDegree,
|
||||
float64 focusedDegree) {
|
||||
const auto divide = _st.borderDenominator ? _st.borderDenominator : 1;
|
||||
const auto border = _st.border / float64(divide);
|
||||
const auto borderHalf = border / 2.;
|
||||
auto pen = anim::pen(_st.borderFg, _st.borderFgActive, focusedDegree);
|
||||
pen.setWidth(_st.border);
|
||||
pen.setWidthF(border);
|
||||
p.setPen(pen);
|
||||
p.setBrush(anim::brush(_st.textBg, _st.textBgActive, focusedDegree));
|
||||
|
||||
PainterHighQualityEnabler hq(p);
|
||||
const auto radius = _st.borderRadius - (_st.border / 2.);
|
||||
const auto radius = _st.borderRadius - borderHalf;
|
||||
p.drawRoundedRect(
|
||||
QRectF(0, 0, width(), height()).marginsRemoved(
|
||||
QMarginsF(
|
||||
_st.border / 2.,
|
||||
_st.border / 2.,
|
||||
_st.border / 2.,
|
||||
_st.border / 2.)),
|
||||
QMarginsF(borderHalf, borderHalf, borderHalf, borderHalf)),
|
||||
radius,
|
||||
radius);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -285,6 +285,7 @@ InputField {
|
|||
border: pixels;
|
||||
borderActive: pixels;
|
||||
borderRadius: pixels;
|
||||
borderDenominator: int;
|
||||
|
||||
font: font;
|
||||
menu: PopupMenu;
|
||||
|
|
@ -881,6 +882,7 @@ defaultInputField: InputField {
|
|||
border: 1px;
|
||||
borderActive: 2px;
|
||||
borderRadius: 0px;
|
||||
borderDenominator: 1;
|
||||
|
||||
font: boxTextFont;
|
||||
menu: defaultPopupMenu;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue