diff options
Diffstat (limited to 'src/mbgl/renderer/painter.hpp')
-rw-r--r-- | src/mbgl/renderer/painter.hpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/mbgl/renderer/painter.hpp b/src/mbgl/renderer/painter.hpp index 092c164033..83d051359b 100644 --- a/src/mbgl/renderer/painter.hpp +++ b/src/mbgl/renderer/painter.hpp @@ -10,11 +10,11 @@ #include <mbgl/geometry/vao.hpp> #include <mbgl/geometry/static_vertex_buffer.hpp> -#include <mbgl/renderer/gl_config.hpp> +#include <mbgl/gl/gl_config.hpp> #include <mbgl/style/types.hpp> -#include <mbgl/platform/gl.hpp> +#include <mbgl/gl/gl.hpp> #include <mbgl/util/noncopyable.hpp> #include <mbgl/util/chrono.hpp> @@ -66,9 +66,13 @@ class CollisionBoxShader; struct ClipID; +namespace util { +class GLObjectStore; +} + class Painter : private util::noncopyable { public: - Painter(MapData&, TransformState&); + Painter(MapData&, TransformState&, gl::GLObjectStore&); ~Painter(); void render(const Style& style, @@ -93,8 +97,7 @@ public: float contrastFactor(float contrast); std::array<float, 3> spinWeights(float spin_value); - void drawClippingMasks(const std::set<Source*>&); - void drawClippingMask(const mat4& matrix, const ClipID& clip); + void drawClippingMasks(const std::map<TileID, ClipID>&); bool needsAnimation() const; @@ -119,7 +122,7 @@ private: float scaleDivisor, std::array<float, 2> texsize, SDFShader& sdfShader, - void (SymbolBucket::*drawSDF)(SDFShader&)); + void (SymbolBucket::*drawSDF)(SDFShader&, gl::GLObjectStore&)); void setDepthSublayer(int n); @@ -143,6 +146,8 @@ private: MapData& data; TransformState& state; + gl::GLObjectStore& glObjectStore; + FrameData frame; int indent = 0; |