2017-07-21 18:21:34 +02:00
|
|
|
#ifndef QSK_SKIN_TRANSITION_H
|
|
|
|
#define QSK_SKIN_TRANSITION_H
|
|
|
|
|
|
|
|
#include "QskGlobal.h"
|
|
|
|
#include "QskAspect.h"
|
|
|
|
#include "QskAnimationHint.h"
|
|
|
|
|
|
|
|
class QskAnimatorHint;
|
|
|
|
class QskSkin;
|
|
|
|
class QVariant;
|
|
|
|
|
|
|
|
class QSK_EXPORT QskSkinTransition
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
enum Type
|
|
|
|
{
|
|
|
|
Color = 1,
|
|
|
|
Metric = 2,
|
|
|
|
|
|
|
|
AllTypes = Color | Metric
|
|
|
|
};
|
|
|
|
|
|
|
|
QskSkinTransition();
|
|
|
|
virtual ~QskSkinTransition();
|
|
|
|
|
|
|
|
void setSourceSkin( QskSkin* );
|
|
|
|
QskSkin* sourceSkin() const;
|
|
|
|
|
|
|
|
void setTargetSkin( QskSkin* );
|
|
|
|
QskSkin* targetSkin() const;
|
|
|
|
|
|
|
|
void setAnimation( QskAnimationHint );
|
|
|
|
QskAnimationHint animation() const;
|
|
|
|
|
|
|
|
void setMask( Type );
|
|
|
|
Type mask() const;
|
|
|
|
|
|
|
|
void process();
|
|
|
|
|
|
|
|
static bool isRunning();
|
|
|
|
static QVariant animatedHint( QskAspect::Aspect );
|
|
|
|
|
|
|
|
protected:
|
2017-07-25 21:32:12 +02:00
|
|
|
virtual void updateSkin( QskSkin*, QskSkin* );
|
2017-07-21 18:21:34 +02:00
|
|
|
|
|
|
|
private:
|
|
|
|
QskSkin* m_skins[2];
|
|
|
|
QskAnimationHint m_animation;
|
|
|
|
Type m_mask : 2;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|