14#include <QElapsedTimer>
20#include <qtmetamacros.h>
29template <
typename T>
class QList;
143 void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget)
override;
206 const int newWidth =
static_cast<int>(_width);
207 if (
width == newWidth) {
210 prepareGeometryChange();
244 [[nodiscard]] QPointF
mapFromGrid(QPoint gridPoint)
const;
245 [[nodiscard]] QPoint
mapToGrid(
const QPointF &mapPoint)
const;
252 return x + (y * 1000);
Interface for scene items driven by GameScene's shared animation timer.
Canonical card dimension constants for layout and Z-value calculations.
Definition card_drag_item.h:19
Definition card_item.h:33
Definition card_zone_logic.h:27
Definition animated_item.h:15
Definition remote_connection_controller.h:20
SelectZone(CardZoneLogic *logic, QGraphicsItem *parent=nullptr)
Definition select_zone.cpp:156
Definition table_zone_logic.h:18
CardItem * getCardFromGrid(const QPoint &gridPoint) const
Definition table_zone.cpp:336
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition table_zone.cpp:120
void reorganizeCards() override
Definition table_zone.cpp:236
CardItem * getCardFromCoords(const QPointF &point) const
Definition table_zone.cpp:346
int getCardStackMapKey(int x, int y) const
Definition table_zone.h:250
void setActive(bool _active)
Definition table_zone.h:221
static const int MARGIN_BOTTOM
Definition table_zone.h:53
static int clampValidTableRow(const int row)
Definition table_zone.cpp:475
int width
Definition table_zone.h:84
static const int STACKED_CARD_OFFSET_Y
Definition table_zone.h:66
static constexpr qreal shimmerDurationMs
Definition table_zone.h:228
void handleDropEventByGrid(const QList< CardDragItem * > &dragItems, CardZoneLogic *startZone, const QPoint &gridPoint)
Definition table_zone.cpp:207
void triggerDamageShimmer()
Definition table_zone.cpp:78
QMap< int, int > cardStackWidth
Definition table_zone.h:91
static const int PADDING_Y
Definition table_zone.h:55
void updateBg()
Definition table_zone.cpp:73
static const QColor FADE_MASK
Definition table_zone.h:77
static const int PADDING_X
Definition table_zone.h:54
void setMirrored(bool isMirrored)
Definition table_zone.cpp:108
void paintZoneOutline(QPainter *painter)
Definition table_zone.cpp:164
static int tableRowToGridY(int tableRow)
Definition table_zone.cpp:486
static const int TABLEROWS
Definition table_zone.h:45
bool mirrored
Definition table_zone.h:102
static const QColor GRADIENT_COLOR
Definition table_zone.h:78
static const int STACKED_CARD_OFFSET_X
Definition table_zone.h:65
int height
Definition table_zone.h:85
void resizeToContents()
Definition table_zone.cpp:310
static const int MARGIN_LEFT
Definition table_zone.h:50
void computeCardStackWidths()
Definition table_zone.cpp:352
qreal getWidth() const
Definition table_zone.h:217
QRectF boundingRect() const override
Definition table_zone.cpp:103
QPixmap backgroundPixelMap
Definition table_zone.h:96
bool animationEvent() override
Decays the damage shimmer by one timer tick.
Definition table_zone.cpp:92
QElapsedTimer shimmerClock
Definition table_zone.h:230
QPointF closestGridPoint(const QPointF &point) override
Definition table_zone.cpp:462
TableZone(TableZoneLogic *_logic, bool mirrored, QGraphicsItem *parent=nullptr)
Definition table_zone.cpp:54
int getMinimumWidth() const
Definition table_zone.h:199
void handleDropEvent(const QList< CardDragItem * > &dragItems, CardZoneLogic *startZone, const QPoint &dropPoint) override
Definition table_zone.cpp:200
void paintLandDivider(QPainter *painter)
Definition table_zone.cpp:188
static const int MIN_WIDTH
Definition table_zone.h:60
bool active
Definition table_zone.h:101
static const int BOX_LINE_WIDTH
Definition table_zone.h:71
void toggleTapped()
Definition table_zone.cpp:277
QPointF mapFromGrid(QPoint gridPoint) const
Definition table_zone.cpp:386
static const int MARGIN_RIGHT
Definition table_zone.h:51
static const QColor GRADIENT_COLORLESS
Definition table_zone.h:79
qreal damageShimmerAlpha
Definition table_zone.h:231
static const QColor BACKGROUND_COLOR
Definition table_zone.h:76
int currentMinimumWidth
Definition table_zone.h:86
bool playmatActive
Definition table_zone.h:103
void onPlaymatChanged(bool active)
Definition table_zone.cpp:148
void setWidth(qreal _width)
Definition table_zone.h:203
QPoint mapToGrid(const QPointF &mapPoint) const
Definition table_zone.cpp:414
bool isInverted() const
Definition table_zone.cpp:114
static const int MARGIN_TOP
Definition table_zone.h:52
constexpr int WIDTH
Card width in pixels.
Definition card_dimensions.h:16
Base class for zones where cards are laid out and individually interactable.