diff options
Diffstat (limited to 'src/mbgl/gfx/texture.hpp')
-rw-r--r-- | src/mbgl/gfx/texture.hpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mbgl/gfx/texture.hpp b/src/mbgl/gfx/texture.hpp index a957c4ebdf..00e94a8f6c 100644 --- a/src/mbgl/gfx/texture.hpp +++ b/src/mbgl/gfx/texture.hpp @@ -6,6 +6,7 @@ #include <mbgl/util/indexed_tuple.hpp> #include <memory> +#include <cassert> #define MBGL_DEFINE_TEXTURE(name_) \ struct name_ { \ @@ -27,11 +28,19 @@ public: class Texture { public: - Texture(Size size_, std::unique_ptr<TextureResource>&& resource_) - : size(std::move(size_)), resource(std::move(resource_)) { + Texture(const Size size_, std::unique_ptr<TextureResource>&& resource_) + : size(size_), resource(std::move(resource_)) { + } + + template <typename T = TextureResource> + T& getResource() const { + assert(resource); + return static_cast<T&>(*resource); } Size size; + +protected: std::unique_ptr<TextureResource> resource; }; |