Cockatrice/cockatrice/src/abstractcarditem.h
2010-07-17 18:24:14 +02:00

44 lines
1.2 KiB
C++

#ifndef ABSTRACTCARDITEM_H
#define ABSTRACTCARDITEM_H
#include "arrowtarget.h"
class CardInfo;
class Player;
const int CARD_WIDTH = 72;
const int CARD_HEIGHT = 102;
class AbstractCardItem : public QObject, public ArrowTarget {
Q_OBJECT
protected:
CardInfo *info;
QString name;
bool tapped;
QString color;
private slots:
void pixmapUpdated();
signals:
void hovered(AbstractCardItem *card);
public:
enum { Type = typeCard };
int type() const { return Type; }
AbstractCardItem(const QString &_name = QString(), Player *_owner = 0, QGraphicsItem *parent = 0);
~AbstractCardItem();
QRectF boundingRect() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
CardInfo *getInfo() const { return info; }
QString getName() const { return name; }
void setName(const QString &_name = QString());
QString getColor() const { return color; }
void setColor(const QString &_color);
bool getTapped() const { return tapped; }
void setTapped(bool _tapped);
void processHoverEvent();
protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value);
};
#endif