diff options
Diffstat (limited to 'modules/osd/Background.qml')
| -rw-r--r-- | modules/osd/Background.qml | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/modules/osd/Background.qml b/modules/osd/Background.qml new file mode 100644 index 0000000..e0383f5 --- /dev/null +++ b/modules/osd/Background.qml @@ -0,0 +1,61 @@ +import "root:/config" +import QtQuick +import QtQuick.Shapes + +Shape { + id: root + + required property real realWrapperWidth + required property real wrapperHeight + readonly property int rounding: Appearance.rounding.large + readonly property int roundingX: Math.min(rounding, realWrapperWidth / 2) + readonly property real wrapperWidth: realWrapperWidth - 1 // Pixel issues :sob: + + preferredRendererType: Shape.CurveRenderer + opacity: Appearance.transparency.enabled ? Appearance.transparency.base : 1 + + ShapePath { + strokeWidth: -1 + fillColor: Appearance.colours.m3surfaceContainer + + startX: root.wrapperWidth + + PathArc { + relativeX: -root.roundingX + relativeY: root.rounding + radiusX: root.roundingX + radiusY: root.rounding + } + PathLine { + x: root.roundingX + relativeY: 0 + } + PathArc { + relativeX: -root.roundingX + relativeY: root.rounding + radiusX: root.roundingX + radiusY: root.rounding + direction: PathArc.Counterclockwise + } + PathLine { + y: root.wrapperHeight - root.rounding * 2 + } + PathArc { + relativeX: root.roundingX + relativeY: root.rounding + radiusX: root.roundingX + radiusY: root.rounding + direction: PathArc.Counterclockwise + } + PathLine { + x: root.wrapperWidth - root.roundingX + relativeY: 0 + } + PathArc { + relativeX: root.roundingX + relativeY: root.rounding + radiusX: root.roundingX + radiusY: root.rounding + } + } +} |