3#include <Covellite/Api/Defines.hpp>
4#include "OpenGLCommon.hpp"
5#include "Component.hpp"
16class OpenGLCommon::Texture final
19 using Ptr_t = ::std::shared_ptr<Texture>;
20 using Destination_t = ::std::pair<GLuint, ::std::string>;
23 void Bind(
const bool =
true) noexcept;
24 void MakeContent(const GLsizei, const GLsizei, const GLvoid *);
27 static Destination_t GetDestination(const Component::Texture &);
28 static GLint GetFormat(const String_t &);
29 static GLuint BuildTexture(
void) noexcept;
32 BinaryData_t m_ReadCopyData;
33 const Destination_t m_Destination;
35 const GLuint m_TextureId;
36 const
bool m_IsMapping;
37 const GLenum m_Capacity;
38 const uint8_t Align[7] = { 0 };
41 explicit Texture(
const Component::Texture &);
42 Texture(
const Texture &) =
delete;
43 Texture(Texture &&) =
delete;
44 Texture & operator= (
const Texture &) =
delete;
45 Texture & operator= (Texture &&) =
delete;
46 virtual ~Texture(
void)
noexcept;