X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftexture2d.h;h=a37e2a4d7fd746eeb732d23483d8896115377338;hb=9d696772b2194b67d8e3e4da11169900eab58c0d;hp=639d47a6cee591d3a39ad6cbeced110c75550a0a;hpb=a1eb8711ba225bb4423868c50369ad5592465171;p=libs%2Fgl.git diff --git a/source/texture2d.h b/source/texture2d.h index 639d47a6..a37e2a4d 100644 --- a/source/texture2d.h +++ b/source/texture2d.h @@ -5,6 +5,7 @@ #include #include "datatype.h" #include "pixelformat.h" +#include "resource.h" #include "texture.h" namespace Msp { @@ -33,13 +34,15 @@ public: }; private: + class AsyncLoader; + PixelFormat ifmt; unsigned width; unsigned height; unsigned allocated; public: - Texture2D(); + Texture2D(ResourceManager * = 0); /** Defines storage structure for the texture. Must be called before an image can be uploaded. Once storage is defined, it can't be changed. */ @@ -71,11 +74,19 @@ public: 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 &); + virtual void unload(); }; } // namespace GL