#pragma once #include #include #include #include namespace mbgl { class Bucket; class BucketParameters; class RenderLayer; class FeatureIndex; class LayerRenderData; class Layout { public: virtual ~Layout() = default; virtual void createBucket(const ImagePositions&, std::unique_ptr&, std::unordered_map&, bool, bool, const CanonicalTileID&) = 0; virtual void prepareSymbols(const GlyphMap&, const GlyphPositions&, const ImageMap&, const ImagePositions&){}; virtual bool hasSymbolInstances() const { return true; }; virtual bool hasDependencies() const = 0; }; class LayoutParameters { public: const BucketParameters& bucketParameters; GlyphDependencies& glyphDependencies; ImageDependencies& imageDependencies; std::set& availableImages; }; } // namespace mbgl