X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fopengl%2Ftexture2d_backend.h;h=9d469f2be5950fe6149dea23081738fcf62e1828;hb=HEAD;hp=af9f482cbf039c47e6bb17190bfdf7966701032a;hpb=f73e671dcb36c097647cddbf5b1eaaad2ffc9299;p=libs%2Fgl.git diff --git a/source/backends/opengl/texture2d_backend.h b/source/backends/opengl/texture2d_backend.h index af9f482c..9d469f2b 100644 --- a/source/backends/opengl/texture2d_backend.h +++ b/source/backends/opengl/texture2d_backend.h @@ -11,16 +11,26 @@ class Buffer; class OpenGLTexture2D: public Texture { protected: - class AsyncLoader; + class AsyncTransfer: public NonCopyable + { + protected: + Buffer *pixel_buffer = 0; + + 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); public: - virtual Resource::AsyncLoader *load(IO::Seekable &, const Resources * = 0); virtual std::size_t get_data_size() const; virtual void unload(); };