File: fillTransform.qml

package info (click to toggle)
qt6-declarative 6.9.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 308,920 kB
  • sloc: cpp: 775,911; javascript: 514,247; xml: 10,855; python: 2,806; ansic: 2,253; java: 810; sh: 262; makefile: 41; php: 27
file content (46 lines) | stat: -rw-r--r-- 1,251 bytes parent folder | download | duplicates (2)
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
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

import QtQuick
import QtQuick.Shapes

Rectangle {
    color: "lightGray"
    width: 256
    height: 256

    Shape {
        anchors.centerIn: parent
        width: 200
        height: 100

        ShapePath {
            id: path1
            fillGradient: RadialGradient {
                id: grad
                centerX: path1.startX + 100
                centerY: path1.startY + 50
                centerRadius: 50
                focalX: centerX
                focalY: centerY
                GradientStop { position: 0.0; color: "blue" }
                GradientStop { position: 0.5; color: "cyan" }
                GradientStop { position: 1.0; color: "blue" }
            }

            property real fillScale
            NumberAnimation on fillScale {
                running: true
                loops: Animation.Infinite
                from: 1
                to: 5
                duration: 3000
                easing.type: Easing.InQuad
            }

            fillTransform: PlanarTransform.fromScale(fillScale, 1, grad.centerX, grad.centerY)

            PathRectangle { width: 200; height: 100 }
        }
    }
}