]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/opengl/texture2d_backend.h
Check the flat qualifier from the correct member
[libs/gl.git] / source / backends / opengl / texture2d_backend.h
index 8f2fec594f65733840dc8ede27fdd5d48a615ef7..9d469f2be5950fe6149dea23081738fcf62e1828 100644 (file)
@@ -11,16 +11,28 @@ class Buffer;
 class OpenGLTexture2D: public Texture
 {
 protected:
-       class AsyncLoader;
+       class AsyncTransfer: public NonCopyable
+       {
+       protected:
+               Buffer *pixel_buffer = 0;
 
-       OpenGLTexture2D(ResourceManager *);
+               AsyncTransfer() = default;
+               AsyncTransfer(AsyncTransfer &&);
+               AsyncTransfer &operator=(AsyncTransfer &&);
+               ~AsyncTransfer();
+
+               void *allocate();
+               void finalize();
+       };
+
+       OpenGLTexture2D();
 
        void allocate();
        void sub_image(unsigned, int, int, unsigned, unsigned, const void *);
-       void sub_image(unsigned, int, int, unsigned, unsigned, const Buffer &, unsigned);
 
-       Resource::AsyncLoader *create_async_loader(IO::Seekable &);
-       void unload();
+public:
+       virtual std::size_t get_data_size() const;
+       virtual void unload();
 };
 
 using Texture2DBackend = OpenGLTexture2D;