summaryrefslogtreecommitdiff
path: root/ui/icon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ui/icon.cpp')
-rw-r--r--ui/icon.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/ui/icon.cpp b/ui/icon.cpp
index 0bdc91a..e0399e5 100644
--- a/ui/icon.cpp
+++ b/ui/icon.cpp
@@ -1,5 +1,4 @@
#include "icon.h"
-#include "gl_traits.h"
#include <gfx/image.h>
#include <glad/gl.h>
#include <resource.h>
@@ -11,15 +10,12 @@ Icon::Icon(const std::filesystem::path & fileName) : Icon {Image {Resource::mapP
Icon::Icon(const Image & tex) : size {tex.width, tex.height}
{
- glBindTexture(GL_TEXTURE_2D, m_texture);
-
- glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
- glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
-
- glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- glTexParameter(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, static_cast<GLsizei>(tex.width), static_cast<GLsizei>(tex.height), 0,
- GL_RGBA, GL_UNSIGNED_BYTE, tex.data.data());
+ m_texture.storage(1, GL_RGBA8, size);
+ m_texture.parameter(GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER);
+ m_texture.parameter(GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER);
+ m_texture.parameter(GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ m_texture.parameter(GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ m_texture.image(size, GL_RGBA, GL_UNSIGNED_BYTE, tex.data.data());
}
ImTextureID