26 lines
487 B
C++
26 lines
487 B
C++
#pragma once
|
|
|
|
#include <pdfengine/layout_pass.hpp>
|
|
#include <vector>
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
namespace pdfengine {
|
|
|
|
class PassRegistry {
|
|
public:
|
|
PassRegistry() = default;
|
|
|
|
void registerPass(std::unique_ptr<ILayoutPass> pass);
|
|
void clear();
|
|
|
|
bool executeAll(LayoutSession& session);
|
|
|
|
[[nodiscard]] size_t passCount() const noexcept { return m_passes.size(); }
|
|
|
|
private:
|
|
std::vector<std::unique_ptr<ILayoutPass>> m_passes;
|
|
};
|
|
|
|
} // namespace pdfengine
|