Adjust fontsize up on highdpi displays (#3610)

This commit is contained in:
Rob Blanckaert 2019-03-03 22:32:09 -08:00 committed by Zach H
parent abe4f5ca60
commit 477faafb84
3 changed files with 9 additions and 6 deletions

View file

@ -77,14 +77,14 @@ void AbstractCardItem::transformPainter(QPainter *painter, const QSizeF &transla
QRectF totalBoundingRect = painter->combinedTransform().mapRect(boundingRect());
resetPainterTransform(painter);
int scale = resetPainterTransform(painter);
painter->translate(totalBoundingRect.width() / 2, totalBoundingRect.height() / 2);
painter->rotate(angle);
painter->translate(-translatedSize.width() / 2, -translatedSize.height() / 2);
QFont f;
f.setPixelSize(fontSize);
f.setPixelSize(fontSize * scale);
painter->setFont(f);
}

View file

@ -49,8 +49,11 @@ void AbstractGraphicsItem::paintNumberEllipse(int number,
painter->restore();
}
void resetPainterTransform(QPainter *painter)
int resetPainterTransform(QPainter *painter)
{
painter->resetTransform();
painter->setTransform(painter->deviceTransform().inverted());
auto tx = painter->deviceTransform().inverted();
painter->setTransform(tx);
return tx.isScaling() ? 1.0 / tx.m11() : 1;
}

View file

@ -26,6 +26,6 @@ public:
}
};
void resetPainterTransform(QPainter *painter);
int resetPainterTransform(QPainter *painter);
#endif