return mCurrentNPatchDataId++;
}
-std::size_t NPatchLoader::Load(TextureManager& textureManager, TextureUploadObserver* textureObserver, const std::string& url, const Rect<int>& border, bool& preMultiplyOnLoad, bool synchronousLoading)
+std::size_t NPatchLoader::Load(TextureManager& textureManager, TextureUploadObserver* textureObserver, const VisualUrl& url, const Rect<int>& border, bool& preMultiplyOnLoad, bool synchronousLoading)
{
- std::size_t hash = CalculateHash(url);
+ std::size_t hash = CalculateHash(url.GetUrl());
OwnerContainer<NPatchData*>::SizeType index = UNINITIALIZED_ID;
const OwnerContainer<NPatchData*>::SizeType count = mCache.Count();
if(mCache[index]->GetHash() == hash)
{
// hash match, check url as well in case of hash collision
- if(mCache[index]->GetUrl() == url)
+ if(mCache[index]->GetUrl().GetUrl() == url.GetUrl())
{
// Use cached data
if(mCache[index]->GetBorder() == border)
newData->AddObserver(textureObserver);
mCache.PushBack(newData);
-
return newData->GetId(); // valid ids start from 1u
}
}
preMultiplyOnLoad = (preMultiplyOnLoading == TextureManager::MultiplyOnLoad::MULTIPLY_ON_LOAD) ? true : false;
data->SetLoadedNPatchData(pixelBuffer, preMultiplyOnLoad);
}
-
return data->GetId();
}