2023-10-10 12:23:33 +00:00
|
|
|
// Copyright (C) 2023 The Qt Company Ltd.
|
2024-02-22 14:51:16 +00:00
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
2023-10-10 12:23:33 +00:00
|
|
|
|
|
|
|
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"
|
2024-01-19 17:06:58 +00:00
|
|
|
Layout.fillWidth: false
|
2023-10-10 12:23:33 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
Label {
|
|
|
|
text: "Scale:"
|
|
|
|
}
|
|
|
|
|
|
|
|
Slider {
|
|
|
|
id: scaleSlider
|
|
|
|
from: 0.5
|
|
|
|
to: 10
|
|
|
|
value: 1
|
2024-01-19 17:06:58 +00:00
|
|
|
Layout.fillWidth: false
|
2023-10-10 12:23:33 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
Label {
|
|
|
|
text: "Font size:"
|
|
|
|
}
|
|
|
|
|
|
|
|
Slider {
|
|
|
|
id: fontSize
|
|
|
|
from: 1
|
|
|
|
to: 1000
|
|
|
|
value: 100
|
|
|
|
Layout.fillWidth: true
|
|
|
|
}
|
|
|
|
|
|
|
|
ComboBox {
|
|
|
|
id: styleCombo
|
2024-01-19 17:06:58 +00:00
|
|
|
Layout.fillWidth: false
|
2023-10-10 12:23:33 +00:00
|
|
|
model: [ "Normal", "Outline", "Raised", "Sunken" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
ComboBox {
|
|
|
|
id: renderTypeCombo
|
2024-01-19 17:06:58 +00:00
|
|
|
Layout.fillWidth: false
|
2023-10-10 12:23:33 +00:00
|
|
|
model: [ "QtRendering", "NativeRendering", "CurveRendering", "Qt Quick Shapes" ]
|
|
|
|
}
|
|
|
|
|
|
|
|
ComboBox {
|
|
|
|
id: shapesRendererCombo
|
2024-01-19 17:06:58 +00:00
|
|
|
Layout.fillWidth: false
|
2023-10-10 12:23:33 +00:00
|
|
|
model: [ "GeometryRenderer", "CurveRenderer" ]
|
|
|
|
visible: renderTypeCombo.currentIndex > 2
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|