#include <string>
#include <msp/graphics/image.h>
-#include "datatype.h"
-#include "pixelformat.h"
+#include "resource.h"
#include "texture.h"
namespace Msp {
};
private:
+ class AsyncLoader;
+
PixelFormat ifmt;
unsigned width;
unsigned height;
unsigned allocated;
public:
- Texture2D();
+ Texture2D(ResourceManager * = 0);
+ virtual ~Texture2D();
/** Defines storage structure for the texture. Must be called before an
image can be uploaded. Once storage is defined, it can't be changed. */
format will be used. */
void image(const Graphics::Image &, bool srgb = false);
+private:
+ void image(const Graphics::Image &, bool, bool);
+
+public:
unsigned get_width() const { return width; }
unsigned get_height() const { return height; }
private:
void get_level_size(unsigned, unsigned &, unsigned &);
+
+public:
+ virtual Resource::AsyncLoader *load(IO::Seekable &, const Resources * = 0);
+ virtual UInt64 get_data_size() const;
+ virtual void unload();
};
} // namespace GL