summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/vector_tile_data.cpp
blob: 6961d31bd2287fb24205f58196058627fffcd7b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <mbgl/tile/vector_tile_data.hpp>
#include <mbgl/tile/tile_source.hpp>
#include <mbgl/tile/tile_source_impl.hpp>
#include <mbgl/tile/vector_tile.hpp>
#include <mbgl/style/update_parameters.hpp>
#include <mbgl/util/async_request.hpp>

namespace mbgl {

VectorTileData::VectorTileData(const OverscaledTileID& id_,
                               std::string sourceID,
                               const style::UpdateParameters& parameters,
                               const Tileset& tileset)
    : GeometryTileData(id_, sourceID, parameters.style, parameters.mode),
      tileSource(*this, id_, parameters, tileset) {
}

VectorTileData::~VectorTileData() = default;

void VectorTileData::setNecessity(Necessity necessity) {
    tileSource.setNecessity(static_cast<TileSource<VectorTileData>::Necessity>(necessity));
}

std::unique_ptr<GeometryTile> VectorTileData::parseData(std::shared_ptr<const std::string> data) {
    return data ? std::make_unique<VectorTile>(data) : nullptr;
}

} // namespace mbgl