12#include <QGraphicsItem>
16class QGraphicsSceneMouseEvent;
20class ArrowItem :
public QObject,
public QGraphicsItem
23 Q_INTERFACES(QGraphicsItem)
45 void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget)
override;
48 return path.boundingRect();
50 [[nodiscard]] QPainterPath
shape()
const override
QMetaObject::Connection positionConnection
Definition arrow_item.h:104
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:296
ArrowAttachItem(ArrowTarget *_startItem)
Definition arrow_item.cpp:286
void addChildArrow(ArrowAttachItem *child)
Definition arrow_item.cpp:291
QList< ArrowAttachItem * > childArrows
Definition arrow_item.h:103
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:339
void attachCards(CardItem *startCard, const CardItem *targetCard)
Definition arrow_item.cpp:365
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:175
QList< ArrowDragItem * > childArrows
Definition arrow_item.h:87
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:223
QMetaObject::Connection positionConnection
Definition arrow_item.h:88
void addChildArrow(ArrowDragItem *child)
Definition arrow_item.cpp:170
int deleteInPhase
Definition arrow_item.h:86
ArrowDragItem(PlayerLogic *_owner, ArrowTarget *_startItem, const QColor &_color, int _deleteInPhase)
Definition arrow_item.cpp:165
ArrowTarget * getStartItem() const
Definition arrow_item.h:66
void setTargetLocked(bool _targetLocked)
Definition arrow_item.h:74
PlayerLogic * getPlayer() const
Definition arrow_item.h:62
void onTargetDestroyed()
Definition arrow_item.cpp:53
QRectF boundingRect() const override
Definition arrow_item.h:46
void mousePressEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:143
int id
Definition arrow_item.h:32
bool fullColor
Definition arrow_item.h:37
PlayerLogic * player
Definition arrow_item.h:31
QPainterPath path
Definition arrow_item.h:28
QPointer< ArrowTarget > startItem
Definition arrow_item.h:33
int getId() const
Definition arrow_item.h:58
ArrowTarget * getTargetItem() const
Definition arrow_item.h:70
QColor color
Definition arrow_item.h:36
bool targetLocked
Definition arrow_item.h:35
ArrowItem(PlayerLogic *_player, int _id, ArrowTarget *_startItem, ArrowTarget *_targetItem, const QColor &_color)
Definition arrow_item.cpp:24
QPainterPath shape() const override
Definition arrow_item.h:50
void updatePath()
Definition arrow_item.cpp:66
void requestDeletion(int id)
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition arrow_item.cpp:131
QPointer< ArrowTarget > targetItem
Definition arrow_item.h:34
void delArrow()
Definition arrow_item.cpp:58
Definition arrow_target.h:18
Definition card_item.h:28
Definition player_logic.h:65