X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fresource.h;h=571d1ea56c54e61ab10c43ef0f10cce766f19bb3;hp=8d34c357fe6b93ba85862fd1df50b1620066a8ca;hb=4cb33c263a00787a57531dfc41a4128bf34d7bee;hpb=f17d748c753f0ffa03d53369cc7aaf3288a5c1e7 diff --git a/source/resource.h b/source/resource.h index 8d34c357..571d1ea5 100644 --- a/source/resource.h +++ b/source/resource.h @@ -8,6 +8,7 @@ namespace Msp { namespace GL { class ResourceManager; +class Resources; class Resource { @@ -34,9 +35,14 @@ public: 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; };