summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/buckets/raster_bucket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/buckets/raster_bucket.cpp')
-rw-r--r--src/mbgl/renderer/buckets/raster_bucket.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/mbgl/renderer/buckets/raster_bucket.cpp b/src/mbgl/renderer/buckets/raster_bucket.cpp
new file mode 100644
index 0000000000..4a25959868
--- /dev/null
+++ b/src/mbgl/renderer/buckets/raster_bucket.cpp
@@ -0,0 +1,30 @@
+#include <mbgl/renderer/buckets/raster_bucket.hpp>
+#include <mbgl/renderer/layers/render_raster_layer.hpp>
+#include <mbgl/programs/raster_program.hpp>
+#include <mbgl/renderer/painter.hpp>
+#include <mbgl/gl/context.hpp>
+
+namespace mbgl {
+
+using namespace style;
+
+RasterBucket::RasterBucket(UnassociatedImage&& image_) : image(std::move(image_)) {
+}
+
+void RasterBucket::upload(gl::Context& context) {
+ texture = context.createTexture(std::move(image));
+ uploaded = true;
+}
+
+void RasterBucket::render(Painter& painter,
+ PaintParameters& parameters,
+ const RenderLayer& layer,
+ const RenderTile& tile) {
+ painter.renderRaster(parameters, *this, *layer.as<RenderRasterLayer>(), tile);
+}
+
+bool RasterBucket::hasData() const {
+ return true;
+}
+
+} // namespace mbgl