Merge "supports remote URL gif image" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / visuals / animated-image / animated-image-visual.cpp
index d9c4cd4..fcb3811 100755 (executable)
@@ -154,13 +154,13 @@ AnimatedImageVisualPtr AnimatedImageVisual::New( VisualFactoryCache& factoryCach
 void AnimatedImageVisual::InitializeGif( const VisualUrl& imageUrl )
 {
   mImageUrl = imageUrl;
-  mGifLoading = GifLoading::New( imageUrl.GetUrl() );
+  mGifLoading = GifLoading::New( imageUrl.GetUrl(), imageUrl.IsLocalResource() );
   mFrameCount = mGifLoading->GetImageCount();
   mGifLoading->LoadFrameDelays( mFrameDelayContainer );
 }
 
 AnimatedImageVisual::AnimatedImageVisual( VisualFactoryCache& factoryCache )
-: Visual::Base( factoryCache ),
+: Visual::Base( factoryCache, Visual::FittingMode::FIT_KEEP_ASPECT_RATIO ),
   mFrameDelayTimer(),
   mPlacementActor(),
   mPixelArea( FULL_TEXTURE_RECT ),
@@ -332,7 +332,7 @@ void AnimatedImageVisual::DoSetProperty( Property::Index index,
     }
     case Toolkit::ImageVisual::Property::WRAP_MODE_U:
     {
-      int wrapMode;
+      int wrapMode = 0;
       if(Scripting::GetEnumerationProperty( value, WRAP_MODE_TABLE, WRAP_MODE_TABLE_COUNT, wrapMode ))
       {
         mWrapModeU = Dali::WrapMode::Type(wrapMode);
@@ -345,7 +345,7 @@ void AnimatedImageVisual::DoSetProperty( Property::Index index,
     }
     case Toolkit::ImageVisual::Property::WRAP_MODE_V:
     {
-      int wrapMode;
+      int wrapMode = 0;
       if(Scripting::GetEnumerationProperty( value, WRAP_MODE_TABLE, WRAP_MODE_TABLE_COUNT, wrapMode ))
       {
         mWrapModeV = Dali::WrapMode::Type(wrapMode);
@@ -495,21 +495,25 @@ void AnimatedImageVisual::LoadFirstBatch()
   {
     mImageCache = new RollingGifImageCache( textureManager, *mGifLoading, mFrameCount, *this, cacheSize, batchSize );
   }
-  else if( batchSize > 0 && cacheSize > 0 )
+  else if( mImageUrls )
   {
-    if( cacheSize < numUrls )
+    if( batchSize > 0 && cacheSize > 0 )
     {
-      mImageCache = new RollingImageCache( textureManager, *mImageUrls, *this, cacheSize, batchSize );
+      if( cacheSize < numUrls )
+      {
+        mImageCache = new RollingImageCache( textureManager, *mImageUrls, *this, cacheSize, batchSize );
+      }
+      else
+      {
+        mImageCache = new FixedImageCache( textureManager, *mImageUrls, *this, batchSize );
+      }
     }
     else
     {
-      mImageCache = new FixedImageCache( textureManager, *mImageUrls, *this, batchSize );
+      mImageCache = new RollingImageCache( textureManager, *mImageUrls, *this, 1, 1 );
     }
   }
-  else
-  {
-    mImageCache = new RollingImageCache( textureManager, *mImageUrls, *this, 1, 1 );
-  }
+
   if (!mImageCache)
   {
     DALI_LOG_ERROR("mImageCache is null");