Files
MapLibreParticleLab/src/map/raster_tile_data.cpp
Konstantin Käfer 2b14579986 only paint layer if it has data
refs #184
2014-05-12 19:08:59 +02:00

35 lines
768 B
C++

#include <llmr/map/map.hpp>
#include <llmr/map/raster_tile_data.hpp>
#include <llmr/style/layer_description.hpp>
using namespace llmr;
RasterTileData::RasterTileData(Tile::ID id, Map &map, const std::string url)
: TileData(id, map, url),
bucket(map.getTexturepool()) {
}
RasterTileData::~RasterTileData() {
}
void RasterTileData::parse() {
if (state != State::loaded) {
return;
}
if (bucket.setImage(data)) {
state = State::parsed;
} else {
state = State::invalid;
}
}
void RasterTileData::render(Painter &painter, const LayerDescription& layer_desc) {
bucket.render(painter, layer_desc.name, id);
}
bool RasterTileData::hasData(const LayerDescription& layer_desc) const {
return bucket.hasData();
}