show screen corners on lock screen when enabled
This commit is contained in:
parent
5a5bbc5811
commit
63e93f5de0
1 changed files with 67 additions and 0 deletions
|
|
@ -349,4 +349,71 @@ WlSessionLockSurface {
|
|||
_shakeAnim.restart();
|
||||
}
|
||||
}
|
||||
|
||||
// Screen corners - session lock surfaces render above all layer-shell,
|
||||
// so the bar's ScreenCorners aren't visible. Draw our own.
|
||||
component LockCorner: Canvas {
|
||||
property int corner: 0
|
||||
readonly property int _r: M.Theme.screenRadius
|
||||
visible: _r > 0 && M.Modules.screenCorners.enable
|
||||
width: _r
|
||||
height: _r
|
||||
z: 999
|
||||
|
||||
onPaint: {
|
||||
const r = _r;
|
||||
const ctx = getContext("2d");
|
||||
ctx.clearRect(0, 0, r, r);
|
||||
ctx.fillStyle = "black";
|
||||
ctx.beginPath();
|
||||
switch (corner) {
|
||||
case 0:
|
||||
ctx.moveTo(0, 0);
|
||||
ctx.lineTo(r, 0);
|
||||
ctx.arc(r, r, r, -Math.PI / 2, Math.PI, true);
|
||||
ctx.closePath();
|
||||
break;
|
||||
case 1:
|
||||
ctx.moveTo(r, 0);
|
||||
ctx.lineTo(0, 0);
|
||||
ctx.arc(0, r, r, -Math.PI / 2, 0, false);
|
||||
ctx.closePath();
|
||||
break;
|
||||
case 2:
|
||||
ctx.moveTo(0, r);
|
||||
ctx.lineTo(0, 0);
|
||||
ctx.arc(r, 0, r, Math.PI, Math.PI / 2, true);
|
||||
ctx.closePath();
|
||||
break;
|
||||
case 3:
|
||||
ctx.moveTo(r, r);
|
||||
ctx.lineTo(r, 0);
|
||||
ctx.arc(0, 0, r, 0, Math.PI / 2, false);
|
||||
ctx.closePath();
|
||||
break;
|
||||
}
|
||||
ctx.fill();
|
||||
}
|
||||
}
|
||||
|
||||
LockCorner {
|
||||
corner: 0
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
}
|
||||
LockCorner {
|
||||
corner: 1
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
}
|
||||
LockCorner {
|
||||
corner: 2
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
}
|
||||
LockCorner {
|
||||
corner: 3
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue