30 #include <QEasingCurve>
37 class QPropertyAnimation;
44 Q_PROPERTY(qreal
x READ
x WRITE
setX)
45 Q_PROPERTY(qreal
y READ
y WRITE
setY)
49 CardGroup(qreal curScale, qreal nonCurScale);
79 QList<QPropertyAnimation*>
animateOpen(
int duration,
80 QEasingCurve::
Type curve,
81 bool includeActiveCard=true);
83 QEasingCurve::
Type curve,
84 bool useGroupPosition=false);
88 QEasingCurve::
Type curve,
126 int size()
const {
return m_cards.size(); }
127 bool empty()
const {
return m_cards.empty(); }
130 bool atEdge(qreal direction)
const;
134 void flick(
int xVelocity);
139 void resize(
int width,
int height, QRect normalScreenBounds);
142 int width()
const {
return m_leftWidth + m_rightWidth; }
144 int left()
const {
return m_leftWidth; }
146 int right()
const {
return m_rightWidth; }
151 QPointF
pos()
const {
return m_pos; }
154 qreal
x()
const {
return m_pos.x(); }
155 void setX(
const qreal&
x);
157 qreal
y()
const {
return m_pos.y(); }
158 void setY(
const qreal&
y);
163 QVector<CardWindow*>
cards()
const {
return m_cards; }
166 QVector<CardWindow::Position> calculateOpenedPositions(qreal xOffset = 0.0);
167 QVector<CardWindow::Position> calculateClosedPositions();
169 void clampCurrentPosition();
176 QVector<CardWindow*> m_cards;
178 int m_cardGroupRotFactor;
179 double m_cardGroupXDistanceFactor;
185 qreal m_currentPosition;