mMaskingData( ),
mDesiredSize( size ),
mTextureId( TextureManager::INVALID_TEXTURE_ID ),
+ mTextures(),
mFittingMode( fittingMode ),
mSamplingMode( samplingMode ),
mWrapModeU( WrapMode::DEFAULT ),
mWrapModeV( WrapMode::DEFAULT ),
mLoadPolicy( DevelImageVisual::LoadPolicy::ATTACHED ),
mReleasePolicy( DevelImageVisual::ReleasePolicy::DETACHED ),
+ mAtlasRect( 0.0f, 0.0f, 0.0f, 0.0f ),
mAttemptAtlasing( false ),
- mLoading( false )
+ mLoading( false ),
+ mOrientationCorrection( true )
{
}
mMaskingData( ),
mDesiredSize(),
mTextureId( TextureManager::INVALID_TEXTURE_ID ),
+ mTextures(),
mFittingMode( FittingMode::DEFAULT ),
mSamplingMode( SamplingMode::DEFAULT ),
mWrapModeU( WrapMode::DEFAULT ),
mWrapModeV( WrapMode::DEFAULT ),
mLoadPolicy( DevelImageVisual::LoadPolicy::ATTACHED ),
mReleasePolicy( DevelImageVisual::ReleasePolicy::DESTROYED ),
+ mAtlasRect( 0.0f, 0.0f, 0.0f, 0.0f ),
mAttemptAtlasing( false ),
mLoading( false ),
mOrientationCorrection( true )
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;
// reset the weak handle so that the renderer only get added to actor once
mPlacementActor.Reset();
}
+ // Image loaded
+ ResourceReady( Toolkit::Visual::ResourceStatus::READY );
mLoading = false;
}
// 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 )
{
ApplyImageToSampler( brokenImage );
}
- // Image loaded and ready to display
- ResourceReady();
}
}
+ // Storing TextureSet needed when renderer staged.
+ if( ! mImpl->mRenderer )
+ {
+ mTextures = textureSet;
+ }
+
+ // Image loaded, set status regardless of staged status.
+ if( loadingSuccess )
+ {
+ resourceStatus = Toolkit::Visual::ResourceStatus::READY;
+ }
+ else
+ {
+ resourceStatus = Toolkit::Visual::ResourceStatus::FAILED;
+ }
+ // Signal to observers ( control ) that resources are ready. Must be all resources.
+ ResourceReady( resourceStatus );
mLoading = false;
}