aboutsummaryrefslogtreecommitdiffstats
path: root/tests/baseline/scenegraph/data/shape/caps_and_joins.qml
blob: 003d14efead462cc29ae0307f2f4a14ebcd157f5 (plain)
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// Copyright (C) 2025 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

import QtQuick
import QtQuick.Shapes

Item {
    width: 1500; height: 1350

    component Shapes: Shape {
        ShapePath {
            strokeColor: "black"
            strokeWidth: 10
            capStyle: ShapePath.RoundCap
            joinStyle: ShapePath.RoundJoin
            PathMove { x: 160; y: 100 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: -25; relativeControlY: -25 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: 50; relativeControlY: -25 }
            PathCubic { relativeX: 0; relativeY: 300;
                relativeControl1X: -250; relativeControl1Y: 100
                relativeControl2X: 250; relativeControl2Y: 200 }
            PathLine { relativeX: -150; relativeY: -250 }
            PathLine { relativeX: 75; relativeY: 200 }
            PathLine { relativeX: -75; relativeY: 0 }
        }
        ShapePath {
            strokeColor: "black"
            strokeWidth: 10
            capStyle: ShapePath.SquareCap
            joinStyle: ShapePath.MiterJoin
            PathMove { x: 160; y: 450 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: -25; relativeControlY: -25 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: 50; relativeControlY: -25 }
            PathCubic { relativeX: 0; relativeY: 300;
                relativeControl1X: -250; relativeControl1Y: 100
                relativeControl2X: 250; relativeControl2Y: 200 }
            PathLine { relativeX: -150; relativeY: -250 }
            PathLine { relativeX: 75; relativeY: 200 }
            PathLine { relativeX: -75; relativeY: 0 }
        }
        ShapePath {
            strokeColor: "black"
            strokeWidth: 10
            capStyle: ShapePath.FlatCap
            joinStyle: ShapePath.BevelJoin
            PathMove { x: 160; y: 800 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: -25; relativeControlY: -25 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: 50; relativeControlY: -25 }
            PathCubic { relativeX: 0; relativeY: 300;
                relativeControl1X: -250; relativeControl1Y: 100
                relativeControl2X: 250; relativeControl2Y: 200 }
            PathLine { relativeX: -150; relativeY: -250 }
            PathLine { relativeX: 75; relativeY: 200 }
            PathLine { relativeX: -75; relativeY: 0 }
        }

        // cosmetic stroke, scale = 1
        ShapePath {
            strokeColor: "black"
            strokeWidth: 10
            cosmeticStroke: true
            capStyle: ShapePath.RoundCap
            joinStyle: ShapePath.RoundJoin
            PathMove { x: 410; y: 100 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: -25; relativeControlY: -25 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: 50; relativeControlY: -25 }
            PathCubic { relativeX: 0; relativeY: 300;
                relativeControl1X: -250; relativeControl1Y: 100
                relativeControl2X: 250; relativeControl2Y: 200 }
            PathLine { relativeX: -150; relativeY: -250 }
            PathLine { relativeX: 75; relativeY: 200 }
            PathLine { relativeX: -75; relativeY: 0 }
        }
        ShapePath {
            strokeColor: "black"
            strokeWidth: 10
            cosmeticStroke: true
            capStyle: ShapePath.SquareCap
            joinStyle: ShapePath.MiterJoin
            PathMove { x: 410; y: 450 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: -25; relativeControlY: -25 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: 50; relativeControlY: -25 }
            PathCubic { relativeX: 0; relativeY: 300;
                relativeControl1X: -250; relativeControl1Y: 100
                relativeControl2X: 250; relativeControl2Y: 200 }
            PathLine { relativeX: -150; relativeY: -250 }
            PathLine { relativeX: 75; relativeY: 200 }
            PathLine { relativeX: -75; relativeY: 0 }
        }
        ShapePath {
            strokeColor: "black"
            strokeWidth: 10
            cosmeticStroke: true
            capStyle: ShapePath.FlatCap
            joinStyle: ShapePath.BevelJoin
            PathMove { x: 410; y: 800 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: -25; relativeControlY: -25 }
            PathQuad { relativeX: 0; relativeY: -50;
                relativeControlX: 50; relativeControlY: -25 }
            PathCubic { relativeX: 0; relativeY: 300;
                relativeControl1X: -250; relativeControl1Y: 100
                relativeControl2X: 250; relativeControl2Y: 200 }
            PathLine { relativeX: -150; relativeY: -250 }
            PathLine { relativeX: 75; relativeY: 200 }
            PathLine { relativeX: -75; relativeY: 0 }
        }
    }
    Shapes {
        x: 100
        y: 200
        scale: 1.25
    }
    Shapes {
        x: 700
    }
    Shapes {
        x: 1100
        y: 100
        scale: 0.5
    }
    Shapes {
        x: 1100
        y: -300
        scale: 0.25
    }
}