Files
illogical-impulse/dots/.config/quickshell/ii/modules/hefty/topLayer/HAbstractMorphedPanel.qml
T
2026-02-03 14:47:08 +01:00

39 lines
1.1 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 & loading
signal requestFocus()
signal dismissed()
property bool load: true
property bool shown: true
// 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
}
}