fix: utilities recording modal bg

This commit is contained in:
2 * r + 2 * t 2026-04-13 23:03:36 +10:00
parent 50c4eaf75b
commit c517b71024
4 changed files with 35 additions and 22 deletions

View file

@ -250,6 +250,7 @@ StyledWindow {
borderThickness: root.borderThickness
utilities.horizontalStretch: (sidebarBg.rawDeformMatrix.m11 - 1) / 2 + 1
utilities.deformMatrix: utilsBg.rawDeformMatrix
dashboard.transform: Matrix4x4 {
matrix: dashBg.deformMatrix

View file

@ -11,6 +11,7 @@ Item {
required property var props
required property DrawerVisibilities visibilities
required property BarPopouts.Wrapper popouts
required property matrix4x4 deformMatrix
implicitWidth: layout.implicitWidth
implicitHeight: layout.implicitHeight
@ -37,5 +38,6 @@ Item {
RecordingDeleteModal {
props: root.props
deformMatrix: root.deformMatrix
}
}

View file

@ -14,6 +14,7 @@ Loader {
id: root
required property var props
required property matrix4x4 deformMatrix
asynchronous: true
anchors.fill: parent
@ -40,7 +41,9 @@ Loader {
StyledRect {
anchors.fill: parent
topLeftRadius: Config.border.rounding
anchors.rightMargin: -parent.width * (1 - root.deformMatrix.m11) / 2 // Additional bit to account for deform
anchors.bottomMargin: -parent.height * 0.1 // Additional bit to account for overshoot
topLeftRadius: Tokens.rounding.large
color: Colours.palette.m3scrim
}
@ -51,13 +54,14 @@ Loader {
preferredRendererType: Shape.CurveRenderer
asynchronous: true
// Bottom left
ShapePath {
startX: -Config.border.rounding * 2
startY: shape.height - Config.border.thickness
startX: -root.Config.border.smoothing * 2
startY: shape.height - root.Config.border.thickness
strokeWidth: 0
fillGradient: LinearGradient {
orientation: LinearGradient.Horizontal
x1: -Config.border.rounding * 2
x1: -root.Config.border.smoothing * 2
GradientStop {
position: 0
@ -70,31 +74,34 @@ Loader {
}
PathLine {
relativeX: Config.border.rounding
relativeX: root.Config.border.smoothing
relativeY: 0
}
PathArc {
relativeY: -Config.border.rounding
radiusX: Config.border.rounding
radiusY: Config.border.rounding
direction: PathArc.Counterclockwise
PathCubic {
relativeX: root.Config.border.smoothing
relativeY: -root.Config.border.smoothing
relativeControl1X: root.Config.border.smoothing * 0.93
relativeControl1Y: -root.Config.border.smoothing * 0.07
relativeControl2X: root.Config.border.smoothing * 0.93
relativeControl2Y: -root.Config.border.smoothing * 0.07
}
PathLine {
relativeX: 0
relativeY: Config.border.rounding + Config.border.thickness
relativeY: root.Config.border.smoothing + root.Config.border.thickness
}
PathLine {
relativeX: -Config.border.rounding * 2
relativeX: -root.Config.border.smoothing * 2
relativeY: 0
}
}
// Top right curve
ShapePath {
startX: shape.width - Config.border.rounding - Config.border.thickness
startX: shape.width - root.Config.border.smoothing - root.Config.border.thickness + (1 - root.deformMatrix.m11) * shape.width / 2
strokeWidth: 0
fillGradient: LinearGradient {
orientation: LinearGradient.Vertical
y1: -Config.border.rounding * 2
y1: -root.Config.border.smoothing * 2
GradientStop {
position: 0
@ -106,19 +113,20 @@ Loader {
}
}
PathArc {
relativeX: Config.border.rounding
relativeY: -Config.border.rounding
radiusX: Config.border.rounding
radiusY: Config.border.rounding
direction: PathArc.Counterclockwise
PathCubic {
relativeX: root.Config.border.smoothing
relativeY: -root.Config.border.smoothing
relativeControl1X: root.Config.border.smoothing * 0.93
relativeControl1Y: -root.Config.border.smoothing * 0.07
relativeControl2X: root.Config.border.smoothing * 0.93
relativeControl2Y: -root.Config.border.smoothing * 0.07
}
PathLine {
relativeX: 0
relativeY: -Config.border.rounding
relativeY: -root.Config.border.smoothing
}
PathLine {
relativeX: Config.border.thickness
relativeX: root.Config.border.thickness
relativeY: 0
}
PathLine {

View file

@ -14,6 +14,7 @@ Item {
required property Sidebar.Wrapper sidebar
required property BarPopouts.Wrapper popouts
property real horizontalStretch
property matrix4x4 deformMatrix
readonly property PersistentProperties props: PersistentProperties {
property bool recordingListExpanded: false
@ -84,6 +85,7 @@ Item {
props: root.props
visibilities: root.visibilities
popouts: root.popouts
deformMatrix: root.deformMatrix
}
}
}