Revert "optimize QSize::scale()"

This reverts commit d4b64a5536.
This commit is contained in:
Ivailo Monev 2021-09-06 17:04:56 +03:00
parent 06fd9e9ec9
commit c2fcbd64d3

View file

@ -182,22 +182,21 @@ void QSize::scale(const QSize &s, Qt::AspectRatioMode mode)
if (mode == Qt::IgnoreAspectRatio || wd == 0 || ht == 0) {
wd = s.wd;
ht = s.ht;
} else if (mode == Qt::KeepAspectRatio) {
int rw = s.ht * wd / ht;
if (rw <= s.wd) {
wd = rw;
ht = s.ht;
} else {
ht = s.wd * ht / wd;
wd = s.wd;
}
bool useHeight;
qint64 rw = qint64(s.ht) * qint64(wd) / qint64(ht);
if (mode == Qt::KeepAspectRatio) {
useHeight = (rw <= s.wd);
} else { // mode == Qt::KeepAspectRatioByExpanding
int rw = s.ht * wd / ht;
if (rw >= s.wd) {
useHeight = (rw >= s.wd);
}
if (useHeight) {
wd = rw;
ht = s.ht;
} else {
ht = s.wd * ht / wd;
ht = qint32(qint64(s.wd) * qint64(ht) / qint64(wd));
wd = s.wd;
}
}