#pragma once #include #include #include #include #include #include #include #include namespace mbgl { class RasterBucket : public Bucket { public: RasterBucket(PremultipliedImage&&); RasterBucket(std::shared_ptr); void upload(gl::Context&) override; bool hasData() const override; void clear(); void setImage(std::shared_ptr); std::shared_ptr image; optional texture; // Bucket specific vertices are used for Image Sources only // Raster Tile Sources use the default buffers from Painter gl::VertexVector vertices; gl::IndexVector indices; SegmentVector segments; optional> vertexBuffer; optional> indexBuffer; }; } // namespace mbgl