Changed Image Scaling Irregular Grid example to not use deprecated ImageView::GetImag... 71/48371/1
authorChu Hoang <c.hoang@samsung.com>
Fri, 18 Sep 2015 12:19:31 +0000 (13:19 +0100)
committerChu Hoang <c.hoang@samsung.com>
Fri, 18 Sep 2015 12:19:31 +0000 (13:19 +0100)
Change-Id: I0f513af3b3a8c2c128dbfe06533874e740ae701d

examples/image-scaling-irregular-grid/image-scaling-irregular-grid-example.cpp

index 0c0bf86..efac586 100644 (file)
@@ -463,6 +463,7 @@ public:
       image.SetSize( imageSize );
       image.TouchedSignal().Connect( this, &ImageScalingIrregularGridController::OnTouchImage );
       mFittingModes[image.GetId()] = fittingMode;
+      mResourceUrls[image.GetId()] = imageSource.configuration.path;
       mSizes[image.GetId()] = imageSize;
 
       gridActor.Add( image );
@@ -493,10 +494,13 @@ public:
         Dali::FittingMode::Type newMode = NextMode( mFittingModes[id] );
         const Vector2 imageSize = mSizes[actor.GetId()];
 
+        const std::string& url = mResourceUrls[id];
+        Image newImage = CreateImage( url, imageSize.width + 0.5f, imageSize.height + 0.5f, newMode );
         ImageView imageView = ImageView::DownCast( actor );
-        Image oldImage = imageView.GetImage();
-        Image newImage = CreateImage( ResourceImage::DownCast(oldImage).GetUrl(), imageSize.width + 0.5f, imageSize.height + 0.5f, newMode );
-        imageView.SetImage( newImage );
+        if(imageView)
+        {
+          imageView.SetImage( newImage );
+        }
         mFittingModes[id] = newMode;
       }
     }
@@ -597,6 +601,7 @@ private:
   ScrollBar mScrollBarHorizontal;
   bool mScrolling;                    ///< ScrollView scrolling state (true = scrolling, false = stationary)
   std::map<unsigned, Dali::FittingMode::Type> mFittingModes; ///< Stores the current scaling mode of each image, keyed by image actor id.
+  std::map<unsigned, std::string> mResourceUrls; ///< Stores the url of each image, keyed by image actor id.
   std::map<unsigned, Vector2> mSizes; ///< Stores the current size of each image, keyed by image actor id.
 };