You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

121 lines
2.7 KiB

import QtQuick 2.0
import QtQuick.Controls 2.15
Image {
id: buttonIcon
x: 64
y: 64
property int animationDuration: 250
fillMode: Image.PreserveAspectFit
source: "qrc:/bpetrov.tangraplay/imports/TangraPlay/Assets/buuf-play.png"
property bool isClicked: false
function changeIconState() {
if ( thePlayer.playbackState === 1) {
buttonIcon.source = "qrc:/bpetrov.tangraplay/imports/TangraPlay/Assets/buuf-pause.png"
}
else {
buttonIcon.source = "qrc:/bpetrov.tangraplay/imports/TangraPlay/Assets/buuf-play.png"
}
}
function runAnimation() {
glow.visible = true
animation1.start()
animation2.start()
}
Connections {
target: mainStack
function activating() {
buttonIcon.changeIconState()
}
}
MouseArea {
anchors.fill: parent
onClicked: {
root.clicked()
stack.push(viewBeerSize)
}
onPressed: {
glow.visible = true
animation1.start()
animation2.start()
}
}
///////// Click animation
Rectangle {
id: glow
visible: false
width: parent.width
height: parent.height
color: "#00000000"
radius: 125
scale: 1.05
border.color: "#ffffff"
}
PropertyAnimation {
target: glow
id: animation1
duration: buttonIcon.animationDuration
loops: 1
from: 1.05
to: 1.2
property: "scale"
}
ParallelAnimation {
id: animation2
SequentialAnimation {
PropertyAnimation {
target: glow
duration: buttonIcon.animationDuration
loops: 1
from: 0.2
to: 1.0
property: "opacity"
}
PropertyAnimation {
target: glow
duration: buttonIcon.animationDuration
loops: 1
from: 1.0
to: 0.0
property: "opacity"
}
PropertyAction {
target: glow
property: "visible"
value: false
}
}
SequentialAnimation {
PropertyAction {
target: glow
property: "border.width"
value: 20
}
PauseAnimation {
duration: 200
}
PropertyAnimation {
target: glow
duration: buttonIcon.animationDuration
loops: 1
from: 20
to: 10
property: "border.width"
}
}
}
}