/* Speed climbing reaction timer Copyright (C) 2019 Itsblue Development | Dorian Zedler This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ 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] } }