#pragma once #include #include #include #include #include #include #include #include namespace mbgl { namespace style { class BucketParameters; } // namespace style class FillBucket : public Bucket { public: FillBucket(const style::BucketParameters&, const std::vector&); void addFeature(const GeometryTileFeature&, const GeometryCollection&) override; bool hasData() const override; void upload(gl::Context&) override; void render(Painter&, PaintParameters&, const style::Layer&, const RenderTile&) override; gl::VertexVector vertices; gl::IndexVector lines; gl::IndexVector triangles; gl::SegmentVector lineSegments; gl::SegmentVector triangleSegments; optional> vertexBuffer; optional> lineIndexBuffer; optional> triangleIndexBuffer; std::unordered_map paintPropertyBinders; }; } // namespace mbgl