diff options
author | Ansis Brammanis <brammanis@gmail.com> | 2015-05-19 11:09:33 -0400 |
---|---|---|
committer | Ansis Brammanis <brammanis@gmail.com> | 2015-05-19 11:09:33 -0400 |
commit | 7abd7950c96a493bf054631332ab2bbcc4aac016 (patch) | |
tree | 37d8a7bbe5060e074942f7ed64c24173e1d02127 /src/mbgl/renderer/bucket.hpp | |
parent | 4d631623c7d29e8d40720e521e78c3299995b674 (diff) | |
parent | 5572504d38ddb2cb5e597f9fd256e409ad6dac6d (diff) | |
download | qtlocation-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.hpp | 16 |
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; + }; } |