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
25} // namespace GeometryUtils
26} // namespace PhosphorEngine
PHOSPHORENGINE_EXPORT QString serializeZoneAssignments(const QVector< ZoneAssignmentEntry > &entries)
Definition EngineTypes.h:13
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)