case Toolkit::ImageVisual::Property::ATLASING:
{
- bool atlasing = false;
- mAttemptAtlasing = value.Get( atlasing );
+ value.Get( mAttemptAtlasing );
break;
}
mPlacementActor.Reset();
// Image loaded and ready to display
- ResourceReady();
+ ResourceReady( Toolkit::Visual::ResourceStatus::READY );
}
}
map.Insert( Toolkit::ImageVisual::Property::WRAP_MODE_V, mWrapModeV );
map.Insert( Toolkit::ImageVisual::Property::ATLASING, mAttemptAtlasing );
+
if( mMaskingData != NULL )
{
map.Insert( Toolkit::ImageVisual::Property::ALPHA_MASK_URL, mMaskingData->mAlphaMaskUrl.GetUrl() );
}
}
+bool ImageVisual::IsResourceReady() const
+{
+ return ( mImpl->mResourceStatus == Toolkit::Visual::ResourceStatus::READY ||
+ mImpl->mResourceStatus == Toolkit::Visual::ResourceStatus::FAILED );
+}
+
Shader ImageVisual::GetImageShader( VisualFactoryCache& factoryCache, bool atlasing, bool defaultTextureWrapping )
{
Shader shader;
// From Texture Manager
void ImageVisual::UploadComplete( bool loadingSuccess, int32_t textureId, TextureSet textureSet, bool usingAtlas, const Vector4& atlasRectangle )
{
+ Toolkit::Visual::ResourceStatus resourceStatus;
Actor actor = mPlacementActor.GetHandle();
if( actor )
{
sampler.SetWrapMode( mWrapModeU, mWrapModeV );
textureSet.SetSampler( 0u, sampler );
mImpl->mRenderer.SetTextures(textureSet);
+
+ resourceStatus = Toolkit::Visual::ResourceStatus::READY;
}
else
{
mImpl->mRenderer.SetTextures( textureSet );
ApplyImageToSampler( brokenImage );
+
+ resourceStatus = Toolkit::Visual::ResourceStatus::FAILED;
}
// Image loaded and ready to display
- ResourceReady();
+ ResourceReady( resourceStatus );
}
}
+
+ // Storing TextureSet needed when renderer staged.
+ if( ! mImpl->mRenderer )
+ {
+ mTextures = textureSet;
+ }
+
mLoading = false;
}