33 lines
1.1 KiB
QML
33 lines
1.1 KiB
QML
|
import QtQuick 2.0
|
||
|
|
||
|
SequentialAnimation {
|
||
|
id: root
|
||
|
property QtObject target
|
||
|
property string fadeProperty: "scale"
|
||
|
property int fadeDuration: 150
|
||
|
property int fadeDuration_in: fadeDuration
|
||
|
property int fadeDuration_out: fadeDuration
|
||
|
property alias outValue: outAnimation.to
|
||
|
property alias inValue: inAnimation.to
|
||
|
property alias outEasingType: outAnimation.easing.type
|
||
|
property alias inEasingType: inAnimation.easing.type
|
||
|
property string easingType: "Quad"
|
||
|
NumberAnimation { // in the default case, fade scale to 0
|
||
|
id: outAnimation
|
||
|
target: root.target
|
||
|
property: root.fadeProperty
|
||
|
duration: root.fadeDuration_in
|
||
|
to: 0
|
||
|
easing.type: Easing["In"+root.easingType]
|
||
|
}
|
||
|
PropertyAction { } // actually change the property targeted by the Behavior between the 2 other animations
|
||
|
NumberAnimation { // in the default case, fade scale back to 1
|
||
|
id: inAnimation
|
||
|
target: root.target
|
||
|
property: root.fadeProperty
|
||
|
duration: root.fadeDuration_out
|
||
|
to: 1
|
||
|
easing.type: Easing["Out"+root.easingType]
|
||
|
}
|
||
|
}
|