summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/bucket.hpp
diff options
context:
space:
mode:
authorAnsis Brammanis <brammanis@gmail.com>2015-05-19 11:09:33 -0400
committerAnsis Brammanis <brammanis@gmail.com>2015-05-19 11:09:33 -0400
commit7abd7950c96a493bf054631332ab2bbcc4aac016 (patch)
tree37d8a7bbe5060e074942f7ed64c24173e1d02127 /src/mbgl/renderer/bucket.hpp
parent4d631623c7d29e8d40720e521e78c3299995b674 (diff)
parent5572504d38ddb2cb5e597f9fd256e409ad6dac6d (diff)
downloadqtlocation-mapboxgl-7abd7950c96a493bf054631332ab2bbcc4aac016.tar.gz
Merge branch 'master' into new-labelling
Conflicts: src/mbgl/map/tile_parser.cpp src/mbgl/map/tile_parser.hpp src/mbgl/renderer/painter.hpp src/mbgl/renderer/painter_symbol.cpp src/mbgl/renderer/symbol_bucket.cpp src/mbgl/renderer/symbol_bucket.hpp src/mbgl/text/collision.cpp src/mbgl/text/collision.hpp src/mbgl/text/placement.cpp
Diffstat (limited to 'src/mbgl/renderer/bucket.hpp')
-rw-r--r--src/mbgl/renderer/bucket.hpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/mbgl/renderer/bucket.hpp b/src/mbgl/renderer/bucket.hpp
index a7b0f61a3b..711fc42384 100644
--- a/src/mbgl/renderer/bucket.hpp
+++ b/src/mbgl/renderer/bucket.hpp
@@ -1,6 +1,7 @@
#ifndef MBGL_RENDERER_BUCKET
#define MBGL_RENDERER_BUCKET
+#include <mbgl/renderer/render_pass.hpp>
#include <mbgl/util/noncopyable.hpp>
#include <mbgl/util/mat4.hpp>
@@ -12,10 +13,23 @@ class TileID;
class Bucket : private util::noncopyable {
public:
+ // As long as this bucket has a Prepare render pass, this function is getting called. Typically,
+ // this only happens once when the bucket is being rendered for the first time.
+ virtual void upload() = 0;
+
+ // Every time this bucket is getting rendered, this function is called. This happens either
+ // once or twice (for Opaque and Transparent render passes).
virtual void render(Painter&, const StyleLayer&, const TileID&, const mat4&) = 0;
- virtual bool hasData() const = 0;
+
virtual ~Bucket() {}
+ inline bool needsUpload() const {
+ return !uploaded;
+ }
+
+protected:
+ bool uploaded = false;
+
};
}