C

Qt Quick Ultralite shapes Example

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial

import QtQuick 2.15

Rectangle {
    id: root
    width: 800
    height: 480

    property int spacing: 5 * width / 800
    property int entryWidth: (width / 4) - 2 * spacing
    property int entryHeight: (height / 2) - 2 * spacing

    Column {
        anchors.centerIn: parent
        padding: root.spacing
        Row {
            padding: root.spacing
            spacing: root.spacing
            ShapesEntry {
                id: entry
                text: "Fill rules"
                Rectangle {
                    color: "lightGray"
                    anchors.top: parent.top
                    anchors.horizontalCenter: parent.horizontalCenter
                    anchors.margins: entry.contentMargins
                    width: entry.contentHeight
                    height: entry.contentHeight

                    Text {
                        anchors.centerIn: parent
                        text: "Self-intersecting paths are\nnot supported on\nTRAVEO™ T2G"
                        font.pixelSize: 12
                    }
                }
            }
            ShapesEntry {
                text: "Join styles"
                Rectangle {
                    color: "lightGray"
                    anchors.top: parent.top
                    anchors.horizontalCenter: parent.horizontalCenter
                    anchors.margins: entry.contentMargins
                    width: entry.contentHeight
                    height: entry.contentHeight

                    Text {
                        anchors.centerIn: parent
                        text: "Self-intersecting paths are\nnot supported on\nTRAVEO™ T2G"
                        font.pixelSize: 12
                    }
                }
            }
            CapStyles {
                contentMargins: root.spacing
                width: root.entryWidth
                height: root.entryHeight
            }
            QuadraticCurve {
                contentMargins: root.spacing
                width: root.entryWidth
                height: root.entryHeight
            }
        }
        Row {
            padding: root.spacing
            spacing: root.spacing
            CubicCurve {
                contentMargins: root.spacing
                width: root.entryWidth
                height: root.entryHeight
            }
            ArcDirection {
                contentMargins: root.spacing
                width: root.entryWidth
                height: root.entryHeight
            }
            LargeSmallArc {
                contentMargins: root.spacing
                width: root.entryWidth
                height: root.entryHeight
            }
            ArcRotation {
                contentMargins: root.spacing
                width: root.entryWidth
                height: root.entryHeight
            }
        }
    }
}