aboutsummaryrefslogtreecommitdiffstats
path: root/src/mbgl/style/geometry_bucket_parameters.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/geometry_bucket_parameters.hpp')
-rw-r--r--src/mbgl/style/geometry_bucket_parameters.hpp55
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