diff options
Diffstat (limited to 'src/mbgl/renderer/fill_bucket.hpp')
-rw-r--r-- | src/mbgl/renderer/fill_bucket.hpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/mbgl/renderer/fill_bucket.hpp b/src/mbgl/renderer/fill_bucket.hpp index edb1521c1d..b403e1053b 100644 --- a/src/mbgl/renderer/fill_bucket.hpp +++ b/src/mbgl/renderer/fill_bucket.hpp @@ -6,28 +6,38 @@ #include <mbgl/gl/index_buffer.hpp> #include <mbgl/gl/segment.hpp> #include <mbgl/programs/fill_program.hpp> +#include <mbgl/style/layers/fill_layer_properties.hpp> #include <vector> namespace mbgl { +namespace style { +class BucketParameters; +} // namespace style + class FillBucket : public Bucket { public: - void upload(gl::Context&) override; - void render(Painter&, PaintParameters&, const style::Layer&, const RenderTile&) override; + FillBucket(const style::BucketParameters&, const std::vector<const style::Layer*>&); + + void addFeature(const GeometryTileFeature&, + const GeometryCollection&) override; bool hasData() const override; - void addGeometry(const GeometryCollection&); + void upload(gl::Context&) override; + void render(Painter&, PaintParameters&, const style::Layer&, const RenderTile&) override; - gl::VertexVector<FillVertex> vertices; + gl::VertexVector<FillLayoutVertex> vertices; gl::IndexVector<gl::Lines> lines; gl::IndexVector<gl::Triangles> triangles; gl::SegmentVector<FillAttributes> lineSegments; gl::SegmentVector<FillAttributes> triangleSegments; - optional<gl::VertexBuffer<FillVertex>> vertexBuffer; + optional<gl::VertexBuffer<FillLayoutVertex>> vertexBuffer; optional<gl::IndexBuffer<gl::Lines>> lineIndexBuffer; optional<gl::IndexBuffer<gl::Triangles>> triangleIndexBuffer; + + std::unordered_map<std::string, FillProgram::PaintPropertyBinders> paintPropertyBinders; }; } // namespace mbgl |