X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fresource.h;h=571d1ea56c54e61ab10c43ef0f10cce766f19bb3;hp=b3bce17e32cf86b95b1ba3914dd0ab8ab1d72d40;hb=4cb33c263a00787a57531dfc41a4128bf34d7bee;hpb=4d7f66ea28c788e12f700216b9c53af9e71b8390 diff --git a/source/resource.h b/source/resource.h index b3bce17e..571d1ea5 100644 --- a/source/resource.h +++ b/source/resource.h @@ -8,6 +8,7 @@ namespace Msp { namespace GL { class ResourceManager; +class Resources; class Resource { @@ -32,9 +33,16 @@ public: virtual ~Resource(); void set_manager(ResourceManager *); + ResourceManager *get_manager() const { return manager; } void *get_manager_data() const { return manager_data; } - virtual AsyncLoader *load(IO::Seekable &) = 0; + virtual int get_load_priority() const { return 0; } + virtual AsyncLoader *load(IO::Seekable &, const Resources * = 0) = 0; + virtual bool is_loaded() const; + + /** Returns the amount of graphics memory used by this resource. The + returned value must not change while the resource is loaded. */ virtual UInt64 get_data_size() const = 0; + virtual void unload() = 0; };