56 for ( ; it != itend; ++it) {
57 totalSize += it->second->getSize();
68 for ( ; it != itend; ++it) {
82 for ( ; it != itend; ++it) {
102 FL_WARN(
_log,
LMsg(
"ImageManager::create(std::string, IResourceLoader* loader) - ") <<
"Resource name " << name <<
" was previously created. Returning original Image...");
126 FL_WARN(
_log,
LMsg(
"ImageManager::load(std::string) - ") <<
"Resource name " << name <<
" was not found and could not be loaded.");
135 memset(pixdata, 0, width * height * 4);
148 memset(pixdata, 0, width * height * 4);
161 std::pair<ImageHandleMapIterator, bool> returnValue;
164 if (returnValue.second) {
168 FL_WARN(
_log,
LMsg(
"ImageManager::add(IResource*) - ") <<
"Resource " << res->
getName() <<
" already exists.... ignoring.");
171 return returnValue.first->second;
203 FL_WARN(
_log,
LMsg(
"ImageManager::reload(std::string) - ") <<
"Resource name " << name <<
" not found.");
217 FL_WARN(
_log,
LMsg(
"ImageManager::reload(ResourceHandle) - ") <<
"Resource handle " << handle <<
" not found.");
225 for ( ; it != itend; ++it) {
238 for ( ; it != itend; ++it) {
244 FL_DBG(
_log,
LMsg(
"ImageManager::loadUnreferenced() - ") <<
"Loaded " << count <<
" unreferenced resources.");
257 FL_WARN(
_log,
LMsg(
"ImageManager::free(std::string) - ") <<
"Resource name " << name <<
" not found.");
269 FL_WARN(
_log,
LMsg(
"ImageManager::free(ResourceHandle) - ") <<
"Resource handle " << handle <<
" not found.");
278 for ( ; it != itend; ++it) {
285 FL_DBG(
_log,
LMsg(
"ImageManager::freeAll() - ") <<
"Freed all " << count <<
" resources.");
293 for ( ; it != itend; ++it) {
300 FL_DBG(
_log,
LMsg(
"ImageManager::freeUnreferenced() - ") <<
"Freed " << count <<
" unreferenced resources.");
317 FL_WARN(
_log,
LMsg(
"ImageManager::remove(ResourcePtr&) - ") <<
"Resource " << resource->
getName() <<
" was not found.");
325 handle = nit->second->getHandle();
329 FL_WARN(
_log,
LMsg(
"ImageManager::remove(std::string) - ") <<
"Resource " << name <<
" was not found.");
348 name = it->second->getName();
352 FL_WARN(
_log,
LMsg(
"ImageManager::remove(ResourceHandle) - ") <<
"Resource handle " << handle <<
" was not found.");
374 FL_DBG(
_log,
LMsg(
"ImageManager::removeAll() - ") <<
"Removed all " << count <<
" resources.");
381 std::vector<int> imgHandles;
384 for ( ; it != itend; ++it) {
385 if ( it->second.useCount() == 2) {
386 imgHandles.push_back(it->second->getHandle());
391 for (std::vector<int>::iterator it = imgHandles.begin(); it != imgHandles.end(); ++it) {
395 FL_DBG(
_log,
LMsg(
"ImageManager::removeUnreferenced() - ") <<
"Removed " << count <<
" unreferenced resources.");
424 FL_WARN(
_log,
LMsg(
"ImageManager::get(ResourceHandle) - ") <<
"Resource handle " << handle <<
" is undefined.");
436 FL_WARN(
_log,
LMsg(
"ImageManager::getPtr(std::string) - ") <<
"Resource " << name <<
" is undefined.");
447 FL_WARN(
_log,
LMsg(
"ImageManager::getPtr(ResourceHandle) - ") <<
"Resource handle " << handle <<
" is undefined.");
455 return nit->second->getHandle();
458 FL_WARN(
_log,
LMsg(
"ImageManager::getResourceHandle(std::string) - ") <<
"Resource " << name <<
" is undefined.");
467 it->second.get()->invalidate();
476 it->second.get()->invalidate();
485 for ( ; it != itend; ++it) {
487 it->second.get()->invalidate();
virtual ImagePtr create(IResourceLoader *loader=0)
Creates a blank Image but does not load it immediately.
#define FL_WARN(logger, msg)
virtual ImagePtr loadBlank(uint32_t width, uint32_t height)
Loads a blank resource.
virtual bool exists(const std::string &name)
Checks to see if an Image exists.
virtual ResourceState getState()
std::pair< ResourceHandle, ImagePtr > ImageHandleMapPair
virtual ~ImageManager()
Destructor.
virtual ImagePtr get(const std::string &name)
Gets a shared pointer to the Image.
Helper class to create log strings out from separate parts Usage: LMsg("some text") << variable << "...
virtual void removeAll()
Removes all Images from the manager.
virtual void remove(ImagePtr &resource)
Removes an Image from the manager.
static Logger _log(LM_AUDIO)
virtual void reloadAll()
Reloads all Images.
std::size_t ResourceHandle
SharedPtr< Image > ImagePtr
static RenderBackend * instance()
virtual ImagePtr getPtr(const std::string &name)
virtual void removeUnreferenced()
Removes all unreferenced Images.
virtual void freeUnreferenced()
Frees all unreferenced Image.
virtual size_t getMemoryUsed() const
Gets the total amount of memory used by resources.
std::map< ResourceHandle, ImagePtr >::iterator ImageHandleMapIterator
virtual void loadUnreferenced()
Loads all unreferenced Images.
virtual const std::string & getName()
virtual size_t getTotalResourcesLoaded() const
Returns the number of loaded resources.
ImageHandleMap m_imgHandleMap
virtual void invalidateAll()
std::map< std::string, ImagePtr >::iterator ImageNameMapIterator
virtual size_t getTotalResourcesCreated() const
Returns the number of unloaded resources.
virtual ResourceHandle getResourceHandle(const std::string &name)
Gets an Image handle by name.
virtual void free(const std::string &name)
Frees an Image from memory.
virtual void setState(const ResourceState &state)
virtual void reload(const std::string &name)
Reloads an Image.
virtual void invalidate(const std::string &name)
virtual Image * createImage(IResourceLoader *loader=0)=0
std::map< ResourceHandle, ImagePtr >::const_iterator ImageHandleMapConstIterator
ResourceHandle getHandle()
ImageNameMap m_imgNameMap
#define FL_DBG(logger, msg)
virtual void freeAll()
Frees all Images.
virtual size_t getTotalResources() const
Returns the number of defined resources.
std::pair< std::string, ImagePtr > ImageNameMapPair
virtual ImagePtr add(Image *res)
Add an Image to the manager.
virtual ImagePtr load(const std::string &name, IResourceLoader *loader=0)
Creates a blank resource and loads it from disk.