Added ability to cache both colorized and default CrossLineAnimation.

This commit is contained in:
23rd 2021-02-01 08:18:50 +03:00
parent 4dd6444cb2
commit 52e1d6d740
2 changed files with 8 additions and 3 deletions

View file

@ -43,11 +43,14 @@ void CrossLineAnimation::paint(
_st.icon.paint(p, left, top, _st.icon.width());
}
} else if (progress == 1.) {
if (_completeCross.isNull()) {
auto &complete = colorOverride
? _completeCrossOverride
: _completeCross;
if (complete.isNull()) {
fillFrame(progress, colorOverride);
_completeCross = _frame;
complete = _frame;
}
p.drawImage(left, top, _completeCross);
p.drawImage(left, top, complete);
} else {
fillFrame(progress, colorOverride);
p.drawImage(left, top, _frame);
@ -94,6 +97,7 @@ void CrossLineAnimation::fillFrame(
void CrossLineAnimation::invalidate() {
_completeCross = QImage();
_completeCrossOverride = QImage();
}
} // namespace Ui

View file

@ -43,6 +43,7 @@ private:
QLineF _line;
QImage _frame;
QImage _completeCross;
QImage _completeCrossOverride;
};