From 04a3d311be4279318642a95ad05ed7073f37adc3 Mon Sep 17 00:00:00 2001 From: Max-Wilhelm Bruker Date: Tue, 16 Jun 2009 21:42:13 +0200 Subject: [PATCH] improved gameview resizing --- cockatrice/src/gameview.cpp | 19 +------------------ cockatrice/src/window_main.cpp | 2 +- 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/cockatrice/src/gameview.cpp b/cockatrice/src/gameview.cpp index cd8a0c90..5a402b46 100644 --- a/cockatrice/src/gameview.cpp +++ b/cockatrice/src/gameview.cpp @@ -10,25 +10,8 @@ GameView::GameView(QGraphicsScene *scene, QWidget *parent) // setViewportUpdateMode(FullViewportUpdate); } -void GameView::scaleToScene() -{ - // This function ensures that the bounding rectangles of card pictures - // have integer sizes. This is achieved by using a scale factor of n / 6. - QRectF sr = scene()->sceneRect(); - QRectF vr = QRectF(viewport()->rect().adjusted(2, 2, -2, -2)); - qreal scale_h = vr.width() / sr.width(); - qreal scale_v = vr.height() / sr.height(); - qreal scale_total = qMin(scale_h, scale_v); - - qreal scale_corr = (qreal) ((int) (scale_total * 6)) / 6; - - qDebug(QString("scale_corr = %1 / 6").arg(scale_corr * 6).toLatin1()); - setTransform(QTransform().scale(scale_corr, scale_corr)); -} - void GameView::resizeEvent(QResizeEvent *event) { - qDebug("GameView: resizeEvent"); QGraphicsView::resizeEvent(event); - scaleToScene(); + fitInView(scene()->sceneRect(), Qt::KeepAspectRatio); } diff --git a/cockatrice/src/window_main.cpp b/cockatrice/src/window_main.cpp index 655a34d0..d16db167 100644 --- a/cockatrice/src/window_main.cpp +++ b/cockatrice/src/window_main.cpp @@ -131,7 +131,7 @@ void MainWindow::updateSceneSize() QSizeF zoneSize = zoneLayout->size(); qDebug(QString("updateSceneSize: width=%1").arg(952 + zoneSize.width()).toLatin1()); scene->setSceneRect(sr.x(), sr.y(), 952 + zoneSize.width(), sr.height()); - view->scaleToScene(); + view->fitInView(scene->sceneRect(), Qt::KeepAspectRatio); } void MainWindow::textChanged(const QString &text)