7#include <phosphorzones_export.h>
41 static LayoutSnapshot buildSnapshot(
Layout* layout,
const QString& screenId,
const QRectF& screenGeometry);
43 void onLayoutRemoved(
const QUuid& layoutId);
44 void publishResult(
const QString& screenId,
const QUuid& layoutId,
Layout* layout, uint64_t generation);
46 QHash<QUuid, QPointer<Layout>> m_trackedLayouts;
51 QHash<QString, uint64_t> m_screenGeneration;
52 QPointer<LayoutRegistry> m_layoutManager;
53 QThread* m_thread =
nullptr;
Definition LayoutComputeService.h:21
~LayoutComputeService() override
void setLayoutManager(LayoutRegistry *manager)
static void recalculateSync(Layout *layout, const QRectF &screenGeometry)
LayoutComputeService(QObject *parent=nullptr)
bool requestRecalculate(Layout *layout, const QString &screenId, const QRectF &screenGeometry)
void geometriesComputedForGeneration(const QString &screenId, const QUuid &layoutId, PhosphorZones::Layout *layout, uint64_t generation)
uint64_t currentGeneration(const QString &screenId) const
void requestCompute(const PhosphorZones::LayoutSnapshot &snapshot, uint64_t generation)
Manual zone-layout registry + per-context assignment store.
Definition LayoutRegistry.h:89
Definition LayoutWorker.h:13
Represents a collection of zones that form a layout.
Definition Layout.h:42
constexpr QLatin1String LayoutRegistry("org.plasmazones.LayoutRegistry")
Definition IWindowTrackingService.h:23
Definition LayoutComputeTypes.h:41
Definition LayoutComputeTypes.h:27