diff options
author | Molly Lloyd <molly@mapbox.com> | 2018-08-29 17:27:40 -0700 |
---|---|---|
committer | Molly Lloyd <mollymerp@users.noreply.github.com> | 2018-08-31 13:08:47 -0700 |
commit | d197fc7d8daf06cc2efc35a34fb45d86ea64d65b (patch) | |
tree | 365b09122531ef51b253417191368c14de171eb4 /src/mbgl/layout/layout.hpp | |
parent | f7dcd5d7416f076c3553ccec9844fa77fe0e0ea5 (diff) | |
download | qtlocation-mapboxgl-d197fc7d8daf06cc2efc35a34fb45d86ea64d65b.tar.gz |
[core] simplify dependency layout process and refactor data structures
Diffstat (limited to 'src/mbgl/layout/layout.hpp')
-rw-r--r-- | src/mbgl/layout/layout.hpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/mbgl/layout/layout.hpp b/src/mbgl/layout/layout.hpp new file mode 100644 index 0000000000..de2d28728f --- /dev/null +++ b/src/mbgl/layout/layout.hpp @@ -0,0 +1,36 @@ +#pragma once + +#include <mbgl/style/layer_type.hpp> +#include <mbgl/renderer/image_atlas.hpp> +#include <mbgl/text/glyph_atlas.hpp> +#include <memory> + +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<FeatureIndex>&, + std::unordered_map<std::string, std::shared_ptr<Bucket>>&, + 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 |