6#include <phosphortiles_export.h>
10#include <QLatin1String>
13#include <QMutexLocker>
17#include <QVariantList>
108 return staticDefaultAlgorithmId();
125 static constexpr int PreviewCanvasSize = 1000;
144 void registerBuiltInAlgorithms();
153 std::unique_ptr<Impl> m_impl;
Algorithm-layer constants for the autotile/tile primitives.
Helper for static self-registration of built-in algorithms.
Definition AlgorithmRegistry.h:207
AlgorithmRegistrar(const QString &id, int priority=100)
Register an algorithm at static initialization time.
Definition AlgorithmRegistry.h:215
Concrete tiling-algorithm registry.
Definition AlgorithmRegistry.h:55
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.
QString defaultAlgorithmId() const override
Get the library's recommended default algorithm ID.
Definition AlgorithmRegistry.h:106
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:51
Definition AutotileEngine.h:46
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:160
QString id
Definition AlgorithmRegistry.h:161
int priority
Definition AlgorithmRegistry.h:162