X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fanimated-image%2Fanimated-image-visual.cpp;h=0ba78331f546c8623061d95d3de37cf944663d64;hb=b81849b1d366b03595dec285264ecbd8b6f1801e;hp=0031bc316f829c61bd0f400ac717e5cbd54c4249;hpb=e2fbffea1d7c5d3df04b025247c1a77377a3f0c3;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp b/dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp index 0031bc3..0ba7833 100644 --- a/dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp +++ b/dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp @@ -54,7 +54,7 @@ const Vector4 FULL_TEXTURE_RECT(0.f, 0.f, 1.f, 1.f); } -AnimatedImageVisualPtr AnimatedImageVisual::New( VisualFactoryCache& factoryCache, const std::string& imageUrl, const Property::Map& properties ) +AnimatedImageVisualPtr AnimatedImageVisual::New( VisualFactoryCache& factoryCache, const VisualUrl& imageUrl, const Property::Map& properties ) { AnimatedImageVisual* visual = new AnimatedImageVisual( factoryCache ); visual->mImageUrl = imageUrl; @@ -63,7 +63,7 @@ AnimatedImageVisualPtr AnimatedImageVisual::New( VisualFactoryCache& factoryCach return visual; } -AnimatedImageVisualPtr AnimatedImageVisual::New( VisualFactoryCache& factoryCache, const std::string& imageUrl ) +AnimatedImageVisualPtr AnimatedImageVisual::New( VisualFactoryCache& factoryCache, const VisualUrl& imageUrl ) { AnimatedImageVisual* visual = new AnimatedImageVisual( factoryCache ); visual->mImageUrl = imageUrl; @@ -90,7 +90,7 @@ void AnimatedImageVisual::GetNaturalSize( Vector2& naturalSize ) { if( mImageSize.GetWidth() == 0 && mImageSize.GetHeight() == 0) { - mImageSize = Dali::GetGifImageSize( mImageUrl ); + mImageSize = Dali::GetGifImageSize( mImageUrl.GetUrl() ); } naturalSize.width = mImageSize.GetWidth(); @@ -101,11 +101,11 @@ void AnimatedImageVisual::DoCreatePropertyMap( Property::Map& map ) const { map.Clear(); - map.Insert( Toolkit::DevelVisual::Property::TYPE, Toolkit::Visual::IMAGE ); + map.Insert( Toolkit::DevelVisual::Property::TYPE, Toolkit::DevelVisual::ANIMATED_IMAGE ); - if( !mImageUrl.empty() ) + if( mImageUrl.IsValid() ) { - map.Insert( Toolkit::ImageVisual::Property::URL, mImageUrl ); + map.Insert( Toolkit::ImageVisual::Property::URL, mImageUrl.GetUrl() ); } map.Insert( Toolkit::ImageVisual::Property::PIXEL_AREA, mPixelArea ); @@ -186,6 +186,9 @@ void AnimatedImageVisual::DoSetOnStage( Actor& actor ) } actor.AddRenderer( mImpl->mRenderer ); + + // Animated Image loaded and ready to display + ResourceReady(); } } @@ -221,12 +224,16 @@ Texture AnimatedImageVisual::PrepareAnimatedImage() { // load from image file std::vector pixelDataList; - if( Dali::LoadAnimatedGifFromFile( mImageUrl.c_str() , pixelDataList, mFrameDelayContainer ) ) + + if( mImageUrl.IsLocal() ) { - mImageSize.SetWidth( pixelDataList[0].GetWidth() ); - mImageSize.SetHeight( pixelDataList[0].GetHeight() ); + if( Dali::LoadAnimatedGifFromFile( mImageUrl.GetUrl().c_str() , pixelDataList, mFrameDelayContainer ) ) + { + mImageSize.SetWidth( pixelDataList[0].GetWidth() ); + mImageSize.SetHeight( pixelDataList[0].GetHeight() ); - return Toolkit::ImageAtlas::PackToAtlas( pixelDataList, mTextureRectContainer ); + return Toolkit::ImageAtlas::PackToAtlas( pixelDataList, mTextureRectContainer ); + } } return Texture();