1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 2.0
Rectangle {
width: 900
height: 400
readonly property real imageBorder: 32
readonly property real animDuration: 3000
readonly property real animMin: 2 * imageBorder
readonly property real animMax: 280
Text {
anchors.bottom: row.top
anchors.horizontalCenter: parent.horizontalCenter
text: "Green => standard DPI; purple => @2x"
}
Row {
id: row
anchors.centerIn: parent
spacing: 10
Repeater {
model: 3
delegate: Item {
width: animMax
height: animMax
BorderImage {
source : index === 0 ? "BorderImage.png" : "TiledBorderImage.png"
anchors.centerIn: parent
border {
left: imageBorder; right: imageBorder
top: imageBorder; bottom: imageBorder
}
horizontalTileMode: index === 0 ? BorderImage.Stretch :
index === 1 ? BorderImage.Repeat : BorderImage.Round
verticalTileMode: index === 0 ? BorderImage.Stretch :
index === 1 ? BorderImage.Repeat : BorderImage.Round
width: animMin
SequentialAnimation on width {
NumberAnimation { to: animMax; duration: animDuration }
NumberAnimation { to: animMin; duration: animDuration }
loops: Animation.Infinite
}
height: animMax
SequentialAnimation on height {
NumberAnimation { to: animMin; duration: animDuration }
NumberAnimation { to: animMax; duration: animDuration }
loops: Animation.Infinite
}
}
Text {
anchors.top: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
font.pixelSize: 18
text: index === 0 ? "Stretch" :
index === 1 ? "Repeat" : "Round"
}
}
}
}
}
|