diff options
Diffstat (limited to 'src/mbgl/gfx/texture.hpp')
-rw-r--r-- | src/mbgl/gfx/texture.hpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/mbgl/gfx/texture.hpp b/src/mbgl/gfx/texture.hpp index bbda44a8fb..758bdd1b09 100644 --- a/src/mbgl/gfx/texture.hpp +++ b/src/mbgl/gfx/texture.hpp @@ -7,6 +7,14 @@ #include <memory> +#define MBGL_DEFINE_TEXTURE(name_) \ + struct name_ { \ + using Value = ::mbgl::gfx::TextureBinding; \ + static constexpr auto name() { \ + return #name_; \ + } \ + } + namespace mbgl { namespace gfx { @@ -19,21 +27,17 @@ public: class Texture { public: - Texture(Size size_, std::unique_ptr<const TextureResource>&& resource_) + Texture(Size size_, std::unique_ptr<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; + std::unique_ptr<TextureResource> resource; }; class TextureBinding { public: - TextureBinding(const TextureResource& resource_, + TextureBinding(TextureResource& resource_, TextureFilterType filter_ = TextureFilterType::Nearest, TextureMipMapType mipmap_ = TextureMipMapType::No, TextureWrapType wrapX_ = TextureWrapType::Clamp, @@ -41,7 +45,7 @@ public: : resource(&resource_), filter(filter_), mipmap(mipmap_), wrapX(wrapX_), wrapY(wrapY_) { } - const TextureResource* resource; + TextureResource* resource; TextureFilterType filter; TextureMipMapType mipmap; TextureWrapType wrapX; |