Initial commit for sideboarding. It's supposed to be fully functional.

This commit is contained in:
Max-Wilhelm Bruker 2010-03-06 17:17:54 +01:00
parent 2ee4bb834d
commit b2f83541e7
18 changed files with 474 additions and 87 deletions

View file

@ -1,33 +1,18 @@
#ifndef CARDDRAGITEM_H
#define CARDDRAGITEM_H
#include "carditem.h"
#include "abstractcarddragitem.h"
class QGraphicsScene;
class CardZone;
class CardInfo;
class CardDragItem : public QGraphicsItem {
class CardDragItem : public AbstractCardDragItem {
private:
int id;
CardItem *item;
QPointF hotSpot;
bool faceDown;
QList<CardDragItem *> childDrags;
CardZone *currentZone;
public:
enum { Type = typeCardDrag };
int type() const { return Type; }
CardDragItem(CardItem *_item, int _id, const QPointF &_hotSpot, bool _faceDown, CardDragItem *parentDrag = 0);
~CardDragItem();
QRectF boundingRect() const { return QRectF(0, 0, CARD_WIDTH, CARD_HEIGHT); }
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
QPointF getHotSpot() const { return hotSpot; }
void addChildDrag(CardDragItem *child);
CardDragItem(AbstractCardItem *_item, int _id, const QPointF &_hotSpot, bool _faceDown, AbstractCardDragItem *parentDrag = 0);
void updatePosition(const QPointF &cursorScenePos);
protected:
void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
};
#endif
#endif