6#include <phosphorzones_export.h>
14#include <QVariantList>
38Q_DECLARE_OPERATORS_FOR_FLAGS(ZoneFields)
51namespace LayoutUtils {
60PHOSPHORZONES_EXPORT
void serializeAllowLists(QJsonObject& json,
const QStringList& screens,
const QList<int>& desktops,
61 const QStringList& activities);
66PHOSPHORZONES_EXPORT
void deserializeAllowLists(
const QJsonObject& json, QStringList& screens, QList<int>& desktops,
67 QStringList& activities);
82 const QRectF& referenceGeometry = QRectF());
Represents a collection of zones that form a layout.
Definition Layout.h:74
PHOSPHORZONES_EXPORT void serializeAllowLists(QJsonObject &json, const QStringList &screens, const QList< int > &desktops, const QStringList &activities)
Serialize visibility allow-lists to JSON (only writes non-empty lists)
PHOSPHORZONES_EXPORT QHash< QString, int > buildZonePositionMap(Layout *layout)
PHOSPHORZONES_EXPORT QVariantMap layoutToVariantMap(Layout *layout, ZoneFields zoneFields=ZoneField::Minimal)
Convert a layout to a QVariantMap (metadata + zones)
PHOSPHORZONES_EXPORT QHash< QString, int > buildGlobalZonePositionMap(const QList< Layout * > &layouts)
Build a global zoneId → position map merged across every layout in layouts.
PHOSPHORZONES_EXPORT void deserializeAllowLists(const QJsonObject &json, QStringList &screens, QList< int > &desktops, QStringList &activities)
Deserialize visibility allow-lists from JSON (clears output params first)
PHOSPHORZONES_EXPORT void sortZonesByNumber(QVector< Zone * > &zones)
PHOSPHORZONES_EXPORT QVariantList zonesToVariantList(Layout *layout, ZoneFields fields=ZoneField::Minimal, const QRectF &referenceGeometry=QRectF())
Convert all zones in a layout to QVariantList.
Definition IWindowTrackingService.h:22
ZoneField
Flags controlling which zone fields to include in conversion (OCP-compliant)
Definition LayoutUtils.h:29
@ Minimal
Id, ZoneNumber, RelativeGeometry only (for previews)
@ Appearance
Include colors, opacities, border properties.
@ Full
All fields (for overlay rendering)