qt6-bb10/qtdeclarative/tests/baseline/scenegraph/data/shape/shape_intersecting6.qml

68 lines
2.6 KiB
QML

// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick.Shapes
Item {
width: 600
height: 600
ListModel {
id: fillRules
ListElement { fillrule: ShapePath.WindingFill }
ListElement { fillrule: ShapePath.OddEvenFill }
}
ListModel {
id: renderers
ListElement { renderer: Shape.GeometryRenderer }
ListElement { renderer: Shape.CurveRenderer }
}
ListModel {
id: svgstrings
ListElement { scaleToFit: 1; offsetX: 20; offsetY: 20; pathString: "M 0 0 L 100 0 L 100 50 L 0 50 Z M 0 50 L 100 50 L 100 100 L 0 100 Z " }
ListElement { scaleToFit: 1; offsetX: 20; offsetY: 20; pathString: "M 0 0 L 0 50 L 100 50 L 100 0 Z M 0 50 L 0 100 L 100 100 L 100 50 Z " }
ListElement { scaleToFit: 1; offsetX: 20; offsetY: 20; pathString: "M 0 0 L 0 50 L 100 50 L 100 0 Z M 0 50 L 100 50 L 100 100 L 0 100 Z " }
ListElement { scaleToFit: 1; offsetX: 20; offsetY: 40; pathString: "M 0 0 L 100 0 L 100 50 L 0 50 Z M 20 0 Q 20 -30 50 -30 Q 80 -30 80 0 L 80 70 Q 50 100 20 70 Z" }
}
Column {
Repeater {
model: renderers
Column {
Repeater {
model: fillRules
Row {
Repeater {
model: svgstrings
Rectangle {
width: 150
height: 150
border.color: "black"
Shape {
preferredRendererType: renderer
ShapePath {
fillColor: renderer == Shape.CurveRenderer ? "#99483d8b" : "#99dc143c"
fillRule: fillrule
strokeWidth: 0
PathSvg { path: pathString }
}
transform: Matrix4x4 {
matrix: Qt.matrix4x4(scaleToFit, 0, 0, offsetX,
0, scaleToFit, 0, offsetY,
0, 0, 1, 0,
0, 0, 0, 1)
}
}
}
}
}
}
}
}
}
}