summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/dms/Modules/DankBar/AxisContext.qml
diff options
context:
space:
mode:
authorNippy <nippy@rp1.hu>2026-05-08 19:50:49 +0200
committerNippy <nippy@rp1.hu>2026-05-08 19:50:49 +0200
commit3462bcc46ecf74f576ea4397f16492c16bd75b10 (patch)
treec5ab7aef4498647e057bda8d49c11e5f9dda74c9 /raveos-hyprland-theme/theme-data/dms/Modules/DankBar/AxisContext.qml
parent56616f693b4f263cbf0d47da43b67424efa6022d (diff)
downloadRaveOS-PKGBUILD-3462bcc46ecf74f576ea4397f16492c16bd75b10.tar.gz
RaveOS-PKGBUILD-3462bcc46ecf74f576ea4397f16492c16bd75b10.zip
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/dms/Modules/DankBar/AxisContext.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/dms/Modules/DankBar/AxisContext.qml57
1 files changed, 57 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/dms/Modules/DankBar/AxisContext.qml b/raveos-hyprland-theme/theme-data/dms/Modules/DankBar/AxisContext.qml
new file mode 100644
index 0000000..8a8fe97
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/dms/Modules/DankBar/AxisContext.qml
@@ -0,0 +1,57 @@
+import QtQuick
+
+QtObject {
+ id: root
+
+ property string edge: "top"
+
+ readonly property string orientation: isVertical ? "vertical" : "horizontal"
+ readonly property bool isVertical: edge === "left" || edge === "right"
+ readonly property bool isHorizontal: !isVertical
+
+ function primarySize(item) {
+ return isVertical ? item.height : item.width
+ }
+
+ function crossSize(item) {
+ return isVertical ? item.width : item.height
+ }
+
+ function setPrimaryPos(item, value) {
+ if (isVertical) {
+ item.y = value
+ } else {
+ item.x = value
+ }
+ }
+
+ function getPrimaryPos(item) {
+ return isVertical ? item.y : item.x
+ }
+
+ function primaryAnchor(anchors) {
+ return isVertical ? anchors.verticalCenter : anchors.horizontalCenter
+ }
+
+ function crossAnchor(anchors) {
+ return isVertical ? anchors.horizontalCenter : anchors.verticalCenter
+ }
+
+ function outerVisualEdge() {
+ if (edge === "bottom") return "bottom"
+ if (edge === "left") return "right"
+ if (edge === "right") return "left"
+ if (edge === "top") return "top"
+ return "bottom"
+ }
+
+ signal axisEdgeChanged()
+ signal axisOrientationChanged()
+ signal changed() // Single coalesced signal
+
+ onEdgeChanged: {
+ axisEdgeChanged()
+ axisOrientationChanged()
+ changed()
+ }
+}