7#include <QGraphicsItem>
9#include <QSharedPointer>
12class QGraphicsSceneMouseEvent;
15class ArrowItem :
public QObject,
public QGraphicsItem
18 Q_INTERFACES(QGraphicsItem)
26 QSharedPointer<const ArrowData>
data;
42 void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget)
override;
45 return path.boundingRect();
47 [[nodiscard]] QPainterPath
shape()
const override
57 return data->creatorId;
QMetaObject::Connection positionConnection
Definition arrow_item.h:97
PlayerLogic * player
Definition arrow_item.h:95
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:305
ArrowAttachItem(ArrowTarget *_startItem)
Definition arrow_item.cpp:288
void addChildArrow(ArrowAttachItem *child)
Definition arrow_item.cpp:300
QList< ArrowAttachItem * > childArrows
Definition arrow_item.h:96
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:348
void attachCards(CardItem *startCard, const CardItem *targetCard)
Definition arrow_item.cpp:374
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:177
QList< ArrowDragItem * > childArrows
Definition arrow_item.h:79
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:225
QMetaObject::Connection positionConnection
Definition arrow_item.h:80
void addChildArrow(ArrowDragItem *child)
Definition arrow_item.cpp:172
PlayerLogic * player
Definition arrow_item.h:77
int deleteInPhase
Definition arrow_item.h:78
ArrowDragItem(PlayerLogic *_owner, ArrowTarget *_startItem, const QColor &_color, int _deleteInPhase)
Definition arrow_item.cpp:161
ArrowTarget * getStartItem() const
Definition arrow_item.h:59
void setTargetLocked(bool _targetLocked)
Definition arrow_item.h:67
void onTargetDestroyed()
Definition arrow_item.cpp:49
QRectF boundingRect() const override
Definition arrow_item.h:43
int getCreatorId() const
Definition arrow_item.h:55
void mousePressEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:139
bool fullColor
Definition arrow_item.h:30
QPainterPath path
Definition arrow_item.h:23
QPointer< ArrowTarget > startItem
Definition arrow_item.h:27
int getId() const
Definition arrow_item.h:51
ArrowItem(QSharedPointer< const ArrowData > _data, ArrowTarget *_startItem, ArrowTarget *_targetItem)
Definition arrow_item.cpp:24
ArrowTarget * getTargetItem() const
Definition arrow_item.h:63
QSharedPointer< const ArrowData > data
Definition arrow_item.h:26
bool targetLocked
Definition arrow_item.h:29
QPainterPath shape() const override
Definition arrow_item.h:47
void updatePath()
Definition arrow_item.cpp:62
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition arrow_item.cpp:127
QPointer< ArrowTarget > targetItem
Definition arrow_item.h:28
void delArrow()
Definition arrow_item.cpp:54
void requestDeletion(int creatorId, int id)
Definition arrow_target.h:18
Definition card_item.h:28
Definition player_logic.h:64