Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
GeometryUtils.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
8#include <phosphorengine_export.h>
9
10#include <QString>
11#include <QVector>
12
13namespace PhosphorEngine {
14namespace GeometryUtils {
15
22
23PHOSPHORENGINE_EXPORT QString serializeZoneAssignments(const QVector<ZoneAssignmentEntry>& entries);
24
34PHOSPHORENGINE_EXPORT QVector<ZoneAssignmentEntry> deserializeZoneAssignments(const QString& json,
35 QString* errorString = nullptr);
36
37} // namespace GeometryUtils
38} // namespace PhosphorEngine
PHOSPHORENGINE_EXPORT QString serializeZoneAssignments(const QVector< ZoneAssignmentEntry > &entries)
PHOSPHORENGINE_EXPORT QVector< ZoneAssignmentEntry > deserializeZoneAssignments(const QString &json, QString *errorString=nullptr)
Parse the wire format serializeZoneAssignments produces back into entries — the two functions are the...
Definition EngineTypes.h:14
PHOSPHORGEOMETRY_EXPORT QString rectToJson(const QRect &rect)
PHOSPHORGEOMETRY_EXPORT void enforceMinSizes(QVector< QRect > &zones, const QVector< QSize > &minSizes, int gapThreshold, int innerGap=0)
PHOSPHORGEOMETRY_EXPORT void removeRectOverlaps(QVector< QRect > &zones, const QVector< QSize > &minSizes={}, int innerGap=0)
PHOSPHORGEOMETRY_EXPORT QRectF availableAreaToOverlayCoordinates(const QRectF &geometry, const QRect &overlayGeometry)
PHOSPHORGEOMETRY_EXPORT void clampZonesToScreen(QVector< QRect > &zones, const QVector< QSize > &minSizes, const QRect &screen)
PHOSPHORGEOMETRY_EXPORT QRect snapToRect(const QRectF &rf)