1#ifndef CARDSTACKWIDGET_H
2#define CARDSTACKWIDGET_H
4#include "library/limited_value/ValueLimiter.hpp"
6#include <QStackedWidget>
9class QPropertyAnimation;
10class QParallelAnimationGroup;
11class QGraphicsOpacityEffect;
73 __BOUND_PROPERTY_GETSET_UNALLOWED_OUTRANGE(
76 __BOUND_PROPERTY_GETSET_UNALLOWED_OUTRANGE(
99 bool isDragging {
false };
101 QPropertyAnimation* current_animation;
102 QPropertyAnimation* next_animation;
103 QParallelAnimationGroup* group;
104 QPointer<QWidget> hideAfterAnimation;
105 int animation_duration { 350 };
106 int randomize_duration { 2000 };
107 QTimer* auto_switcher;
108 std::shared_ptr<QMutex> mutex;
116 void slideTo(
int newIndex,
bool slideUp);
123 void bouceBack(
int dy,
int index);
130 QGraphicsOpacityEffect* ensureOpacity(QWidget* w);