summaryrefslogtreecommitdiff
path: root/src/mbgl/gfx/draw_scope.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/gfx/draw_scope.hpp')
-rw-r--r--src/mbgl/gfx/draw_scope.hpp11
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;
};