{
if( !mImageUrl.empty() && !mImage )
{
- mImage = Dali::ResourceImage::New( mImageUrl, mDesiredSize, mFittingMode, mSamplingMode );
+ Dali::ResourceImage resourceImage = Dali::ResourceImage::New( mImageUrl, mDesiredSize, mFittingMode, mSamplingMode );
+ resourceImage.LoadingFinishedSignal().Connect( this, &ImageRenderer::OnImageLoaded );
+
+ mImage = resourceImage;
}
ApplyImageToSampler();
if( !mImageUrl.empty() && mImpl->mIsOnStage )
{
- mImage = Dali::ResourceImage::New( mImageUrl, mDesiredSize, mFittingMode, mSamplingMode );
+ Dali::ResourceImage resourceImage = Dali::ResourceImage::New( mImageUrl, mDesiredSize, mFittingMode, mSamplingMode );
+ resourceImage.LoadingFinishedSignal().Connect( this, &ImageRenderer::OnImageLoaded );
+ mImage = resourceImage;
+
ApplyImageToSampler();
}
else
}
}
+void ImageRenderer::OnImageLoaded( ResourceImage image )
+{
+ if( image.GetLoadingState() == Dali::ResourceLoadingFailed )
+ {
+ mImage = RendererFactory::GetBrokenRendererImage();
+ if( mImpl->mIsOnStage )
+ {
+ ApplyImageToSampler();
+ }
+ }
+}
+
} // namespace Internal
} // namespace Toolkit