X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fpuzzleitem.cpp;h=ccf0b33e004f3a8ce1e53cc67d31de1f0d028a68;hb=3fffc1c138902d3bebc6c27c9354436541e29383;hp=500b47507ce0e408e62acdec3bc5c1543f98d558;hpb=0e66c1a18db3705531aeac55ce6f7189128881ed;p=impuzzle diff --git a/src/puzzleitem.cpp b/src/puzzleitem.cpp index 500b475..ccf0b33 100644 --- a/src/puzzleitem.cpp +++ b/src/puzzleitem.cpp @@ -21,6 +21,9 @@ #include #include +#include +#include +#include int PuzzleItem::moveCount_ = 0; @@ -29,6 +32,7 @@ PuzzleItem::PuzzleItem(QGraphicsItem *parent) : { movable_ = true; moveAnimation_ = new QPropertyAnimation(this, "pos", this); + pieceNumber_ = 0; } QPointF PuzzleItem::correctPlace() const @@ -109,3 +113,38 @@ void PuzzleItem::resetMoveCount() { moveCount_ = 0; } + +void PuzzleItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + QGraphicsPixmapItem::paint(painter, option, widget); + + painter->save(); + + QFont font = painter->font(); + QFontMetrics metrics(font); + QRect numberRect(0, 0, metrics.height(), metrics.height()); + + painter->setPen(Qt::NoPen); + + painter->setBrush(QColor(255, 255, 255, 192)); + painter->drawRect(numberRect); + + painter->setPen(Qt::black); + + QTextOption textOption; + textOption.setAlignment(Qt::AlignCenter); + + painter->drawText(numberRect, QString::number(pieceNumber_), textOption); + + painter->restore(); +} + +int PuzzleItem::pieceNumber() const +{ + return pieceNumber_; +} + +void PuzzleItem::setPieceNumber(const int pieceNumber) +{ + pieceNumber_ = pieceNumber; +}