diff options
Diffstat (limited to 'src/mbgl/style/geometry_bucket_parameters.hpp')
-rw-r--r-- | src/mbgl/style/geometry_bucket_parameters.hpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/mbgl/style/geometry_bucket_parameters.hpp b/src/mbgl/style/geometry_bucket_parameters.hpp new file mode 100644 index 000000000..dce205324 --- /dev/null +++ b/src/mbgl/style/geometry_bucket_parameters.hpp @@ -0,0 +1,55 @@ +#pragma once + +#include <mbgl/map/mode.hpp> +#include <mbgl/tile/tile_id.hpp> +#include <mbgl/style/bucket_parameters.hpp> +#include <mbgl/style/filter.hpp> + +#include <atomic> +#include <functional> + +namespace mbgl { + +class TileID; +class GeometryTileLayer; +class GeometryTileFeature; +class GlyphAtlas; +class CollisionTile; +class FeatureIndex; + +namespace style { + +class GeometryBucketParameters { +public: + GeometryBucketParameters(const OverscaledTileID& tileID_, + const GeometryTileLayer& layer_, + const std::atomic<bool>& obsolete_, + uintptr_t tileUID_, + GlyphAtlas& glyphAtlas_, + FeatureIndex& featureIndex_, + const MapMode mode_) + : tileID(tileID_), + layer(layer_), + obsolete(obsolete_), + tileUID(tileUID_), + glyphAtlas(glyphAtlas_), + featureIndex(featureIndex_), + mode(mode_) {} + + bool cancelled() const { + return obsolete; + } + + void eachFilteredFeature(const Filter&, std::function<void (const GeometryTileFeature&, std::size_t index, const std::string& layerName)>); + + const OverscaledTileID& tileID; + const GeometryTileLayer& layer; + const std::atomic<bool>& obsolete; + uintptr_t tileUID; + GlyphAtlas& glyphAtlas; + FeatureIndex& featureIndex; + const MapMode mode; +}; + +} // namespace style +} // namespace mbgl |