diff options
Diffstat (limited to 'src/mbgl/gfx/draw_scope.hpp')
-rw-r--r-- | src/mbgl/gfx/draw_scope.hpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mbgl/gfx/draw_scope.hpp b/src/mbgl/gfx/draw_scope.hpp index 60aae7a44c..5cdb588317 100644 --- a/src/mbgl/gfx/draw_scope.hpp +++ b/src/mbgl/gfx/draw_scope.hpp @@ -1,6 +1,7 @@ #pragma once #include <memory> +#include <cassert> namespace mbgl { namespace gfx { @@ -14,6 +15,16 @@ public: class DrawScope { public: + explicit DrawScope(std::unique_ptr<DrawScopeResource> resource_) : resource(std::move(resource_)) { + } + + template <typename T = DrawScopeResource> + T& getResource() const { + assert(resource); + return static_cast<T&>(*resource); + } + +protected: std::unique_ptr<DrawScopeResource> resource; }; |