Merge "Add FittingMode for image" into devel/master
authorsunghyun kim <scholb.kim@samsung.com>
Wed, 27 May 2020 05:32:49 +0000 (05:32 +0000)
committerGerrit Code Review <gerrit@review>
Wed, 27 May 2020 05:32:49 +0000 (05:32 +0000)
1  2 
automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp
automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp

@@@ -94,6 -94,8 +94,8 @@@ static const char* gImage_600_RGB = TES
  // resolution: 50*50, frame count: 4, frame delay: 0.2 second for each frame
  const char* TEST_GIF_FILE_NAME = TEST_RESOURCE_DIR "/anim.gif";
  
+ const char* TEST_VECTOR_IMAGE_FILE_NAME =  TEST_RESOURCE_DIR  "/insta_camera.json";
  void TestImage( ImageView imageView, BufferImage image )
  {
    Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) );
@@@ -645,7 -647,7 +647,7 @@@ int UtcDaliImageViewAsyncLoadingWithout
    // By default, Aysnc loading is used
    Stage::GetCurrent().Add( imageView );
    imageView.SetSize(100, 100);
 -  imageView.SetParentOrigin( ParentOrigin::CENTER );
 +  imageView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
  
    DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
  
@@@ -880,8 -882,8 +882,8 @@@ int UtcDaliImageViewSizeWithBackground(
    application.SendNotification();
    application.Render();
  
 -  DALI_TEST_EQUALS( imageView.GetCurrentSize().width, (float)width, TEST_LOCATION );
 -  DALI_TEST_EQUALS( imageView.GetCurrentSize().height, (float)height, TEST_LOCATION );
 +  DALI_TEST_EQUALS( imageView.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).width, (float)width, TEST_LOCATION );
 +  DALI_TEST_EQUALS( imageView.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).height, (float)height, TEST_LOCATION );
  
    END_TEST;
  }
@@@ -913,8 -915,8 +915,8 @@@ int UtcDaliImageViewSizeWithBackgroundA
    application.SendNotification();
    application.Render();
  
 -  DALI_TEST_EQUALS( imageView.GetCurrentSize().width, (float)width, TEST_LOCATION );
 -  DALI_TEST_EQUALS( imageView.GetCurrentSize().height, (float)height, TEST_LOCATION );
 +  DALI_TEST_EQUALS( imageView.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).width, (float)width, TEST_LOCATION );
 +  DALI_TEST_EQUALS( imageView.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ).height, (float)height, TEST_LOCATION );
  
    END_TEST;
  }
@@@ -1873,8 -1875,8 +1875,8 @@@ int UtcDaliImageViewPaddingProperty(voi
    imagePropertyMap[ ImageVisual::Property::DESIRED_WIDTH ] = 128;
    imagePropertyMap[ ImageVisual::Property::DESIRED_HEIGHT ] = 128;
    imageView.SetProperty( Toolkit::ImageView::Property::IMAGE , imagePropertyMap );
 -  imageView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
 -  imageView.SetParentOrigin( ParentOrigin::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
    imageView.SetProperty( Control::Property::PADDING, Extents( 15, 10, 5, 10 ) );
    Stage::GetCurrent().Add( imageView );
  
@@@ -1923,8 -1925,8 +1925,8 @@@ int UtcDaliImageViewPaddingProperty02(v
    imagePropertyMap[ ImageVisual::Property::DESIRED_HEIGHT ] = 128;
    imagePropertyMap[ DevelVisual::Property::VISUAL_FITTING_MODE ] = Toolkit::DevelVisual::FIT_KEEP_ASPECT_RATIO;
    imageView.SetProperty( Toolkit::ImageView::Property::IMAGE , imagePropertyMap );
 -  imageView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
 -  imageView.SetParentOrigin( ParentOrigin::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
    imageView.SetProperty( Control::Property::PADDING, Extents( 15, 10, 5, 10 ) );
    Stage::GetCurrent().Add( imageView );
  
@@@ -1964,8 -1966,8 +1966,8 @@@ int UtcDaliImageViewPaddingProperty03(v
    imagePropertyMap[ ImageVisual::Property::DESIRED_HEIGHT ] = 128;
    imagePropertyMap[ DevelVisual::Property::VISUAL_FITTING_MODE ] = Toolkit::DevelVisual::FIT_KEEP_ASPECT_RATIO;
    imageView.SetProperty( Toolkit::ImageView::Property::IMAGE , imagePropertyMap );
 -  imageView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
 -  imageView.SetParentOrigin( ParentOrigin::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
    imageView.SetProperty( Control::Property::PADDING, Extents( 15, 10, 5, 10 ) );
    Stage::GetCurrent().Add( imageView );
  
@@@ -2012,8 -2014,8 +2014,8 @@@ int UtcDaliImageViewPaddingProperty04(v
    imagePropertyMap[ ImageVisual::Property::DESIRED_HEIGHT ] = 128;
    imagePropertyMap[ DevelVisual::Property::VISUAL_FITTING_MODE ] = Toolkit::DevelVisual::FILL;
    imageView.SetProperty( Toolkit::ImageView::Property::IMAGE , imagePropertyMap );
 -  imageView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
 -  imageView.SetParentOrigin( ParentOrigin::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
    imageView.SetProperty( Control::Property::PADDING, Extents( 15, 10, 5, 10 ) );
    Stage::GetCurrent().Add( imageView );
  
@@@ -2065,8 -2067,8 +2067,8 @@@ int UtcDaliImageViewTransformTest01(voi
                                         .Add( Toolkit::Visual::Transform::Property::OFFSET, Vector2( 8, 8 ) ) );
  
    imageView.SetProperty( Toolkit::ImageView::Property::IMAGE , imagePropertyMap );
 -  imageView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
 -  imageView.SetParentOrigin( ParentOrigin::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
    Stage::GetCurrent().Add( imageView );
  
    application.SendNotification();
@@@ -2120,7 -2122,6 +2122,6 @@@ int UtcDaliImageViewFillMode(void
    ToolkitTestApplication application;
  
    tet_infoline( "Create an ImageVisual without padding and set the fill-mode to fill" );
-   tet_infoline( "  There should be no need to change the transform, our size-policy should be relative and size should be [1,1]");
  
    ImageView imageView = ImageView::New();
    Property::Map imageMap;
    Property::Map* map = value->GetMap();
    DALI_TEST_CHECK( map );
  
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2::ONE, TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_CHECK( value->Get< int >() == Toolkit::Visual::Transform::Policy::RELATIVE );
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModeFitKeepAspectRatio(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "Create an ImageVisual using FitKeepAspectRatio ( image: [600,600], view: [600,700] )" );
+   tet_infoline( "  There should be need to change the transform, offset is adjusted to fit inside");
+   ImageView imageView = ImageView::New();
+   Property::Map imageMap;
+   imageMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE );
+   imageMap.Add( Toolkit::ImageVisual::Property::URL, gImage_600_RGB ); // 600x600 image
+   imageMap.Add( DevelVisual::Property::VISUAL_FITTING_MODE , Toolkit::DevelVisual::FIT_KEEP_ASPECT_RATIO );
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(600,700);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
    // If there's
    value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
    DALI_TEST_CHECK( value );
-   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2::ONE, TEST_LOCATION ); // Relative size so will take up 100%
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 600, 600 ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 0, 50 ), TEST_LOCATION );
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModesFill(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "Create an ImageVisual using Fill ( image: [600,600], view: [600,700] )" );
+   tet_infoline( "  There should be no need to change the transform, only size is changed to fit view");
+   ImageView imageView = ImageView::New();
+   Property::Map imageMap;
+   imageMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE );
+   imageMap.Add( Toolkit::ImageVisual::Property::URL, gImage_600_RGB ); // 600x600 image
+   imageMap.Add( DevelVisual::Property::VISUAL_FITTING_MODE , Toolkit::DevelVisual::FILL );
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(600,700);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2::ONE, TEST_LOCATION ); // Change the internal size according to the image view size
  
    value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
    DALI_TEST_CHECK( value );
    DALI_TEST_CHECK( value->Get< int >() == Toolkit::Visual::Transform::Policy::RELATIVE );
  
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 0, 0 ), TEST_LOCATION ); // OFFSET is zero
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModesOverfitKeepAspectRatio(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "Create an ImageVisual using OverFitKeepAspectRatio ( image: [600,600], view: [600,500] )" );
+   tet_infoline( "  offset or size is the same as view, but adjust internally using pixelArea ");
+   ImageView imageView = ImageView::New();
+   Property::Map imageMap;
+   imageMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE );
+   imageMap.Add( Toolkit::ImageVisual::Property::URL, gImage_600_RGB ); // 600x600 image
+   imageMap.Add( DevelVisual::Property::VISUAL_FITTING_MODE , Toolkit::DevelVisual::OVER_FIT_KEEP_ASPECT_RATIO );
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(600,500);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   // If there's
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 600, 500 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 0, 0 ), TEST_LOCATION ); // OFFSET is zero
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModesCenter01(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "Create an ImageVisual using Center ( image: [600,600], view: [700,700] )" );
+   tet_infoline( "  There should be need to change the transform, offset is adjusted to fit inside");
+   ImageView imageView = ImageView::New();
+   Property::Map imageMap;
+   imageMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE );
+   imageMap.Add( Toolkit::ImageVisual::Property::URL, gImage_600_RGB ); // 600x600 image
+   imageMap.Add( DevelVisual::Property::VISUAL_FITTING_MODE, Toolkit::DevelVisual::CENTER);
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(700,700);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 600, 600 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 50, 50 ), TEST_LOCATION );
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModesCenter02(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "Create an ImageVisual using Center ( image: [600,600], view: [500,500] )" );
+   tet_infoline( "  There should be need to change the transform, offset is adjusted to fit inside");
+   ImageView imageView = ImageView::New();
+   Property::Map imageMap;
+   imageMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE );
+   imageMap.Add( Toolkit::ImageVisual::Property::URL, gImage_600_RGB ); // 600x600 image
+   imageMap.Add( DevelVisual::Property::VISUAL_FITTING_MODE, Toolkit::DevelVisual::CENTER);
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(700,700);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 600, 600 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 50, 50 ), TEST_LOCATION );
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModesFitHeight01(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "Create an ImageVisual using FitHeight ( image: [600,600], view: [600,700] )" );
+   ImageView imageView = ImageView::New();
+   Property::Map imageMap;
+   imageMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE );
+   imageMap.Add( Toolkit::ImageVisual::Property::URL, gImage_600_RGB ); // 600x600 image
+   imageMap.Add( DevelVisual::Property::VISUAL_FITTING_MODE, Toolkit::DevelVisual::FIT_HEIGHT);
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(600,700);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 600, 700 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 0, 0 ), TEST_LOCATION ); // OFFSET is zero
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModesFitHeight02(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "Create an ImageVisual using FitHeight ( image: [600,600], view: [700,600] )" );
+   ImageView imageView = ImageView::New();
+   Property::Map imageMap;
+   imageMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE );
+   imageMap.Add( Toolkit::ImageVisual::Property::URL, gImage_600_RGB ); // 249x169 image
+   imageMap.Add( DevelVisual::Property::VISUAL_FITTING_MODE, Toolkit::DevelVisual::FIT_HEIGHT);
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(700,600);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 600, 600 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 50, 0 ), TEST_LOCATION );
    END_TEST;
  }
  
+ int UtcDaliImageViewFittingModesFitWidth01(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "Create an ImageVisual using FitWidth ( image: [600,600], view: [600,700] )" );
+   ImageView imageView = ImageView::New();
+   Property::Map imageMap;
+   imageMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE );
+   imageMap.Add( Toolkit::ImageVisual::Property::URL, gImage_600_RGB ); // 600x600 image
+   imageMap.Add( DevelVisual::Property::VISUAL_FITTING_MODE, Toolkit::DevelVisual::FIT_WIDTH);
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(600,700);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 600, 600 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 0, 50 ), TEST_LOCATION );
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModesFitWidth02(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "Create an ImageVisual using FitWidth ( image: [600,600], view:[700,600] )" );
+   ImageView imageView = ImageView::New();
+   Property::Map imageMap;
+   imageMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::IMAGE );
+   imageMap.Add( Toolkit::ImageVisual::Property::URL, gImage_600_RGB ); // 249x169 image
+   imageMap.Add( DevelVisual::Property::VISUAL_FITTING_MODE, Toolkit::DevelVisual::FIT_WIDTH);
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(700,600);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 700, 600 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 0, 0 ), TEST_LOCATION ); // OFFSET is zero
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModesChangeFittingMode01(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "UtcDaliImageViewFittingModesChangeFittingMode, image: [600,600], view:[800,700]" );
+   ImageView imageView = ImageView::New();
+   // 1. Render using FittingMode::SHRINK_TO_FIT
+   Property::Map imageMap;
+   imageMap[ Toolkit::Visual::Property::TYPE ] = Toolkit::Visual::IMAGE;
+   imageMap[ Toolkit::ImageVisual::Property::URL ] = gImage_600_RGB;
+   imageMap[ DevelVisual::Property::VISUAL_FITTING_MODE ] =  Toolkit::DevelVisual::FIT_KEEP_ASPECT_RATIO;
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(800,700);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 700, 700 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 50, 0 ), TEST_LOCATION );
+   // 2. Render again using DevelVisaul::CENTER
+   Property::Map imageMap2;
+   imageMap2[ Toolkit::Visual::Property::TYPE ] = Toolkit::Visual::IMAGE;
+   imageMap2[ Toolkit::ImageVisual::Property::URL ] = gImage_600_RGB;
+   imageMap2[ DevelVisual::Property::VISUAL_FITTING_MODE ] = Toolkit::DevelVisual::CENTER;
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap2 );
+   imageView.SetSize(800,700);
+   Stage::GetCurrent().Add( imageView );
+   DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   returnedMap.Clear();
+   visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   visual.CreatePropertyMap( returnedMap );
+   value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 600, 600 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 100, 50 ), TEST_LOCATION );
+   // 3. Render again using before fittingMode
+   Property::Map imageMap3;
+   imageMap3[ Toolkit::Visual::Property::TYPE ] = Toolkit::Visual::IMAGE;
+   imageMap3[ Toolkit::ImageVisual::Property::URL ] = gImage_600_RGB;
+   imageMap3[ DevelVisual::Property::VISUAL_FITTING_MODE ] =  Toolkit::DevelVisual::FIT_KEEP_ASPECT_RATIO;
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap3 );
+   imageView.SetSize(800,700);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   returnedMap.Clear();
+   visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   visual.CreatePropertyMap( returnedMap );
+   value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 700, 700 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 50, 0 ), TEST_LOCATION );
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModesChangeFittingMode02(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "UtcDaliImageViewFittingModesChangeFittingMode, image: [600,600], view:[800,700]" );
+   ImageView imageView = ImageView::New();
+   // 1. Render using FittingMode::OVER_FIT_KEEP_ASPECT_RATIO
+   Property::Map imageMap;
+   imageMap[ Toolkit::Visual::Property::TYPE ] = Toolkit::Visual::IMAGE;
+   imageMap[ Toolkit::ImageVisual::Property::URL ] = gImage_600_RGB;
+   imageMap[ DevelVisual::Property::VISUAL_FITTING_MODE ] =  Toolkit::DevelVisual::OVER_FIT_KEEP_ASPECT_RATIO;
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(800,700);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 800, 700 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 0, 0 ), TEST_LOCATION );
+   // 2. Render again using DevelVisaul::CENTER
+   Property::Map imageMap2;
+   imageMap2[ Toolkit::Visual::Property::TYPE ] = Toolkit::Visual::IMAGE;
+   imageMap2[ Toolkit::ImageVisual::Property::URL ] = gImage_600_RGB;
+   imageMap2[ DevelVisual::Property::VISUAL_FITTING_MODE ] = Toolkit::DevelVisual::CENTER;
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap2 );
+   imageView.SetSize(800,700);
+   Stage::GetCurrent().Add( imageView );
+   DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   returnedMap.Clear();
+   visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   visual.CreatePropertyMap( returnedMap );
+   value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 600, 600 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 100, 50 ), TEST_LOCATION );
+   // 3. Render again using before fittingMode
+   Property::Map imageMap3;
+   imageMap3[ Toolkit::Visual::Property::TYPE ] = Toolkit::Visual::IMAGE;
+   imageMap3[ Toolkit::ImageVisual::Property::URL ] = gImage_600_RGB;
+   imageMap3[ DevelVisual::Property::VISUAL_FITTING_MODE ] =  Toolkit::DevelVisual::OVER_FIT_KEEP_ASPECT_RATIO;
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap3 );
+   imageView.SetSize(800,700);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   returnedMap.Clear();
+   visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   visual.CreatePropertyMap( returnedMap );
+   value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 800, 700 ), TEST_LOCATION ); // Change the internal size according to the image view size
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( Toolkit::Visual::Transform::Policy::ABSOLUTE, Toolkit::Visual::Transform::Policy::ABSOLUTE ), TEST_LOCATION );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 0, 0 ), TEST_LOCATION );
+   END_TEST;
+ }
+ int UtcDaliImageViewFittingModesWithAnimatedVectorImageVisual(void)
+ {
+   ToolkitTestApplication application;
+   tet_infoline( "Create an ImageVisual using ScaleToFill and animated vector image ( image: [600,600], view:[600,600] )" );
+   ImageView imageView = ImageView::New();
+   Property::Map imageMap;
+   imageMap.Add( Toolkit::Visual::Property::TYPE, DevelVisual::ANIMATED_VECTOR_IMAGE );
+   imageMap.Add( Toolkit::ImageVisual::Property::URL, TEST_VECTOR_IMAGE_FILE_NAME ); // 249x169 image
+   imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, imageMap );
+   imageView.SetSize(600,600);
+   Stage::GetCurrent().Add( imageView );
+   // Trigger a potential relayout
+   application.SendNotification();
+   application.Render();
+   Toolkit::Visual::Base visual = DevelControl::GetVisual( Toolkit::Internal::GetImplementation( imageView ), Toolkit::ImageView::Property::IMAGE );
+   Property::Map returnedMap;
+   visual.CreatePropertyMap( returnedMap );
+   Property::Value* value = returnedMap.Find( Toolkit::Visual::Property::TRANSFORM );
+   DALI_TEST_CHECK( value );
+   Property::Map* map = value->GetMap();
+   DALI_TEST_CHECK( map );
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2::ONE, TEST_LOCATION ); // Relative size so will take up 100%
+   value = map->Find( Toolkit::Visual::Transform::Property::SIZE_POLICY );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_CHECK( value->Get< int >() == Toolkit::Visual::Transform::Policy::RELATIVE );
+   value = map->Find( Toolkit::Visual::Transform::Property::OFFSET );
+   DALI_TEST_CHECK( value );
+   DALI_TEST_EQUALS( value->Get< Vector2 >(), Vector2( 0, 0 ), TEST_LOCATION ); // OFFSET is zero
+   END_TEST;
+ }
  int UtcDaliImageViewCustomShader(void)
  {
    ToolkitTestApplication application;
@@@ -2411,8 -3112,8 +3112,8 @@@ int UtcDaliImageViewLoadRemoteSVG(void
    imageView.SetImage("https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/check.svg");
    // Victor. Temporary (or permanent?) update as the url above seems not to work from time to time ...
    imageView.SetImage("https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/SVG_logo.svg/64px-SVG_logo.svg.png");
 -  imageView.SetParentOrigin( ParentOrigin::TOP_LEFT );
 -  imageView.SetAnchorPoint( AnchorPoint::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
 +  imageView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
    imageView.SetSize(300, 300);
    imageView.SetPosition( Vector3( 150.0f , 150.0f , 0.0f ) );
  
@@@ -20,7 -20,6 +20,7 @@@
  
  #include <toolkit-event-thread-callback.h>
  #include <dali-toolkit-test-suite-utils.h>
 +#include <dali/devel-api/actors/actor-devel.h>
  #include <dali/devel-api/object/handle-devel.h>
  #include <dali/devel-api/text-abstraction/font-client.h>
  #include <dali-toolkit/devel-api/controls/control-devel.h>
@@@ -859,7 -858,7 +859,7 @@@ int UtcDaliVisualGetPropertyMap5(void
  
    value = resultMap.Find( ImageVisual::Property::FITTING_MODE,   Property::INTEGER );
    DALI_TEST_CHECK( value );
-   DALI_TEST_CHECK( value->Get<int>() == FittingMode::SHRINK_TO_FIT );
+   DALI_TEST_CHECK( value->Get<int>() == FittingMode::DEFAULT );
  
    value = resultMap.Find( ImageVisual::Property::SAMPLING_MODE,   Property::INTEGER );
    DALI_TEST_CHECK( value );
@@@ -1819,7 -1818,7 +1819,7 @@@ int UtcDaliVisualAnimateBorderVisual01(
    Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(actor.GetImplementation());
    dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, borderVisual );
    actor.SetSize(2000, 2000);
 -  actor.SetParentOrigin(ParentOrigin::CENTER);
 +  actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
    Stage::GetCurrent().Add(actor);
  
    DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION);
@@@ -1887,7 -1886,7 +1887,7 @@@ int UtcDaliVisualAnimateBorderVisual02(
    Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(actor.GetImplementation());
    dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, borderVisual );
    actor.SetSize(2000, 2000);
 -  actor.SetParentOrigin(ParentOrigin::CENTER);
 +  actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
    Stage::GetCurrent().Add(actor);
  
    DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION);
@@@ -1931,7 -1930,7 +1931,7 @@@ int UtcDaliVisualAnimateColorVisual(voi
    Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(actor.GetImplementation());
    dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, borderVisual );
    actor.SetSize(2000, 2000);
 -  actor.SetParentOrigin(ParentOrigin::CENTER);
 +  actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
    Stage::GetCurrent().Add(actor);
  
    DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION);
@@@ -1986,8 -1985,8 +1986,8 @@@ int UtcDaliVisualAnimatePrimitiveVisual
      Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(actor.GetImplementation());
      dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
      actor.SetSize(2000, 2000);
 -    actor.SetParentOrigin(ParentOrigin::CENTER);
 -    actor.SetColor(Color::BLACK);
 +    actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
 +    actor.SetProperty( Actor::Property::COLOR,Color::BLACK);
      Stage::GetCurrent().Add(actor);
  
      DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION);
      application.Render(2001u); // go past end
      application.SendNotification(); // Trigger signals
  
 -    DALI_TEST_EQUALS( actor.GetCurrentColor(), Color::WHITE, TEST_LOCATION );
 +    DALI_TEST_EQUALS( actor.GetCurrentProperty< Vector4 >( Actor::Property::COLOR ), Color::WHITE, TEST_LOCATION );
      DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue<Vector4>("uColor", Vector4( 1.0f, 1.0f, 1.0f, TARGET_MIX_COLOR.a ) ), true, TEST_LOCATION );
      DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue<Vector3>("mixColor", Vector3(TARGET_MIX_COLOR) ), true, TEST_LOCATION );
  
@@@ -2061,8 -2060,8 +2061,8 @@@ int UtcDaliVisualAnimatedGradientVisual
      Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(actor.GetImplementation());
      dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
      actor.SetSize(2000, 2000);
 -    actor.SetParentOrigin(ParentOrigin::CENTER);
 -    actor.SetColor(Color::BLACK);
 +    actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
 +    actor.SetProperty( Actor::Property::COLOR,Color::BLACK);
      Stage::GetCurrent().Add(actor);
  
      application.SendNotification();
@@@ -2232,8 -2231,8 +2232,8 @@@ int UtcDaliVisualAnimatedGradientVisual
        Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>( actor.GetImplementation() );
        dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
        actor.SetSize( 2000, 2000 );
 -      actor.SetParentOrigin(ParentOrigin::CENTER);
 -      actor.SetColor(Color::BLACK);
 +      actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
 +      actor.SetProperty( Actor::Property::COLOR,Color::BLACK);
        Stage::GetCurrent().Add(actor);
  
        application.SendNotification();
@@@ -2506,8 -2505,8 +2506,8 @@@ int UtcDaliVisualAnimatedGradientVisual
        Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>( actor.GetImplementation() );
        dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
        actor.SetSize( 2000, 2000 );
 -      actor.SetParentOrigin(ParentOrigin::CENTER);
 -      actor.SetColor(Color::BLACK);
 +      actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
 +      actor.SetProperty( Actor::Property::COLOR,Color::BLACK);
        Stage::GetCurrent().Add(actor);
  
        application.SendNotification();
@@@ -2794,7 -2793,7 +2794,7 @@@ static void TestTransform( ToolkitTestA
    DummyControl actor = DummyControl::New(true);
    Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(actor.GetImplementation());
    actor.SetSize(2000, 2000);
 -  actor.SetParentOrigin(ParentOrigin::CENTER);
 +  actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
    Stage::GetCurrent().Add(actor);
  
    dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
@@@ -3104,7 -3103,7 +3104,7 @@@ int UtcDaliNPatchVisualCustomShader(voi
    dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
    dummyImpl.SetLayout( DummyControl::Property::TEST_VISUAL, transformMap );
    dummy.SetSize(2000, 2000);
 -  dummy.SetParentOrigin(ParentOrigin::CENTER);
 +  dummy.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
    Stage::GetCurrent().Add(dummy);
    application.SendNotification();
  
@@@ -3248,7 -3247,7 +3248,7 @@@ int UtcDaliVisualTextVisualRender(void
    DALI_TEST_EQUALS( dummyControl.GetRendererCount(), 0, TEST_LOCATION );
  
    dummyControl.SetSize(200.f, 200.f);
 -  dummyControl.SetParentOrigin( ParentOrigin::CENTER );
 +  dummyControl.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
  
    Stage::GetCurrent().Add( dummyControl );
    application.SendNotification();
@@@ -3317,7 -3316,7 +3317,7 @@@ int UtcDaliVisualTextVisualDisableEnabl
    DALI_TEST_EQUALS( dummyControl.GetRendererCount(), 0, TEST_LOCATION );
  
    dummyControl.SetSize(200.f, 200.f);
 -  dummyControl.SetParentOrigin( ParentOrigin::CENTER );
 +  dummyControl.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
  
    Stage::GetCurrent().Add( dummyControl );
    application.SendNotification();
@@@ -3600,7 -3599,7 +3600,7 @@@ int UtcDaliSvgVisualCustomShader(void
    dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
  
    dummy.SetSize( 200.f, 200.f );
 -  dummy.SetParentOrigin( ParentOrigin::CENTER );
 +  dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
    Stage::GetCurrent().Add( dummy );
  
    application.SendNotification();
@@@ -3646,7 -3645,7 +3646,7 @@@ int UtcDaliVisualRoundedCorner(void
      dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
  
      dummy.SetSize( 200.f, 200.f );
 -    dummy.SetParentOrigin( ParentOrigin::CENTER );
 +    dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
      Stage::GetCurrent().Add( dummy );
  
      application.SendNotification();
      dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
  
      dummy.SetSize( 200.f, 200.f );
 -    dummy.SetParentOrigin( ParentOrigin::CENTER );
 +    dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
      Stage::GetCurrent().Add( dummy );
  
      application.SendNotification();
      dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
  
      dummy.SetSize( 200.f, 200.f );
 -    dummy.SetParentOrigin( ParentOrigin::CENTER );
 +    dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
      Stage::GetCurrent().Add( dummy );
  
      application.SendNotification();
@@@ -3759,7 -3758,7 +3759,7 @@@ int UtcDaliColorVisualBlurRadius(void
    dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
  
    dummy.SetSize( 200.f, 200.f );
 -  dummy.SetParentOrigin( ParentOrigin::CENTER );
 +  dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
    Stage::GetCurrent().Add( dummy );
  
    application.SendNotification();