#ifndef MGLPP_TEXTURE_HPP #define MGLPP_TEXTURE_HPP #include "../system/vec.hpp" extern "C" { #include } namespace mgl { class Image; class Texture { public: Texture(); ~Texture(); static Texture reference(mgl_texture ref); bool load_from_file(const char *filepath); bool load_from_image(Image &image); vec2i get_size() const; bool is_valid() const; mgl_texture* internal_texture(); private: mgl_texture texture; bool owned = true; }; } #endif /* MGLPP_TEXTURE_HPP */