Files
illogical-impulse/dots/.config/quickshell/ii/modules/hefty/topLayer/HAbstractMorphedPanel.qml
T
2026-01-05 20:27:39 +01:00

37 lines
1.0 KiB
QML

import QtQuick
import Quickshell
/**
* Abstract morphed panel to be used in TopLayerPanel.
* Screen width and height are to be supplied when declared in the top layer panel
* Others are to be declared by panels deriving from this
*
* To make sure morph movements don't look weird:
* - Follow the convention of having points start from bottom-middle and go clockwise
* - Make sure the number of points is "balanced" in all directions
* - Tip: Sometimes symmetry is not enough. Try to have more intermediate points if ones you have are too spaced out and act funny.
*/
Item {
id: root
// To be fed
property int screenWidth: QsWindow.window.width
property int screenHeight: QsWindow.window.height
// Signals
signal requestFocus()
signal dismissed()
// Some info
property int reservedTop: 0
property int reservedBottom: 0
property int reservedLeft: 0
property int reservedRight: 0
// Main stuff
property var backgroundPolygon
property Region maskRegion: Region {
item: root
}
}