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
}
}
}
|