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()); QRectF totalBoundingRect = painter->combinedTransform().mapRect(boundingRect());
resetPainterTransform(painter); int scale = resetPainterTransform(painter);
painter->translate(totalBoundingRect.width() / 2, totalBoundingRect.height() / 2); painter->translate(totalBoundingRect.width() / 2, totalBoundingRect.height() / 2);
painter->rotate(angle); painter->rotate(angle);
painter->translate(-translatedSize.width() / 2, -translatedSize.height() / 2); painter->translate(-translatedSize.width() / 2, -translatedSize.height() / 2);
QFont f; QFont f;
f.setPixelSize(fontSize); f.setPixelSize(fontSize * scale);
painter->setFont(f); painter->setFont(f);
} }

View file

@ -49,8 +49,11 @@ void AbstractGraphicsItem::paintNumberEllipse(int number,
painter->restore(); painter->restore();
} }
void resetPainterTransform(QPainter *painter)
int resetPainterTransform(QPainter *painter)
{ {
painter->resetTransform(); 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 #endif