From 477faafb84d0e1cfaf92dcdba3aa9e4477c298f0 Mon Sep 17 00:00:00 2001 From: Rob Blanckaert Date: Sun, 3 Mar 2019 22:32:09 -0800 Subject: [PATCH] Adjust fontsize up on highdpi displays (#3610) --- cockatrice/src/abstractcarditem.cpp | 4 ++-- cockatrice/src/abstractgraphicsitem.cpp | 9 ++++++--- cockatrice/src/abstractgraphicsitem.h | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cockatrice/src/abstractcarditem.cpp b/cockatrice/src/abstractcarditem.cpp index 358af633..fdf341e0 100644 --- a/cockatrice/src/abstractcarditem.cpp +++ b/cockatrice/src/abstractcarditem.cpp @@ -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); } diff --git a/cockatrice/src/abstractgraphicsitem.cpp b/cockatrice/src/abstractgraphicsitem.cpp index 9a31f8ac..338ff6b8 100644 --- a/cockatrice/src/abstractgraphicsitem.cpp +++ b/cockatrice/src/abstractgraphicsitem.cpp @@ -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()); -} \ No newline at end of file + auto tx = painter->deviceTransform().inverted(); + painter->setTransform(tx); + return tx.isScaling() ? 1.0 / tx.m11() : 1; +} diff --git a/cockatrice/src/abstractgraphicsitem.h b/cockatrice/src/abstractgraphicsitem.h index 06b657d1..c9a71916 100644 --- a/cockatrice/src/abstractgraphicsitem.h +++ b/cockatrice/src/abstractgraphicsitem.h @@ -26,6 +26,6 @@ public: } }; -void resetPainterTransform(QPainter *painter); +int resetPainterTransform(QPainter *painter); #endif