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,
|
QRect clip,
|
||||||
float64 errorDegree,
|
float64 errorDegree,
|
||||||
float64 focusedDegree) {
|
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);
|
auto pen = anim::pen(_st.borderFg, _st.borderFgActive, focusedDegree);
|
||||||
pen.setWidth(_st.border);
|
pen.setWidthF(border);
|
||||||
p.setPen(pen);
|
p.setPen(pen);
|
||||||
p.setBrush(anim::brush(_st.textBg, _st.textBgActive, focusedDegree));
|
p.setBrush(anim::brush(_st.textBg, _st.textBgActive, focusedDegree));
|
||||||
|
|
||||||
PainterHighQualityEnabler hq(p);
|
PainterHighQualityEnabler hq(p);
|
||||||
const auto radius = _st.borderRadius - (_st.border / 2.);
|
const auto radius = _st.borderRadius - borderHalf;
|
||||||
p.drawRoundedRect(
|
p.drawRoundedRect(
|
||||||
QRectF(0, 0, width(), height()).marginsRemoved(
|
QRectF(0, 0, width(), height()).marginsRemoved(
|
||||||
QMarginsF(
|
QMarginsF(borderHalf, borderHalf, borderHalf, borderHalf)),
|
||||||
_st.border / 2.,
|
|
||||||
_st.border / 2.,
|
|
||||||
_st.border / 2.,
|
|
||||||
_st.border / 2.)),
|
|
||||||
radius,
|
radius,
|
||||||
radius);
|
radius);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -285,6 +285,7 @@ InputField {
|
||||||
border: pixels;
|
border: pixels;
|
||||||
borderActive: pixels;
|
borderActive: pixels;
|
||||||
borderRadius: pixels;
|
borderRadius: pixels;
|
||||||
|
borderDenominator: int;
|
||||||
|
|
||||||
font: font;
|
font: font;
|
||||||
menu: PopupMenu;
|
menu: PopupMenu;
|
||||||
|
|
@ -881,6 +882,7 @@ defaultInputField: InputField {
|
||||||
border: 1px;
|
border: 1px;
|
||||||
borderActive: 2px;
|
borderActive: 2px;
|
||||||
borderRadius: 0px;
|
borderRadius: 0px;
|
||||||
|
borderDenominator: 1;
|
||||||
|
|
||||||
font: boxTextFont;
|
font: boxTextFont;
|
||||||
menu: defaultPopupMenu;
|
menu: defaultPopupMenu;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue