From 9d6ecbbfdf91e80c90a4c674e8345aa0c6b365ff Mon Sep 17 00:00:00 2001 From: Max-Wilhelm Bruker Date: Wed, 25 Mar 2009 18:58:25 +0100 Subject: [PATCH] fixed blurry tapped cards --- cockatrice/src/carditem.cpp | 9 +++++++-- cockatrice/src/gameview.cpp | 4 ++-- cockatrice/src/libraryzone.cpp | 3 +++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/cockatrice/src/carditem.cpp b/cockatrice/src/carditem.cpp index 689ec8e5..2ce4948d 100644 --- a/cockatrice/src/carditem.cpp +++ b/cockatrice/src/carditem.cpp @@ -37,7 +37,11 @@ void CardItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, painter->save(); QRectF foo = option->matrix.mapRect(boundingRect()); qDebug(QString("%1: w=%2,h=%3").arg(name).arg(foo.width()).arg(foo.height()).toLatin1()); - QPixmap bar = image->scaled((int) foo.width(), (int) foo.height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + QPixmap bar; + if (tapped) + bar = image->scaled((int) foo.height(), (int) foo.width(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + else + bar = image->scaled((int) foo.width(), (int) foo.height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); // painter->drawPixmap(boundingRect(), *image, QRectF(0, 0, image->width(), image->height())); painter->drawPixmap(boundingRect(), bar, bar.rect()); if (isSelected()) { @@ -195,7 +199,8 @@ QVariant CardItem::itemChange(QGraphicsItem::GraphicsItemChange change, const QV // XXX return value; } else if (change == ItemSelectedHasChanged) { - update(); + qDebug("selection changed"); + update(boundingRect()); return value; } else return QGraphicsItem::itemChange(change, value); diff --git a/cockatrice/src/gameview.cpp b/cockatrice/src/gameview.cpp index 152f57e7..0efe1eb6 100644 --- a/cockatrice/src/gameview.cpp +++ b/cockatrice/src/gameview.cpp @@ -4,8 +4,8 @@ GameView::GameView(QGraphicsScene *scene, QWidget *parent) : QGraphicsView(scene, parent) { setBackgroundBrush(QBrush(QColor(0, 0, 0))); - setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); - setOptimizationFlags(/*DontClipPainter | */DontSavePainterState); + setRenderHints(QPainter::Antialiasing/* | QPainter::SmoothPixmapTransform*/); +// setOptimizationFlags(/*DontClipPainter | */DontSavePainterState); setDragMode(RubberBandDrag); } diff --git a/cockatrice/src/libraryzone.cpp b/cockatrice/src/libraryzone.cpp index 1053b18a..65ea657d 100644 --- a/cockatrice/src/libraryzone.cpp +++ b/cockatrice/src/libraryzone.cpp @@ -85,6 +85,9 @@ void LibraryZone::mouseMoveEvent(QGraphicsSceneMouseEvent *event) if ((event->screenPos() - event->buttonDownScreenPos(Qt::LeftButton)).manhattanLength() < QApplication::startDragDistance()) return; + if (cards->empty()) + return; + CardItem *card = cards->at(0); CardDragItem *drag = card->createDragItem(this, 0, event->pos(), event->scenePos()); drag->grabMouse();