Added ability to cache both colorized and default CrossLineAnimation.
This commit is contained in:
parent
4dd6444cb2
commit
52e1d6d740
2 changed files with 8 additions and 3 deletions
|
|
@ -43,11 +43,14 @@ void CrossLineAnimation::paint(
|
||||||
_st.icon.paint(p, left, top, _st.icon.width());
|
_st.icon.paint(p, left, top, _st.icon.width());
|
||||||
}
|
}
|
||||||
} else if (progress == 1.) {
|
} else if (progress == 1.) {
|
||||||
if (_completeCross.isNull()) {
|
auto &complete = colorOverride
|
||||||
|
? _completeCrossOverride
|
||||||
|
: _completeCross;
|
||||||
|
if (complete.isNull()) {
|
||||||
fillFrame(progress, colorOverride);
|
fillFrame(progress, colorOverride);
|
||||||
_completeCross = _frame;
|
complete = _frame;
|
||||||
}
|
}
|
||||||
p.drawImage(left, top, _completeCross);
|
p.drawImage(left, top, complete);
|
||||||
} else {
|
} else {
|
||||||
fillFrame(progress, colorOverride);
|
fillFrame(progress, colorOverride);
|
||||||
p.drawImage(left, top, _frame);
|
p.drawImage(left, top, _frame);
|
||||||
|
|
@ -94,6 +97,7 @@ void CrossLineAnimation::fillFrame(
|
||||||
|
|
||||||
void CrossLineAnimation::invalidate() {
|
void CrossLineAnimation::invalidate() {
|
||||||
_completeCross = QImage();
|
_completeCross = QImage();
|
||||||
|
_completeCrossOverride = QImage();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Ui
|
} // namespace Ui
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ private:
|
||||||
QLineF _line;
|
QLineF _line;
|
||||||
QImage _frame;
|
QImage _frame;
|
||||||
QImage _completeCross;
|
QImage _completeCross;
|
||||||
|
QImage _completeCrossOverride;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue