import QtQuick import QtQuick.Shapes import Quickshell import Quickshell.Widgets MouseArea { id: root required property real radius property real pad: 5 property color color property Item item hoverEnabled: true Component.onCompleted: { item.y = pad } width: shape.width height: shape.height Shape { id: shape //anchors.centerIn: parent ShapePath { id: path strokeWidth: 4 strokeColor: root.color fillColor: root.color startX: -root.radius - pad; startY: 0 PathArc { radiusX: root.radius radiusY: root.radius relativeX: root.radius relativeY: root.radius } PathLine { relativeX: 0; relativeY: 2 * pad + item.height - 2 * root.radius } PathArc { radiusX: root.radius radiusY: root.radius direction: PathArc.Counterclockwise relativeX: root.radius relativeY: root.radius } PathLine { x: item.width + pad - root.radius; relativeY: 0 } PathArc { radiusX: root.radius radiusY: root.radius direction: PathArc.Counterclockwise relativeX: root.radius relativeY: -root.radius } PathLine { relativeX: 0; relativeY: -item.height + 2 * root.radius - 2 * pad } PathArc { radiusX: root.radius radiusY: root.radius relativeX: root.radius relativeY: -root.radius } PathLine { x: -root.radius - pad; y: 0 } } } }