6import Qt5Compat.GraphicalEffects
17 Accessible.ignored: true
22 property bool open: false
32 property real initialX
37 property real initialY
42 property real abstractWidth: parent.width
47 property real abstractHeight: parent.height
52 property real diameter: 2 * Math.sqrt(Math.pow(Math.max(initialX, abstractWidth - initialX), 2) + Math.pow(Math.max(initialY, abstractHeight - initialY), 2))
58 signal finished(bool open)
63 function openWave(x, y) {
64 wave.initialX = x || parent.width / 2;
65 wave.initialY = y || parent.height / 2;
72 function closeWave(x, y) {
73 wave.initialX = x || parent.width / 2;
74 wave.initialY = y || parent.height / 2;
80 layer.effect: OpacityMask {
85 x: initialX - size / 2
86 y: initialY - size / 2
104 transitions: Transition {
109 SequentialAnimation {
111 script: wave.visible = wave.open
115 easing.type: Easing.OutCubic
118 script: wave.finished(wave.open)