diff options
Diffstat (limited to 'tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml')
-rw-r--r-- | tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml new file mode 100644 index 00000000..c154aa06 --- /dev/null +++ b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml @@ -0,0 +1,128 @@ +import QtQuick 1.0 + +Rectangle { + width: 400; height: 360; color: "gray" + + Rectangle { + id: rect + width: 25; height: 10; y: 15; color: "black" + SequentialAnimation on x { + loops: Animation.Infinite + NumberAnimation { from: 25; to: 350; duration: 1000 } + NumberAnimation { from: 350; to: 25; duration: 1000 } + } + } + + Rectangle { + width: 25; height: 10; x: rect.x; y: 30; color: "red" + Behavior on x { SmoothedAnimation { velocity: 200 } } + } + + Rectangle { + width: 25; height: 10; x: rect.x; y: 45; color: "yellow" + Behavior on x { SmoothedAnimation { velocity: 150; reversingMode: SmoothedAnimation.Immediate } } + } + + Rectangle { + width: 25; height: 10; x: rect.x; y: 60; color: "green" + Behavior on x { SmoothedAnimation { velocity: 100; reversingMode: SmoothedAnimation.Sync } } + } + + Rectangle { + width: 25; height: 10; x: rect.x; y: 75; color: "purple" + Behavior on x { SmoothedAnimation { velocity: 100; maximumEasingTime: 100 } } + } + + Rectangle { + width: 25; height: 10; x: rect.x; y: 90; color: "blue" + Behavior on x { SmoothedAnimation { velocity: -1; duration: 300 } } + } + + //rect2 has jerky movement, but the rects following it should be smooth + Rectangle { + id: rect2 + property int dir: 1 + width: 25; height: 10; x:25; y: 120; color: "black" + function advance(){ + if(x >= 350) + dir = -1; + if(x <= 25) + dir = 1; + x += 65.0 * dir; + } + } + Timer{ + interval: 200 + running: true + repeat: true + onTriggered: rect2.advance(); + } + + Rectangle { + width: 25; height: 10; x: rect2.x; y: 135; color: "red" + Behavior on x { SmoothedAnimation { velocity: 200 } } + } + + Rectangle { + width: 25; height: 10; x: rect2.x; y: 150; color: "yellow" + Behavior on x { SmoothedAnimation { velocity: 150; reversingMode: SmoothedAnimation.Immediate } } + } + + Rectangle { + width: 25; height: 10; x: rect2.x; y: 165; color: "green" + Behavior on x { SmoothedAnimation { velocity: 100; reversingMode: SmoothedAnimation.Sync } } + } + + Rectangle { + width: 25; height: 10; x: rect2.x; y: 180; color: "purple" + Behavior on x { SmoothedAnimation { velocity: 100; maximumEasingTime: 100 } } + } + + Rectangle { + width: 25; height: 10; x: rect2.x; y: 195; color: "blue" + Behavior on x { SmoothedAnimation { velocity: -1; duration: 300 } } + } + + //rect3 just jumps , but the rects following it should be smooth + Rectangle { + id: rect3 + width: 25; height: 10; x:25; y: 240; color: "black" + function advance(){ + if(x == 25) + x = 350; + else + x = 25; + } + } + Timer{ + interval: 1000 + running: true + repeat: true + onTriggered: rect3.advance(); + } + + Rectangle { + width: 25; height: 10; x: rect3.x; y: 255; color: "red" + Behavior on x { SmoothedAnimation { velocity: 200 } } + } + + Rectangle { + width: 25; height: 10; x: rect3.x; y: 270; color: "yellow" + Behavior on x { SmoothedAnimation { velocity: 150; reversingMode: SmoothedAnimation.Immediate } } + } + + Rectangle { + width: 25; height: 10; x: rect3.x; y: 285; color: "green" + Behavior on x { SmoothedAnimation { velocity: 100; reversingMode: SmoothedAnimation.Sync } } + } + + Rectangle { + width: 25; height: 10; x: rect3.x; y: 300; color: "purple" + Behavior on x { SmoothedAnimation { velocity: 100; maximumEasingTime: 100 } } + } + + Rectangle { + width: 25; height: 10; x: rect3.x; y: 315; color: "blue" + Behavior on x { SmoothedAnimation { velocity: -1; duration: 300 } } + } +} |