-private:
- class AsyncLoader;
-
- unsigned width;
- unsigned height;
- unsigned levels;
- unsigned allocated;
-
-public:
- Texture2D(ResourceManager * = 0);
- virtual ~Texture2D();
-
- /** Defines storage structure for the texture. If lv is zero, the number
- of mipmap levels is automatically determined from storage dimensions.
-
- Must be called before an image can be uploaded. Once storage is defined,
- it can't be changed. */
- void storage(PixelFormat fmt, unsigned wd, unsigned ht, unsigned lv = 0);
+ /**
+ An RAII handle for asynchronously writing texel data into a texture.
+ */
+ class AsyncTransfer: public Texture2DBackend::AsyncTransfer
+ {
+ friend Texture2DBackend;
+ friend class Texture2D;
+ friend class Texture2DBackend::AsyncTransfer;