qt6-bb10/qtdeclarative/tests/auto/quick/qquickshadereffect/data/testProperties.qml

49 lines
1.5 KiB
QML

// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
Item {
id: root
width: 640
height: 480
property bool finished
Rectangle {
id: rect
color: "red"
width: 300
height: 300
Text {
text: "Hello world"
anchors.centerIn: parent
color: "#00FF00"
}
layer.enabled: true
layer.effect: ShaderEffect {
objectName: "shaderEffect"
fragmentShader: "qrc:/data/testprop.frag"
// This is intended to exercise the uniform data copy logic in
// QSGRhiShaderEffectMaterialShader::updateUniformData() to see if
// the undocumented combinations for passing in a vector with more
// components than the shader variable works, and no assertions or
// crashes occur.
property variant aVec4: Qt.point(0.1, 0.0) // third and fourth are 0
property variant aVec3: Qt.point(0.1, 0.5) // third will be 0
property variant aVec2: Qt.vector4d(0.1, 0.5, 1.0, 1.0) // only first two are used
property real f: 0.0
property variant aFloat: Qt.size(0.1 + f, 0.1) // only first is used
NumberAnimation on f {
from: 0.0
to: 1.0
duration: 1000
onFinished: root.finished = true
}
}
}
}