summaryrefslogtreecommitdiff
path: root/src/mbgl/map/raster_tile_data.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/map/raster_tile_data.cpp')
-rw-r--r--src/mbgl/map/raster_tile_data.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/mbgl/map/raster_tile_data.cpp b/src/mbgl/map/raster_tile_data.cpp
new file mode 100644
index 0000000000..6fac7862e7
--- /dev/null
+++ b/src/mbgl/map/raster_tile_data.cpp
@@ -0,0 +1,34 @@
+#include <mbgl/map/map.hpp>
+#include <mbgl/map/raster_tile_data.hpp>
+#include <mbgl/style/style.hpp>
+
+using namespace mbgl;
+
+
+RasterTileData::RasterTileData(Tile::ID const& id_, TexturePool& texturePool, const SourceInfo& source_)
+ : TileData(id_, source_),
+ bucket(texturePool, properties) {
+}
+
+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, util::ptr<StyleLayer> layer_desc, const mat4 &matrix) {
+ bucket.render(painter, layer_desc, id, matrix);
+}
+
+bool RasterTileData::hasData(StyleLayer const& /*layer_desc*/) const {
+ return bucket.hasData();
+}