blob: 15a69f7c513d1a28790e646a80b5a1185468d530 (
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
|
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick.Window
import QtQuick.Controls
import QtQuick.Layouts
import QtQuick.Shapes
Window {
id: theWindow
width: 1024
height: 768
visible: true
title: qsTr("Text Rendering")
color: "white"
Text {
id: dummyTextRendering
scale: scaleSlider.value
anchors.centerIn: parent
text: dummyText.text
font.pixelSize: fontSize.value
renderType: renderTypeCombo.currentIndex
style: styleCombo.currentIndex
styleColor: "indianred"
color: "black"
visible: renderTypeCombo.currentIndex <= 2
}
Shape {
id: dummyShapeRendering
anchors.centerIn: parent
scale: scaleSlider.value
visible: !dummyTextRendering.visible
width: boundingRect.width
height: boundingRect.height
preferredRendererType: shapesRendererCombo.currentIndex === 0 ? Shape.GeometryRenderer : Shape.CurveRenderer
ShapePath {
id: shapePath
fillColor: "black"
strokeColor: styleCombo.currentIndex === 1 ? "indianred" : "transparent"
strokeStyle: ShapePath.SolidLine
strokeWidth: 1
fillRule: ShapePath.WindingFill
PathText {
text: dummyText.text
font.pixelSize: fontSize.value
}
}
}
RowLayout {
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: parent.right
TextField {
id: dummyText
text: "Foobar"
Layout.fillWidth: false
}
Label {
text: "Scale:"
}
Slider {
id: scaleSlider
from: 0.5
to: 10
value: 1
Layout.fillWidth: false
}
Label {
text: "Font size:"
}
Slider {
id: fontSize
from: 1
to: 1000
value: 100
Layout.fillWidth: true
}
ComboBox {
id: styleCombo
Layout.fillWidth: false
model: [ "Normal", "Outline", "Raised", "Sunken" ]
}
ComboBox {
id: renderTypeCombo
Layout.fillWidth: false
model: [ "QtRendering", "NativeRendering", "CurveRendering", "Qt Quick Shapes" ]
}
ComboBox {
id: shapesRendererCombo
Layout.fillWidth: false
model: [ "GeometryRenderer", "CurveRenderer" ]
visible: renderTypeCombo.currentIndex > 2
}
}
}
|