* 1/3 Add .clang-format file and travis compilation check * 2/3 Run clang-format * 3/3 Fix compilation problems due to include reordering * 3bis/3 AfterControlStatement: false
50 lines
1.1 KiB
C++
50 lines
1.1 KiB
C++
#ifndef ABSTRACTCARDDRAGITEM_H
|
|
#define ABSTRACTCARDDRAGITEM_H
|
|
|
|
#include "abstractcarditem.h"
|
|
|
|
class QGraphicsScene;
|
|
class CardZone;
|
|
class CardInfo;
|
|
|
|
class AbstractCardDragItem : public QObject, public QGraphicsItem
|
|
{
|
|
Q_OBJECT
|
|
Q_INTERFACES(QGraphicsItem)
|
|
protected:
|
|
AbstractCardItem *item;
|
|
QPointF hotSpot;
|
|
QList<AbstractCardDragItem *> childDrags;
|
|
|
|
public:
|
|
enum
|
|
{
|
|
Type = typeCardDrag
|
|
};
|
|
int type() const
|
|
{
|
|
return Type;
|
|
}
|
|
AbstractCardDragItem(AbstractCardItem *_item, const QPointF &_hotSpot, AbstractCardDragItem *parentDrag = 0);
|
|
~AbstractCardDragItem();
|
|
QRectF boundingRect() const
|
|
{
|
|
return QRectF(0, 0, CARD_WIDTH, CARD_HEIGHT);
|
|
}
|
|
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
|
|
AbstractCardItem *getItem() const
|
|
{
|
|
return item;
|
|
}
|
|
QPointF getHotSpot() const
|
|
{
|
|
return hotSpot;
|
|
}
|
|
void addChildDrag(AbstractCardDragItem *child);
|
|
virtual void updatePosition(const QPointF &cursorScenePos) = 0;
|
|
|
|
protected:
|
|
void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
|
|
};
|
|
|
|
#endif
|