[core] generate masks for raster tiles to avoid painting over children

This commit is contained in:
Konstantin Käfer
2017-07-20 14:49:56 +02:00
parent 4dff51719b
commit c0efad5de2
13 changed files with 265 additions and 9 deletions

View File

@@ -41,7 +41,7 @@ void RasterTile::setData(std::shared_ptr<const std::string> data,
worker.invoke(&RasterTileWorker::parse, data);
}
void RasterTile::onParsed(std::unique_ptr<Bucket> result) {
void RasterTile::onParsed(std::unique_ptr<RasterBucket> result) {
bucket = std::move(result);
loaded = true;
renderable = bucket ? true : false;
@@ -65,6 +65,12 @@ Bucket* RasterTile::getBucket(const style::Layer::Impl&) const {
return bucket.get();
}
void RasterTile::setMask(TileMask&& mask) {
if (bucket) {
bucket->setMask(std::move(mask));
}
}
void RasterTile::setNecessity(Necessity necessity) {
loader.setNecessity(necessity);
}