Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
ZoneTypes.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 fuddlesworth
2// SPDX-License-Identifier: LGPL-2.1-or-later
3
4#pragma once
5
6#include <PhosphorProtocol/phosphorprotocoltypes_export.h>
7
8#include <QList>
9#include <QMetaType>
10#include <QRect>
11#include <QString>
12
13namespace PhosphorProtocol {
14
17{
18 int x = 0;
19 int y = 0;
20 int width = 0;
21 int height = 0;
22
23 QRect toRect() const
24 {
25 return QRect(x, y, width, height);
26 }
27 static ZoneGeometryRect fromRect(const QRect& r)
28 {
29 return {r.x(), r.y(), r.width(), r.height()};
30 }
31};
32
33using ZoneGeometryList = QList<ZoneGeometryRect>;
34
37{
38 QString zoneId;
39 int x = 0;
40 int y = 0;
41 int width = 0;
42 int height = 0;
43 int borderWidth = 0;
44 int borderRadius = 0;
45 bool useCustomColors = false;
48 QString borderColor;
49 double activeOpacity = 0.5;
50 double inactiveOpacity = 0.3;
51
52 QRect toRect() const
53 {
54 return QRect(x, y, width, height);
55 }
56};
57
58using EmptyZoneList = QList<EmptyZoneEntry>;
59
62{
63 QString windowId;
65 QString icon;
66 QString caption;
67};
68
69using SnapAssistCandidateList = QList<SnapAssistCandidate>;
70
73{
74 QString zoneId;
75 int x = 0;
76 int y = 0;
77 int width = 0;
78 int height = 0;
79
80 QRect toRect() const
81 {
82 return QRect(x, y, width, height);
83 }
84};
85
86using NamedZoneGeometryList = QList<NamedZoneGeometry>;
87
88} // namespace PhosphorProtocol
89
90Q_DECLARE_METATYPE(PhosphorProtocol::ZoneGeometryRect)
91Q_DECLARE_METATYPE(PhosphorProtocol::ZoneGeometryList)
92Q_DECLARE_METATYPE(PhosphorProtocol::EmptyZoneEntry)
93Q_DECLARE_METATYPE(PhosphorProtocol::EmptyZoneList)
D-Bus marshalling for the autotile value types (see AutotileTypes.h).
Definition AutotileMarshalling.h:16
QList< ZoneGeometryRect > ZoneGeometryList
Definition ZoneTypes.h:33
QList< SnapAssistCandidate > SnapAssistCandidateList
Definition ZoneTypes.h:69
QList< NamedZoneGeometry > NamedZoneGeometryList
Definition ZoneTypes.h:86
QList< EmptyZoneEntry > EmptyZoneList
Definition ZoneTypes.h:58
D-Bus struct for empty zone info: (siiiiiibsssdd)
Definition ZoneTypes.h:37
int y
Definition ZoneTypes.h:40
int width
Definition ZoneTypes.h:41
int height
Definition ZoneTypes.h:42
QString zoneId
Definition ZoneTypes.h:38
QString borderColor
Definition ZoneTypes.h:48
QRect toRect() const
Definition ZoneTypes.h:52
QString inactiveColor
Definition ZoneTypes.h:47
double activeOpacity
Definition ZoneTypes.h:49
int x
Definition ZoneTypes.h:39
double inactiveOpacity
Definition ZoneTypes.h:50
int borderRadius
Definition ZoneTypes.h:44
QString highlightColor
Definition ZoneTypes.h:46
int borderWidth
Definition ZoneTypes.h:43
bool useCustomColors
Definition ZoneTypes.h:45
D-Bus struct for named zone geometry: (siiii)
Definition ZoneTypes.h:73
int x
Definition ZoneTypes.h:75
int height
Definition ZoneTypes.h:78
int width
Definition ZoneTypes.h:77
QString zoneId
Definition ZoneTypes.h:74
int y
Definition ZoneTypes.h:76
QRect toRect() const
Definition ZoneTypes.h:80
D-Bus struct for snap assist candidate: (ssss)
Definition ZoneTypes.h:62
QString icon
Definition ZoneTypes.h:65
QString windowId
Definition ZoneTypes.h:63
QString caption
Definition ZoneTypes.h:66
QString compositorHandle
Definition ZoneTypes.h:64
D-Bus struct for zone geometry: (iiii)
Definition ZoneTypes.h:17
int x
Definition ZoneTypes.h:18
QRect toRect() const
Definition ZoneTypes.h:23
int width
Definition ZoneTypes.h:20
int y
Definition ZoneTypes.h:19
int height
Definition ZoneTypes.h:21
static ZoneGeometryRect fromRect(const QRect &r)
Definition ZoneTypes.h:27