Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
AutotileLayoutSourceFactory.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 <phosphortiles_export.h>
7
9
10#include <QLatin1String>
11
12#include <QString>
13
14namespace PhosphorTiles {
15
16class ITileAlgorithmRegistry;
17
24PHOSPHORTILES_EXPORT QLatin1String autotileLayoutSourceName();
25
40PHOSPHORTILES_EXPORT void ensureAutotileLayoutSourceProviderLinked();
41
50{
51public:
58
59 QString name() const override;
60 std::unique_ptr<PhosphorLayout::ILayoutSource> create() override;
61
62private:
63 ITileAlgorithmRegistry* m_registry;
64};
65
66} // namespace PhosphorTiles
Abstract factory for an ILayoutSource implementation.
Definition ILayoutSourceFactory.h:37
Factory for AutotileLayoutSource.
Definition AutotileLayoutSourceFactory.h:50
AutotileLayoutSourceFactory(ITileAlgorithmRegistry *registry)
registry is the tile-algorithm registry the produced source borrows.
std::unique_ptr< PhosphorLayout::ILayoutSource > create() override
Build a fresh source instance. Caller takes ownership.
QString name() const override
Stable identifier for diagnostics / logging.
Abstract contract for a tiling-algorithm registry.
Definition ITileAlgorithmRegistry.h:41
Definition AutotileEngine.h:71
PHOSPHORTILES_EXPORT void ensureAutotileLayoutSourceProviderLinked()
Anchor symbol that forces the translation unit owning the static LayoutSourceProviderRegistrar for th...
PHOSPHORTILES_EXPORT QLatin1String autotileLayoutSourceName()
Stable source-name string for the autotile layout source.