// Copyright (C) 2021 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause import QtQuick import QtQuick.Controls Column { width: 320 height: 480 spacing: 6 y: 12 //! [image] AnimatedImage { id: animation source: "pics/Uniflow_steam_engine.gif" anchors.horizontalCenter: parent.horizontalCenter speed: speedSlider.value TapHandler { onTapped: animation.playing = !animation.playing } } //! [image] Rectangle { id: timeline color: "steelblue" width: animation.width height: 1 x: animation.x y: animation.height + 12 visible: animation.playing Rectangle { property int frames: animation.frameCount width: 4; height: 8 x: (animation.width - width) * animation.currentFrame / frames y: -4 color: "red" } } Row { spacing: 6 anchors.horizontalCenter: parent.horizontalCenter Label { text: qsTr("Speed:") font.pointSize: 12 anchors.verticalCenter: speedSlider.verticalCenter } Slider { id: speedSlider from: 0 to: 5 value: 1 } Label { font: fontMetrics.font text: qsTr(Math.round(animation.speed * 100) + "%") width: fontMetrics.width anchors.verticalCenter: speedSlider.verticalCenter } TextMetrics { id: fontMetrics text: "100%" font.pointSize: 12 } } Button { text: qsTr("Reset") enabled: speedSlider.value !== 1 anchors.horizontalCenter: parent.horizontalCenter onClicked: { speedSlider.value = 1 animation.playing = true } } }