6#include <phosphortiles_export.h>
11#include <QLatin1String>
14#include <QMutexLocker>
20#include <QVariantList>
104 return staticDefaultAlgorithmId();
121 static constexpr int PreviewCanvasSize = 1000;
140 void registerBuiltInAlgorithms();
164 QStringList m_registrationOrder;
Algorithm-layer constants for the autotile/tile primitives.
Helper for static self-registration of built-in algorithms.
Definition AlgorithmRegistry.h:228
AlgorithmRegistrar(const QString &id, int priority=100)
Register an algorithm at static initialization time.
Definition AlgorithmRegistry.h:236
Concrete tiling-algorithm registry.
Definition AlgorithmRegistry.h:53
bool hasAlgorithm(const QString &id) const override
Whether an algorithm is registered under id.
void cleanup()
Early cleanup of all registered algorithms.
void setPreviewParams(const AlgorithmPreviewParams ¶ms) override
Apply the user-configured tiling parameters.
QStringList availableAlgorithms() const override
All registered algorithm ids, in registration order.
QString defaultAlgorithmId() const override
Get the library's recommended default algorithm ID.
Definition AlgorithmRegistry.h:102
TilingAlgorithm * defaultAlgorithm() const override
Convenience: the registry's recommended default algorithm.
bool unregisterAlgorithm(const QString &id) override
Unregister and delete the algorithm with id.
const AlgorithmPreviewParams & previewParams() const noexcept override
The currently-configured preview parameters.
TilingAlgorithm * algorithm(const QString &id) const override
Resolve an algorithm by its stable id.
void registerAlgorithm(const QString &id, TilingAlgorithm *algorithm) override
Register an algorithm under id.
static QString staticDefaultAlgorithmId()
Static accessor for the same id defaultAlgorithmId() returns.
QList< TilingAlgorithm * > allAlgorithms() const override
Every registered algorithm pointer.
Abstract contract for a tiling-algorithm registry.
Definition ITileAlgorithmRegistry.h:41
Abstract base class for tiling algorithms.
Definition TilingAlgorithm.h:56
Definition AutotileEngine.h:71
PHOSPHORTILES_EXPORT QList< PendingAlgorithmRegistration > & pendingAlgorithmRegistrations()
Global list of pending algorithm registrations.
PHOSPHORTILES_EXPORT class QMutex & pendingAlgorithmRegistrationsMutex()
Mutex protecting pendingAlgorithmRegistrations().
User-configured tiling parameters that affect algorithm preview generation.
Definition AlgorithmPreviewParams.h:20
Pending algorithm registration data.
Definition AlgorithmRegistry.h:181
QString id
Definition AlgorithmRegistry.h:182
int priority
Definition AlgorithmRegistry.h:183