[core] Introduce TileRenderData

Remove rendering functionality from Tile implementations.
This commit is contained in:
Mikhail Pozdnyakov
2019-07-01 21:44:15 +03:00
parent b1cbc2f245
commit 63dd17e2bb
15 changed files with 268 additions and 131 deletions

View File

@@ -0,0 +1,40 @@
#include <mbgl/renderer/tile_render_data.hpp>
namespace mbgl {
TileRenderData::TileRenderData() = default;
TileRenderData::TileRenderData(std::shared_ptr<TileAtlasTextures> atlasTextures_)
: atlasTextures(std::move(atlasTextures_)) {
}
TileRenderData::~TileRenderData() = default;
const gfx::Texture& TileRenderData::getGlyphAtlasTexture() const {
assert(atlasTextures);
assert(atlasTextures->glyph);
return *atlasTextures->glyph;
}
const gfx::Texture& TileRenderData::getIconAtlasTexture() const {
assert(atlasTextures);
assert(atlasTextures->icon);
return *atlasTextures->icon;
}
optional<ImagePosition> TileRenderData::getPattern(const std::string&) const {
assert(false);
return nullopt;
}
const LayerRenderData* TileRenderData::getLayerRenderData(const style::Layer::Impl&) const {
assert(false);
return nullptr;
}
Bucket* TileRenderData::getBucket(const style::Layer::Impl&) const {
assert(false);
return nullptr;
}
} // namespace mbgl