1/**************************************************************************** 2** 3** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). 4** Contact: http://www.qt-project.org/legal 5** 6** This file is part of the examples of the Qt Toolkit. 7** 8** $QT_BEGIN_LICENSE:BSD$ 9** You may use this file under the terms of the BSD license as follows: 10** 11** "Redistribution and use in source and binary forms, with or without 12** modification, are permitted provided that the following conditions are 13** met: 14** * Redistributions of source code must retain the above copyright 15** notice, this list of conditions and the following disclaimer. 16** * Redistributions in binary form must reproduce the above copyright 17** notice, this list of conditions and the following disclaimer in 18** the documentation and/or other materials provided with the 19** distribution. 20** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names 21** of its contributors may be used to endorse or promote products derived 22** from this software without specific prior written permission. 23** 24** 25** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 36** 37** $QT_END_LICENSE$ 38** 39****************************************************************************/ 40 41import QtQuick 2.0 42 43Rectangle { 44 id: window 45 width: 320 46 height: 480 47 48 Canvas { 49 id: canvas 50 anchors.fill: parent 51 antialiasing: true 52 53 onPaint: { 54 var context = canvas.getContext("2d") 55 context.clearRect(0, 0, width, height) 56 context.strokeStyle = "black" 57 context.path = pathAnim.path 58 context.stroke() 59 } 60 } 61 62 SequentialAnimation { 63 running: true 64 loops: -1 65 66 PauseAnimation { duration: 1000 } 67 //! [0] 68 PathAnimation { 69 id: pathAnim 70 71 duration: 2000 72 easing.type: Easing.InQuad 73 74 target: box 75 orientation: PathAnimation.RightFirst 76 anchorPoint: Qt.point(box.width/2, box.height/2) 77 path: Path { 78 startX: 50; startY: 50 79 80 PathCubic { 81 x: window.width - 50 82 y: window.height - 50 83 84 control1X: x; control1Y: 50 85 control2X: 50; control2Y: y 86 } 87 88 onChanged: canvas.requestPaint() 89 } 90 } 91 //! [0] 92 } 93 94 Rectangle { 95 id: box 96 97 x: 25; y: 25 98 width: 50; height: 50 99 border.width: 1 100 antialiasing: true 101 102 Text { 103 anchors.centerIn: parent 104 text: "Box" 105 } 106 } 107} 108