![]() |
Cockatrice 2026-06-01-Development-3.1.0-beta.3
A virtual tabletop for multiplayer card games
|
#include <stack_zone.h>
Public Member Functions | |
| StackZone (StackZoneLogic *_logic, int _zoneHeight, QGraphicsItem *parent) | |
| void | setHeight (qreal newHeight) |
| Resizes the stack zone height, e.g. when sharing vertical space with the command zone. | |
| void | handleDropEvent (const QList< CardDragItem * > &dragItems, CardZoneLogic *startZone, const QPoint &dropPoint) override |
| QRectF | boundingRect () const override |
| void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override |
| void | reorganizeCards () override |
| Public Member Functions inherited from SelectZone | |
| SelectZone (CardZoneLogic *logic, QGraphicsItem *parent=nullptr) | |
| ~SelectZone () override | |
| void | onCardAdded (CardItem *addedCard) override |
| Called when a card is added to this zone. Default: reparents card to this item. | |
| void | escapeClipForHover (QGraphicsItem *card) |
| Temporarily reparents a card from the clip container to this zone so hover scaling is visible beyond clip bounds. Safe no-op if no clip container exists. Coordinates are preserved (clip container is at (0,0) with no transform). | |
| void | restoreClipAfterHover (QGraphicsItem *card) |
| Restores a hover-escaped card back to the clip container. Guards against zone transitions that already reparented the card. | |
| Public Member Functions inherited from CardZone | |
| int | type () const override |
| CardZone (CardZoneLogic *logic, QGraphicsItem *parent=nullptr) | |
| void | retranslateUi () |
| CardZoneLogic * | getLogic () const |
| void | setMenu (QMenu *_menu, QAction *_doubleClickAction=0) |
| Public Member Functions inherited from AbstractGraphicsItem | |
| AbstractGraphicsItem (QGraphicsItem *parent=nullptr) | |
Private Slots | |
| void | updateBg () |
Private Attributes | |
| qreal | zoneHeight |
Additional Inherited Members | |
| Public Types inherited from CardZone | |
| enum | { Type = typeZone } |
| Public Slots inherited from CardZone | |
| bool | showContextMenu (const QPoint &screenPos) |
| Static Public Member Functions inherited from SelectZone | |
| static SelectZone * | findOwningSelectZone (const QGraphicsItem *card) |
| Finds the SelectZone that owns a card, regardless of whether the card is parented to the zone directly or to its clip container. Returns nullptr if not in a SelectZone. | |
| Protected Member Functions inherited from SelectZone | |
| StackLayoutParams | buildStackParams (qreal minOffset=0.0) const |
| Builds StackLayoutParams from the current card list and zone geometry. | |
| int | calcDropIndexFromY (qreal dropY, qreal minOffset=0.0) const |
| Computes the card index at a given y-coordinate within the zone's vertical layout. Returns 0 if the zone has no cards or the offset is zero. | |
| void | layoutCardsVertically (const StackLayoutParams ¶ms) |
| Positions cards vertically with alternating left/right x-offsets. | |
| void | restoreStaleEscapedCards () |
| Restores any cards that were hover-escaped but whose hover state was not properly cleaned up. Call at the start of reorganizeCards() in zones that use a clip container. | |
| void | setupClipContainer (std::optional< qreal > zValue=std::nullopt) |
| Creates a clip container child item that clips card overflow to zone bounds. Cards entering this zone are reparented to this container by the onCardAdded override. Disables zone-level child clipping; clipping is delegated to the container. | |
| void | updateClipRect () |
| Updates the clip container rect to match this zone's current boundingRect(). | |
| void | mouseMoveEvent (QGraphicsSceneMouseEvent *event) override |
| void | mousePressEvent (QGraphicsSceneMouseEvent *event) override |
| void | mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override |
| Protected Member Functions inherited from CardZone | |
| void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event) override |
| void | mousePressEvent (QGraphicsSceneMouseEvent *event) override |
| virtual QPointF | closestGridPoint (const QPointF &point) |
| QMenu * | getMenu () const |
| Protected Member Functions inherited from AbstractGraphicsItem | |
| void | paintNumberEllipse (int number, int radius, const QColor &color, int position, int count, QPainter *painter) |
| Static Protected Member Functions inherited from SelectZone | |
| static ZoneLayout | computeZoneLayout (const StackLayoutParams ¶ms) |
| Computes layout for a vertical card stack (effective offset and start position). | |
| Protected Attributes inherited from CardZone | |
| QMenu * | menu |
| QAction * | doubleClickAction |
| Static Protected Attributes inherited from SelectZone | |
| static constexpr qreal | MIN_CARD_VISIBLE = 10.0 |
| Minimum visible pixels of each card's top edge when stacking compresses offsets in tight zones. | |
| StackZone::StackZone | ( | StackZoneLogic * | _logic, |
| int | _zoneHeight, | ||
| QGraphicsItem * | parent ) |
|
override |
|
overridevirtual |
|
override |
|
overridevirtual |
Implements CardZone.
| void StackZone::setHeight | ( | qreal | newHeight | ) |
Resizes the stack zone height, e.g. when sharing vertical space with the command zone.
|
privateslot |
|
private |