summaryrefslogtreecommitdiff
path: root/src/mbgl/gfx/texture.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/gfx/texture.hpp')
-rw-r--r--src/mbgl/gfx/texture.hpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/mbgl/gfx/texture.hpp b/src/mbgl/gfx/texture.hpp
new file mode 100644
index 0000000000..ca5ab5d5d5
--- /dev/null
+++ b/src/mbgl/gfx/texture.hpp
@@ -0,0 +1,33 @@
+#pragma once
+
+#include <mbgl/gfx/types.hpp>
+#include <mbgl/util/size.hpp>
+
+#include <memory>
+
+namespace mbgl {
+namespace gfx {
+
+class TextureResource {
+protected:
+ TextureResource() = default;
+public:
+ virtual ~TextureResource() = default;
+};
+
+class Texture {
+public:
+ Texture(Size size_, std::unique_ptr<const TextureResource>&& resource_)
+ : size(std::move(size_)), resource(std::move(resource_)) {
+ }
+
+ Size size;
+ TextureFilterType filter = TextureFilterType::Nearest;
+ TextureMipMapType mipmap = TextureMipMapType::No;
+ TextureWrapType wrapX = TextureWrapType::Clamp;
+ TextureWrapType wrapY = TextureWrapType::Clamp;
+ std::unique_ptr<const TextureResource> resource;
+};
+
+} // namespace gfx
+} // namespace mbgl