X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fimage%2Fimage-visual.cpp;h=295aeb8606fe54cf16a847c99efe4f6b614ac2de;hp=ea3c49ccd416660c60c4de6ea7258d7a031cd630;hb=3ea0c6dd8536cc1ebd948f47f569bc8f09547e27;hpb=d00467f4821a9d7509d195473c5a482a1e9a5200 diff --git a/dali-toolkit/internal/visuals/image/image-visual.cpp b/dali-toolkit/internal/visuals/image/image-visual.cpp index ea3c49c..295aeb8 100644 --- a/dali-toolkit/internal/visuals/image/image-visual.cpp +++ b/dali-toolkit/internal/visuals/image/image-visual.cpp @@ -869,7 +869,7 @@ void ImageVisual::DoSetOnStage( Actor& actor ) mPlacementActor.Reset(); // Image loaded and ready to display - ResourceReady(); + ResourceReady( Toolkit::Visual::ResourceStatus::READY ); } } @@ -927,6 +927,7 @@ void ImageVisual::DoCreatePropertyMap( Property::Map& map ) const 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() ); @@ -963,6 +964,12 @@ void ImageVisual::OnSetTransform() } } +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; @@ -1035,6 +1042,7 @@ void ImageVisual::UploadCompleted() // 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 ) { @@ -1054,6 +1062,8 @@ void ImageVisual::UploadComplete( bool loadingSuccess, int32_t textureId, Textur sampler.SetWrapMode( mWrapModeU, mWrapModeV ); textureSet.SetSampler( 0u, sampler ); mImpl->mRenderer.SetTextures(textureSet); + + resourceStatus = Toolkit::Visual::ResourceStatus::READY; } else { @@ -1063,11 +1073,20 @@ void ImageVisual::UploadComplete( bool loadingSuccess, int32_t textureId, Textur 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; }