Merge "Cleaned up image scaling and filtering example by removing (commented out...
[platform/core/uifw/dali-demo.git] / examples / image-scaling-irregular-grid / image-scaling-irregular-grid-example.cpp
index 259f0d2..0c0bf86 100644 (file)
@@ -24,7 +24,7 @@
  * reduce the image to save memory, improve performance, and potentially display
  * a better small version of the image than if the default size were loaded.
  *
- * The functions CreateImage and CreateImageActor below show how to build an
+ * The functions CreateImage and CreateImageView below show how to build an
  * image using a scaling mode to have %Dali resize it during loading.
  *
  * This demo defaults to the SCALE_TO_FILL mode of ImageAttributes which makes
@@ -38,7 +38,7 @@
  * grid  using the button in the top-right of the toolbar.
  * A single image can be cycled by clicking the image directly.
  *
- * @see CreateImage CreateImageActor
+ * @see CreateImage CreateImageView
  */
 
 // EXTERNAL INCLUDES
@@ -65,6 +65,7 @@ const char* BACKGROUND_IMAGE( DALI_IMAGE_DIR "background-gradient.jpg" );
 const char* TOOLBAR_IMAGE( DALI_IMAGE_DIR "top-bar.png" );
 const char* APPLICATION_TITLE( "Image Scaling Modes" );
 const char* TOGGLE_SCALING_IMAGE( DALI_IMAGE_DIR "icon-change.png" );
+const char* TOGGLE_SCALING_IMAGE_SELECTED( DALI_IMAGE_DIR "icon-change-selected.png" );
 
 /** The width of the grid in whole grid cells. */
 const unsigned GRID_WIDTH = 9;
@@ -185,17 +186,17 @@ Image CreateImage(const std::string& filename, unsigned int width, unsigned int
 }
 
 /**
- * Creates an ImageActor
+ * Creates an ImageView
  *
  * @param[in] filename The path of the image.
  * @param[in] width The width of the image in pixels.
  * @param[in] height The height of the image in pixels.
  * @param[in] fittingMode The mode to use when scaling the image to fit the desired dimensions.
  */
-ImageActor CreateImageActor(const std::string& filename, unsigned int width, unsigned int height, Dali::FittingMode::Type fittingMode )
+ImageView CreateImageView(const std::string& filename, unsigned int width, unsigned int height, Dali::FittingMode::Type fittingMode )
 {
   Image img = CreateImage( filename, width, height, fittingMode );
-  ImageActor actor = ImageActor::New( img );
+  ImageView actor = ImageView::New( img );
   actor.SetName( filename );
   actor.SetParentOrigin(ParentOrigin::CENTER);
   actor.SetAnchorPoint(AnchorPoint::CENTER);
@@ -287,8 +288,6 @@ public:
   {
     std::cout << "ImageScalingIrregularGridController::Create" << std::endl;
 
-    DemoHelper::RequestThemeChange();
-
     // Get a handle to the stage:
     Stage stage = Stage::GetCurrent();
 
@@ -307,9 +306,9 @@ public:
                                             "" );
 
     // Create an image scaling toggle button. (right of toolbar)
-    Image toggleScalingImage = ResourceImage::New( TOGGLE_SCALING_IMAGE );
     Toolkit::PushButton toggleScalingButton = Toolkit::PushButton::New();
-    toggleScalingButton.SetBackgroundImage( toggleScalingImage );
+    toggleScalingButton.SetUnselectedImage( TOGGLE_SCALING_IMAGE );
+    toggleScalingButton.SetSelectedImage( TOGGLE_SCALING_IMAGE_SELECTED );
     toggleScalingButton.ClickedSignal().Connect( this, &ImageScalingIrregularGridController::OnToggleScalingTouched );
     mToolBar.AddControl( toggleScalingButton, DemoHelper::DEFAULT_VIEW_STYLE.mToolBarButtonPercentage, Toolkit::Alignment::HorizontalRight, DemoHelper::DEFAULT_MODE_SWITCH_PADDING  );
 
@@ -459,7 +458,7 @@ public:
       const Vector2 imageRegionCorner = gridOrigin + cellSize * Vector2( imageSource.cellX, imageSource.cellY );
       const Vector2 imagePosition = imageRegionCorner + Vector2( GRID_CELL_PADDING , GRID_CELL_PADDING ) + imageSize * 0.5f;
 
-      ImageActor image = CreateImageActor( imageSource.configuration.path, imageSize.x, imageSize.y, fittingMode );
+      ImageView image = CreateImageView( imageSource.configuration.path, imageSize.x, imageSize.y, fittingMode );
       image.SetPosition( Vector3( imagePosition.x, imagePosition.y, 0 ) );
       image.SetSize( imageSize );
       image.TouchedSignal().Connect( this, &ImageScalingIrregularGridController::OnTouchImage );
@@ -494,10 +493,10 @@ public:
         Dali::FittingMode::Type newMode = NextMode( mFittingModes[id] );
         const Vector2 imageSize = mSizes[actor.GetId()];
 
-        ImageActor imageActor = ImageActor::DownCast( actor );
-        Image oldImage = imageActor.GetImage();
+        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 );
-        imageActor.SetImage( newImage );
+        imageView.SetImage( newImage );
         mFittingModes[id] = newMode;
       }
     }
@@ -531,17 +530,17 @@ public:
 
     for( unsigned i = 0; i < numChildren; ++i )
     {
-      ImageActor gridImageActor = ImageActor::DownCast( mGridActor.GetChildAt( i ) );
-      if( gridImageActor )
+      ImageView gridImageView = ImageView::DownCast( mGridActor.GetChildAt( i ) );
+      if( gridImageView )
       {
         // Cycle the scaling mode options:
-        const Vector2 imageSize = mSizes[gridImageActor.GetId()];
-        Dali::FittingMode::Type newMode = NextMode( mFittingModes[gridImageActor.GetId()] );
-        Image oldImage = gridImageActor.GetImage();
+        const Vector2 imageSize = mSizes[gridImageView.GetId()];
+        Dali::FittingMode::Type newMode = NextMode( mFittingModes[gridImageView.GetId()] );
+        Image oldImage = gridImageView.GetImage();
         Image newImage = CreateImage(ResourceImage::DownCast(oldImage).GetUrl(), imageSize.width, imageSize.height, newMode );
-        gridImageActor.SetImage( newImage );
+        gridImageView.SetImage( newImage );
 
-        mFittingModes[gridImageActor.GetId()] = newMode;
+        mFittingModes[gridImageView.GetId()] = newMode;
 
         SetTitle( std::string( newMode == FittingMode::SHRINK_TO_FIT ? "SHRINK_TO_FIT" : newMode == FittingMode::SCALE_TO_FILL ?  "SCALE_TO_FILL" : newMode == FittingMode::FIT_WIDTH ? "FIT_WIDTH" : "FIT_HEIGHT" ) );
       }
@@ -611,7 +610,7 @@ void RunTest( Application& application )
 /** Entry point for Linux & Tizen applications */
 int main( int argc, char **argv )
 {
-  Application application = Application::New( &argc, &argv );
+  Application application = Application::New( &argc, &argv, DALI_DEMO_THEME_PATH );
 
   RunTest( application );