#pragma once #include #include #include #include namespace mbgl { class Bucket; class BucketParameters; class RenderLayer; class FeatureIndex; class Layout { public: Layout() = default; virtual ~Layout() = default; virtual void createBucket(const ImagePositions&, std::unique_ptr&, std::unordered_map>&, const bool, const bool) = 0; virtual void prepareSymbols(const GlyphMap&, const GlyphPositions&, const ImageMap&, const ImagePositions&) {}; virtual bool hasSymbolInstances() const { return true; }; virtual bool hasDependencies() const = 0; }; } // namespace mbgl