7#ifndef ABSTRACTCARDITEM_H
8#define ABSTRACTCARDITEM_H
15#include <QGraphicsItem>
21#include <qtmetamacros.h>
75 PlayerLogic *_owner =
nullptr,
79 QPainterPath
shape()
const override;
81 void paintPicture(QPainter *painter,
const QSizeF &translatedSize,
int angle);
82 void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget)
override;
123 void setColor(
const QString &_color);
128 void setTapped(
bool _tapped,
bool canAnimate =
false);
146 void transformPainter(QPainter *painter,
const QSizeF &translatedSize,
int angle);
149 QVariant
itemChange(QGraphicsItem::GraphicsItemChange change,
const QVariant &value)
override;
Interface for scene items driven by GameScene's shared animation timer.
qreal realZValue
Definition abstract_card_item.h:43
void playSelectedFaceDown(AbstractCardItem *card)
void setFaceDown(bool _facedown)
Definition abstract_card_item.cpp:341
QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
Definition abstract_card_item.cpp:431
bool tapped
Definition abstract_card_item.h:35
CardRef cardRef
Definition abstract_card_item.h:34
qreal getRealZValue() const
Definition abstract_card_item.h:109
void setId(int _id)
Definition abstract_card_item.h:92
int type() const override
Definition abstract_card_item.h:69
QPainterPath shape() const override
Definition abstract_card_item.cpp:78
void refreshCardInfo()
Definition abstract_card_item.cpp:93
void deleteCardInfoPopup(QString cardName)
void setTapped(bool _tapped, bool canAnimate=false)
Definition abstract_card_item.cpp:317
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
Definition abstract_card_item.cpp:379
bool pendingSelectionCollapse
Definition abstract_card_item.h:44
void cardShiftClicked(QString cardName)
QSizeF getTranslatedSize(QPainter *painter) const
Definition abstract_card_item.cpp:130
QRectF boundingRect() const override
Definition abstract_card_item.cpp:73
bool getFaceDown() const
Definition abstract_card_item.h:129
void mousePressEvent(QGraphicsSceneMouseEvent *event) override
Definition abstract_card_item.cpp:347
int id
Definition abstract_card_item.h:33
void transformPainter(QPainter *painter, const QSizeF &translatedSize, int angle)
Definition abstract_card_item.cpp:136
void pixmapUpdated()
Definition abstract_card_item.cpp:87
AbstractCardItem(QGraphicsItem *parent=nullptr, const CardRef &cardRef={}, PlayerLogic *_owner=nullptr, int _id=-1)
Definition abstract_card_item.cpp:45
void hovered(AbstractCardItem *card)
void setRealZValue(qreal _zValue)
Definition abstract_card_item.cpp:119
void deleteCardInfoPopup()
Definition abstract_card_item.h:137
bool animationEvent() override
Default: no per-tick animation. Subclasses override to animate.
Definition abstract_card_item.cpp:336
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition abstract_card_item.cpp:213
virtual bool doubleClickActsOnSelection() const
Whether a double-click on this item acts on the whole selection.
Definition abstract_card_item.cpp:421
void playSelected(AbstractCardItem *card)
void cacheBgColor()
Definition abstract_card_item.cpp:283
void paintPicture(QPainter *painter, const QSizeF &translatedSize, int angle)
Definition abstract_card_item.cpp:155
QString getColor() const
Definition abstract_card_item.h:119
CardRef getCardRef() const
Definition abstract_card_item.h:105
bool facedown
Definition abstract_card_item.h:36
int selectionCollapseGeneration
Guards the deferred collapse timer against stale firings.
Definition abstract_card_item.h:45
bool getIsHovered() const
Definition abstract_card_item.h:115
void rightClicked(AbstractCardItem *card, QPoint screenPos)
void setColor(const QString &_color)
Definition abstract_card_item.cpp:276
QString getName() const
Definition abstract_card_item.h:96
ExactCard getCard() const
Definition abstract_card_item.h:83
@ Type
Definition abstract_card_item.h:67
QString getProviderId() const
Definition abstract_card_item.h:100
void showCardInfoPopup(const QPoint &pos, const CardRef &cardRef)
void cancelPendingSelectionCollapse()
Drop a pending collapse and disarm any deferred collapse timer.
Definition abstract_card_item.cpp:415
void hideSelected(AbstractCardItem *card)
QString color
Definition abstract_card_item.h:38
void processHoverEvent()
Definition abstract_card_item.cpp:426
QColor bgColor
Definition abstract_card_item.h:39
bool getTapped() const
Definition abstract_card_item.h:124
void setCardRef(const CardRef &_cardRef)
Definition abstract_card_item.cpp:238
bool isHovered
Definition abstract_card_item.h:42
const CardInfo & getCardInfo() const
Definition abstract_card_item.cpp:114
ExactCard exactCard
Definition abstract_card_item.h:32
void setHovered(bool _hovered)
Definition abstract_card_item.cpp:253
void selectionChanged(AbstractCardItem *card, bool selected)
int getId() const
Definition abstract_card_item.h:88
int tapAngle
Definition abstract_card_item.h:37
ArrowTarget(PlayerLogic *_owner, QGraphicsItem *parent=nullptr)
Definition arrow_target.cpp:7
Represents a card and its associated metadata, properties, and relationships.
Definition card_info.h:54
Represents a specific card instance, defined by its CardInfo and a particular printing.
Definition exact_card.h:24
Definition animated_item.h:15
Definition player_logic.h:56
@ typeCard
Definition graphics_item_type.h:14
QString providerId
Definition card_ref.h:16
QString name
Definition card_ref.h:15