X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-Visual.cpp;h=f17f1209c83e50de7629e93857a9e86510f50cbe;hp=98dc9dd2cea0042d965d7368ba5cdca4d08238a6;hb=b86fa7f2bedebe580b0e9a20f9b42cf2d628fafa;hpb=8c98262c52c72d5767c4552bb3c294a1565aefaa diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp index 98dc9dd..f17f120 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -47,6 +48,7 @@ const char* TEST_NPATCH_FILE_NAME = TEST_RESOURCE_DIR "/button-up.9.png"; const char* TEST_SVG_FILE_NAME = TEST_RESOURCE_DIR "/svg1.svg"; const char* TEST_OBJ_FILE_NAME = TEST_RESOURCE_DIR "/Cube.obj"; const char* TEST_MTL_FILE_NAME = TEST_RESOURCE_DIR "/ToyRobot-Metal.mtl"; +const char* TEST_VECTOR_IMAGE_FILE_NAME = TEST_RESOURCE_DIR "/insta_camera.json"; const char* TEST_RESOURCE_LOCATION = TEST_RESOURCE_DIR "/"; @@ -139,20 +141,6 @@ bool DaliTestCheckMaps( const Property::Map& fontStyleMapGet, const Property::Ma return true; } -void PrepareResourceImage( ToolkitTestApplication& application, unsigned int imageWidth, unsigned int imageHeight, Pixel::Format pixelFormat ) -{ - TestPlatformAbstraction& platform = application.GetPlatform(); - platform.SetClosestImageSize(Vector2( imageWidth, imageHeight)); - - Integration::Bitmap* bitmap = Integration::Bitmap::New( Integration::Bitmap::BITMAP_2D_PACKED_PIXELS, ResourcePolicy::OWNED_RETAIN ); - Integration::PixelBuffer* pixbuffer = bitmap->GetPackedPixelsProfile()->ReserveBuffer( pixelFormat, imageWidth, imageHeight, imageWidth, imageHeight ); - unsigned int bytesPerPixel = GetBytesPerPixel( pixelFormat ); - unsigned int initialColor = 0xFF; - memset( pixbuffer, initialColor, imageHeight*imageWidth*bytesPerPixel); - - Integration::ResourcePointer resourcePtr(bitmap); - platform.SetSynchronouslyLoadedResource( resourcePtr ); -} } //namespace void dali_visual_startup(void) @@ -259,8 +247,8 @@ int UtcDaliVisualSetGetDepthIndex(void) Impl::DummyControl& dummyImpl = static_cast(dummyControl.GetImplementation()); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - dummyControl.SetSize(200.f, 200.f); - Stage::GetCurrent().Add( dummyControl ); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); + application.GetScene().Add( dummyControl ); int depthIndex = dummyControl.GetRendererAt(0u).GetProperty( Renderer::Property::DEPTH_INDEX ); @@ -296,9 +284,12 @@ int UtcDaliVisualSize(void) DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION ); // image visual - PrepareResourceImage( application, 100u, 200u, Pixel::RGBA8888 ); - Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200)); - Visual::Base imageVisual = factory.CreateVisual( image ); + map.Clear(); + map[Toolkit::Visual::Property::TYPE] = Toolkit::Visual::IMAGE; + map[Toolkit::ImageVisual::Property::URL] = TEST_IMAGE_FILE_NAME; + map[Toolkit::ImageVisual::Property::DESIRED_WIDTH] = 100.0f; + map[Toolkit::ImageVisual::Property::DESIRED_HEIGHT] = 200.0f; + Visual::Base imageVisual = factory.CreateVisual( map ); imageVisual.SetTransformAndSize(DefaultTransform(), controlSize ); imageVisual.GetNaturalSize(naturalSize); @@ -406,10 +397,10 @@ int UtcDaliVisualSize(void) END_TEST; } -int UtcDaliVisualSetOnOffStage(void) +int UtcDaliVisualSetOnOffScene(void) { ToolkitTestApplication application; - tet_infoline( "UtcDaliVisualSetOnOffStage" ); + tet_infoline( "UtcDaliVisualSetOnOffScene" ); VisualFactory factory = VisualFactory::Get(); Property::Map propertyMap; @@ -421,19 +412,19 @@ int UtcDaliVisualSetOnOffStage(void) Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - actor.SetSize(200.f, 200.f); + actor.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); application.SendNotification(); application.Render(0); DALI_TEST_CHECK( actor.GetRendererCount() == 0u ); - Stage::GetCurrent().Add( actor ); + application.GetScene().Add( actor ); application.SendNotification(); application.Render(0); DALI_TEST_CHECK( actor.GetRendererCount() == 1u ); - Stage::GetCurrent().Remove( actor ); + application.GetScene().Remove( actor ); application.SendNotification(); application.Render(0); @@ -442,10 +433,10 @@ int UtcDaliVisualSetOnOffStage(void) END_TEST; } -int UtcDaliVisualSetOnOffStage2(void) +int UtcDaliVisualSetOnOffScene2(void) { ToolkitTestApplication application; - tet_infoline( "UtcDaliVisualSetOnOffStage2" ); + tet_infoline( "UtcDaliVisualSetOnOffScene2" ); VisualFactory factory = VisualFactory::Get(); Property::Map propertyMap; @@ -457,14 +448,14 @@ int UtcDaliVisualSetOnOffStage2(void) Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - actor.SetSize(200.f, 200.f); + actor.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); application.SendNotification(); application.Render(0); DALI_TEST_CHECK( actor.GetRendererCount() == 0u ); // First on/off - Stage::GetCurrent().Add( actor ); + application.GetScene().Add( actor ); application.SendNotification(); application.Render(0); @@ -474,14 +465,14 @@ int UtcDaliVisualSetOnOffStage2(void) auto textures = renderer.GetTextures(); DALI_TEST_CHECK( textures.GetTextureCount() != 0u ); - Stage::GetCurrent().Remove( actor ); + application.GetScene().Remove( actor ); application.SendNotification(); application.Render(0); DALI_TEST_CHECK( actor.GetRendererCount() == 0u ); // Second on/off - Stage::GetCurrent().Add( actor ); + application.GetScene().Add( actor ); application.SendNotification(); application.Render(0); @@ -491,7 +482,7 @@ int UtcDaliVisualSetOnOffStage2(void) textures = renderer.GetTextures(); DALI_TEST_CHECK( textures.GetTextureCount() != 0u ); - Stage::GetCurrent().Remove( actor ); + application.GetScene().Remove( actor ); application.SendNotification(); application.Render(0); @@ -510,6 +501,7 @@ int UtcDaliVisualGetPropertyMap1(void) propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR); propertyMap.Insert(Visual::Property::MIX_COLOR, Color::BLUE); propertyMap.Insert( DevelVisual::Property::CORNER_RADIUS, 10.0f ); + propertyMap.Insert( DevelVisual::Property::CORNER_RADIUS_POLICY, Toolkit::Visual::Transform::Policy::RELATIVE ); propertyMap.Insert( DevelColorVisual::Property::BLUR_RADIUS, 20.0f ); Visual::Base colorVisual = factory.CreateVisual( propertyMap ); @@ -528,6 +520,10 @@ int UtcDaliVisualGetPropertyMap1(void) DALI_TEST_CHECK( cornerRadiusValue ); DALI_TEST_CHECK( cornerRadiusValue->Get< float >() == 10.0f ); + Property::Value* cornerRadiusPolicyValue = resultMap.Find( DevelVisual::Property::CORNER_RADIUS_POLICY, Property::INTEGER ); + DALI_TEST_CHECK( cornerRadiusPolicyValue ); + DALI_TEST_CHECK( cornerRadiusPolicyValue->Get< int >() == Toolkit::Visual::Transform::Policy::RELATIVE ); + Property::Value* blurRadiusValue = resultMap.Find( DevelColorVisual::Property::BLUR_RADIUS, Property::FLOAT ); DALI_TEST_CHECK( blurRadiusValue ); DALI_TEST_CHECK( blurRadiusValue->Get< float >() == 20.0f ); @@ -627,7 +623,7 @@ int UtcDaliVisualGetPropertyMap2N(void) DummyControl dummyControl = DummyControl::New(true); Impl::DummyControl& dummyImpl = static_cast(dummyControl.GetImplementation()); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, borderVisual ); - Stage::GetCurrent().Add( dummyControl ); + application.GetScene().Add( dummyControl ); DALI_TEST_EQUALS( dummyControl.GetRendererCount(), 1, TEST_LOCATION ); @@ -843,52 +839,6 @@ int UtcDaliVisualGetPropertyMap5(void) DALI_TEST_CHECK( value ); DALI_TEST_CHECK( value->Get() == true ); - // Get an image visual with an image handle, and test the default property values - PrepareResourceImage( application, 100u, 200u, Pixel::RGBA8888 ); - Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200)); - imageVisual = factory.CreateVisual(image); - imageVisual.CreatePropertyMap( resultMap ); - - value = resultMap.Find( Toolkit::Visual::Property::TYPE, Property::INTEGER ); - DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == Visual::IMAGE ); - - value = resultMap.Find( ImageVisual::Property::URL, Property::STRING ); - DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == TEST_IMAGE_FILE_NAME ); - - value = resultMap.Find( ImageVisual::Property::FITTING_MODE, Property::INTEGER ); - DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == FittingMode::SHRINK_TO_FIT ); - - value = resultMap.Find( ImageVisual::Property::SAMPLING_MODE, Property::INTEGER ); - DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == SamplingMode::BOX ); - - value = resultMap.Find( ImageVisual::Property::DESIRED_WIDTH, Property::INTEGER ); - DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == 100 ); - - value = resultMap.Find( ImageVisual::Property::DESIRED_HEIGHT, Property::INTEGER ); - DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == 200 ); - - value = resultMap.Find( ImageVisual::Property::PIXEL_AREA, Property::VECTOR4 ); - DALI_TEST_CHECK( value ); - DALI_TEST_EQUALS( value->Get(), Vector4( 0.f, 0.f, 1.f, 1.f ), Math::MACHINE_EPSILON_100, TEST_LOCATION ); - - value = resultMap.Find( ImageVisual::Property::WRAP_MODE_U, Property::INTEGER ); - DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == WrapMode::DEFAULT); - - value = resultMap.Find( ImageVisual::Property::WRAP_MODE_V, Property::INTEGER ); - DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == WrapMode::DEFAULT); - - value = resultMap.Find( "synchronousLoading", Property::BOOLEAN ); - DALI_TEST_CHECK( value ); - DALI_TEST_CHECK( value->Get() == false ); - END_TEST; } @@ -1195,7 +1145,7 @@ int UtcDaliVisualGetPropertyMap10(void) Property::Map propertyMap; propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::TEXT ); propertyMap.Insert( Visual::Property::MIX_COLOR, Color::BLACK ); - propertyMap.Insert( "renderingBackend", static_cast( Toolkit::Text::DEFAULT_RENDERING_BACKEND ) ); + propertyMap.Insert( "renderingBackend", static_cast( Toolkit::DevelText::DEFAULT_RENDERING_BACKEND ) ); propertyMap.Insert( "enableMarkup", false ); propertyMap.Insert( "text", "Hello world" ); propertyMap.Insert( "fontFamily", "TizenSans" ); @@ -1818,15 +1768,15 @@ int UtcDaliVisualAnimateBorderVisual01(void) DummyControl actor = DummyControl::New(true); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, borderVisual ); - actor.SetSize(2000, 2000); + actor.SetProperty( Actor::Property::SIZE, Vector2( 2000.f, 2000.f ) ); actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION); Renderer renderer = actor.GetRendererAt(0); - Property::Index borderColorIndex = DevelHandle::GetPropertyIndex( renderer, BorderVisual::Property::COLOR ); - Property::Index mixColorIndex = DevelHandle::GetPropertyIndex( renderer, Visual::Property::MIX_COLOR ); + Property::Index borderColorIndex = renderer.GetPropertyIndex( BorderVisual::Property::COLOR ); + Property::Index mixColorIndex = renderer.GetPropertyIndex( Visual::Property::MIX_COLOR ); Animation animation = dummyImpl.CreateTransition( transition ); @@ -1886,14 +1836,14 @@ int UtcDaliVisualAnimateBorderVisual02(void) DummyControl actor = DummyControl::New(true); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, borderVisual ); - actor.SetSize(2000, 2000); + actor.SetProperty( Actor::Property::SIZE, Vector2( 2000.f, 2000.f ) ); actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION); Renderer renderer = actor.GetRendererAt(0); - Property::Index index = DevelHandle::GetPropertyIndex( renderer, BorderVisual::Property::SIZE ); + Property::Index index = renderer.GetPropertyIndex( BorderVisual::Property::SIZE ); Animation animation = Animation::New(4.0f); animation.AnimateTo( Property(renderer, index), 9.0f ); @@ -1930,14 +1880,14 @@ int UtcDaliVisualAnimateColorVisual(void) DummyControl actor = DummyControl::New(true); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, borderVisual ); - actor.SetSize(2000, 2000); + actor.SetProperty( Actor::Property::SIZE, Vector2( 2000.f, 2000.f ) ); actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION); Renderer renderer = actor.GetRendererAt(0); - Property::Index mixColorIndex = DevelHandle::GetPropertyIndex( renderer, ColorVisual::Property::MIX_COLOR ); + Property::Index mixColorIndex = renderer.GetPropertyIndex( ColorVisual::Property::MIX_COLOR ); Property::Value blendModeValue = renderer.GetProperty( Renderer::Property::BLEND_MODE ); DALI_TEST_EQUALS( blendModeValue.Get(), (int)BlendMode::AUTO, TEST_LOCATION ); @@ -1985,15 +1935,15 @@ int UtcDaliVisualAnimatePrimitiveVisual(void) DummyControl actor = DummyControl::New(true); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - actor.SetSize(2000, 2000); + actor.SetProperty( Actor::Property::SIZE, Vector2( 2000.f, 2000.f ) ); actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); actor.SetProperty( Actor::Property::COLOR,Color::BLACK); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION); Renderer renderer = actor.GetRendererAt(0); - Property::Index index = DevelHandle::GetPropertyIndex( renderer, PrimitiveVisual::Property::MIX_COLOR ); + Property::Index index = renderer.GetPropertyIndex( PrimitiveVisual::Property::MIX_COLOR ); tet_infoline("Test that the renderer has the Primitive mix color"); DALI_TEST_CHECK( index != Property::INVALID_INDEX ); @@ -2060,10 +2010,10 @@ int UtcDaliVisualAnimatedGradientVisual01(void) DummyControl actor = DummyControl::New(true); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - actor.SetSize(2000, 2000); + actor.SetProperty( Actor::Property::SIZE, Vector2( 2000.f, 2000.f ) ); actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); actor.SetProperty( Actor::Property::COLOR,Color::BLACK); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); application.SendNotification(); application.Render(0); @@ -2231,10 +2181,10 @@ int UtcDaliVisualAnimatedGradientVisual02(void) DummyControl actor = DummyControl::New( true ); Impl::DummyControl& dummyImpl = static_cast( actor.GetImplementation() ); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - actor.SetSize( 2000, 2000 ); + actor.SetProperty( Actor::Property::SIZE, Vector2( 2000.f, 2000.f ) ); actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); actor.SetProperty( Actor::Property::COLOR,Color::BLACK); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); application.SendNotification(); application.Render( 0 ); @@ -2505,10 +2455,10 @@ int UtcDaliVisualAnimatedGradientVisual03(void) DummyControl actor = DummyControl::New( true ); Impl::DummyControl& dummyImpl = static_cast( actor.GetImplementation() ); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - actor.SetSize( 2000, 2000 ); + actor.SetProperty( Actor::Property::SIZE, Vector2( 2000.f, 2000.f ) ); actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); actor.SetProperty( Actor::Property::COLOR,Color::BLACK); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); application.SendNotification(); application.Render( 0 ); @@ -2793,9 +2743,9 @@ static void TestTransform( ToolkitTestApplication& application, Visual::Base vis //Put the visual on the stage DummyControl actor = DummyControl::New(true); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); - actor.SetSize(2000, 2000); + actor.SetProperty( Actor::Property::SIZE, Vector2( 2000.f, 2000.f ) ); actor.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); dummyImpl.SetLayout( DummyControl::Property::TEST_VISUAL, transform ); @@ -2867,6 +2817,23 @@ static void TestTransform( ToolkitTestApplication& application, Visual::Base vis DALI_TEST_EQUALS( extraSize, Vector2(0.5f,0.5f), TEST_LOCATION ); } +int UtcDaliVisualSetTransform01(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliVisualSetTransform: ColorVisual" ); + + VisualFactory factory = VisualFactory::Get(); + Property::Map propertyMap; + propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR); + propertyMap.Insert(Visual::Property::OPACITY, 0.5f); + propertyMap.Insert(ColorVisual::Property::MIX_COLOR, Color::BLUE); + Visual::Base visual = factory.CreateVisual( propertyMap ); + TestTransform( application, visual ); + TestMixColor( visual, ColorVisual::Property::MIX_COLOR, Color::BLUE ); + + END_TEST; +} + int UtcDaliVisualSetTransform0(void) { ToolkitTestApplication application; @@ -2979,20 +2946,6 @@ int UtcDaliVisualSetTransform4(void) int UtcDaliVisualSetTransform5(void) { ToolkitTestApplication application; - tet_infoline( "UtcDaliVisualSetTransform: ImageVisual from Image" ); - - VisualFactory factory = VisualFactory::Get(); - Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200)); - Visual::Base visual = factory.CreateVisual(image); - TestTransform( application, visual ); - TestMixColor( visual, Visual::Property::MIX_COLOR, Color::WHITE ); - - END_TEST; -} - -int UtcDaliVisualSetTransform6(void) -{ - ToolkitTestApplication application; tet_infoline( "UtcDaliVisualSetTransform: ImageVisual for URL " ); VisualFactory factory = VisualFactory::Get(); @@ -3012,7 +2965,7 @@ int UtcDaliVisualSetTransform6(void) END_TEST; } -int UtcDaliVisualSetTransform7(void) +int UtcDaliVisualSetTransform6(void) { ToolkitTestApplication application; tet_infoline( "UtcDaliVisualSetTransform: NPatch visual" ); @@ -3103,9 +3056,9 @@ int UtcDaliNPatchVisualCustomShader(void) Impl::DummyControl& dummyImpl = static_cast(dummy.GetImplementation()); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); dummyImpl.SetLayout( DummyControl::Property::TEST_VISUAL, transformMap ); - dummy.SetSize(2000, 2000); + dummy.SetProperty( Actor::Property::SIZE, Vector2( 2000.f, 2000.f ) ); dummy.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); application.SendNotification(); Renderer renderer = dummy.GetRendererAt( 0 ); @@ -3150,7 +3103,7 @@ int UtcDaliGradientVisualBlendMode(void) DummyControl control = DummyControl::New(true); control.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); - Stage::GetCurrent().Add( control ); + application.GetScene().Add( control ); Impl::DummyControl& dummyImpl = static_cast( control.GetImplementation() ); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, opaqueGradientVisual ); @@ -3185,10 +3138,10 @@ int UtcDaliVisualRendererRemovalAndReAddition(void) dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); DALI_TEST_EQUALS( dummyControl.GetRendererCount(), 0, TEST_LOCATION ); - dummyControl.SetSize(200.f, 200.f); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); tet_infoline( "Add control with visual to stage and check renderer count is 1" ); - Stage::GetCurrent().Add( dummyControl ); + application.GetScene().Add( dummyControl ); application.SendNotification(); application.Render(); @@ -3196,7 +3149,7 @@ int UtcDaliVisualRendererRemovalAndReAddition(void) DALI_TEST_EQUALS( dummyControl.GetRendererCount(), 1, TEST_LOCATION ); tet_infoline( "Remove control with visual from stage and check renderer count is 0" ); - Stage::GetCurrent().Remove( dummyControl ); + application.GetScene().Remove( dummyControl ); application.SendNotification(); application.Render(); @@ -3204,7 +3157,7 @@ int UtcDaliVisualRendererRemovalAndReAddition(void) tet_infoline( "Re-add control with visual to stage and check renderer count is still 1" ); - Stage::GetCurrent().Add( dummyControl ); + application.GetScene().Add( dummyControl ); application.SendNotification(); application.Render(); @@ -3225,7 +3178,7 @@ int UtcDaliVisualTextVisualRender(void) Property::Map propertyMap; propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::TEXT ); propertyMap.Insert( "mixColor", Color::WHITE ); - propertyMap.Insert( "renderingBackend", static_cast( Toolkit::Text::DEFAULT_RENDERING_BACKEND ) ); + propertyMap.Insert( "renderingBackend", static_cast( Toolkit::DevelText::DEFAULT_RENDERING_BACKEND ) ); propertyMap.Insert( "enableMarkup", false ); propertyMap.Insert( "text", "Hello world" ); propertyMap.Insert( "fontFamily", "TizenSans" ); @@ -3247,10 +3200,10 @@ int UtcDaliVisualTextVisualRender(void) dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, textVisual ); DALI_TEST_EQUALS( dummyControl.GetRendererCount(), 0, TEST_LOCATION ); - dummyControl.SetSize(200.f, 200.f); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); dummyControl.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); - Stage::GetCurrent().Add( dummyControl ); + application.GetScene().Add( dummyControl ); application.SendNotification(); application.Render(); @@ -3270,7 +3223,7 @@ int UtcDaliVisualTextVisualRender(void) textVisual.SetDepthIndex( 1 ); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, textVisual ); - dummyControl.SetSize( 720.f, 640.f ); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 720.f, 640.f ) ); application.SendNotification(); // force process events to ensure text visual // adds renderer to the dummy control in OnRelayout @@ -3294,7 +3247,7 @@ int UtcDaliVisualTextVisualDisableEnable(void) Property::Map propertyMap; propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::TEXT ); propertyMap.Insert( "mixColor", Color::WHITE ); - propertyMap.Insert( "renderingBackend", static_cast( Toolkit::Text::DEFAULT_RENDERING_BACKEND ) ); + propertyMap.Insert( "renderingBackend", static_cast( Toolkit::DevelText::DEFAULT_RENDERING_BACKEND ) ); propertyMap.Insert( "enableMarkup", false ); propertyMap.Insert( "text", "Hello world" ); propertyMap.Insert( "fontFamily", "TizenSans" ); @@ -3316,10 +3269,10 @@ int UtcDaliVisualTextVisualDisableEnable(void) dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, textVisual ); DALI_TEST_EQUALS( dummyControl.GetRendererCount(), 0, TEST_LOCATION ); - dummyControl.SetSize(200.f, 200.f); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); dummyControl.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); - Stage::GetCurrent().Add( dummyControl ); + application.GetScene().Add( dummyControl ); application.SendNotification(); application.Render(); @@ -3446,8 +3399,8 @@ int UtcDaliRegisterVisualOrder(void) dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL2, anotherTestVisual2Replacement ); DALI_TEST_EQUALS( anotherTestVisual2Replacement.GetDepthIndex(), 2000, TEST_LOCATION ); - dummyControl.SetSize(200.f, 200.f); - Stage::GetCurrent().Add( dummyControl ); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); + application.GetScene().Add( dummyControl ); END_TEST; } @@ -3482,8 +3435,8 @@ int UtcDaliRegisterVisualOrder02(void) dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL2, testVisual2 ); DALI_TEST_CHECK( testVisual2.GetDepthIndex() > testVisual1.GetDepthIndex() ); - dummyControl.SetSize(200.f, 200.f); - Stage::GetCurrent().Add( dummyControl ); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); + application.GetScene().Add( dummyControl ); END_TEST; } @@ -3519,8 +3472,8 @@ int UtcDaliRegisterVisualWithDepthIndex(void) DALI_TEST_EQUALS( testVisual3.GetDepthIndex(), 300, TEST_LOCATION ); DALI_TEST_EQUALS( DevelControl::IsVisualEnabled( dummyImpl, DummyControl::Property::TEST_VISUAL2 ), true, TEST_LOCATION ); - dummyControl.SetSize(200.f, 200.f); - Stage::GetCurrent().Add( dummyControl ); + dummyControl.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); + application.GetScene().Add( dummyControl ); END_TEST; } @@ -3599,9 +3552,9 @@ int UtcDaliSvgVisualCustomShader(void) Impl::DummyControl& dummyImpl = static_cast< Impl::DummyControl& >( dummy.GetImplementation() ); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - dummy.SetSize( 200.f, 200.f ); + dummy.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); - Stage::GetCurrent().Add( dummy ); + application.GetScene().Add( dummy ); application.SendNotification(); application.Render(); @@ -3645,9 +3598,9 @@ int UtcDaliVisualRoundedCorner(void) Impl::DummyControl& dummyImpl = static_cast< Impl::DummyControl& >( dummy.GetImplementation() ); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - dummy.SetSize( 200.f, 200.f ); + dummy.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); - Stage::GetCurrent().Add( dummy ); + application.GetScene().Add( dummy ); application.SendNotification(); application.Render(); @@ -3660,7 +3613,7 @@ int UtcDaliVisualRoundedCorner(void) DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); } - // color visual + // color visual 1 { VisualFactory factory = VisualFactory::Get(); Property::Map properties; @@ -3669,6 +3622,7 @@ int UtcDaliVisualRoundedCorner(void) properties[Visual::Property::TYPE] = Visual::COLOR; properties[ColorVisual::Property::MIX_COLOR] = Color::BLUE; properties["cornerRadius"] = cornerRadius; + properties["cornerRadiusPolicy"] = Toolkit::Visual::Transform::Policy::ABSOLUTE; Visual::Base visual = factory.CreateVisual( properties ); @@ -3677,9 +3631,9 @@ int UtcDaliVisualRoundedCorner(void) Impl::DummyControl& dummyImpl = static_cast< Impl::DummyControl& >( dummy.GetImplementation() ); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - dummy.SetSize( 200.f, 200.f ); + dummy.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); - Stage::GetCurrent().Add( dummy ); + application.GetScene().Add( dummy ); application.SendNotification(); application.Render(); @@ -3688,6 +3642,72 @@ int UtcDaliVisualRoundedCorner(void) application.Render(); DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadiusPolicy", Toolkit::Visual::Transform::Policy::ABSOLUTE ), true, TEST_LOCATION ); + } + + // color visual 2 + { + VisualFactory factory = VisualFactory::Get(); + Property::Map properties; + float cornerRadius = 0.5f; + + properties[Visual::Property::TYPE] = Visual::COLOR; + properties[ColorVisual::Property::MIX_COLOR] = Color::BLUE; + properties[DevelVisual::Property::CORNER_RADIUS] = cornerRadius; + properties[DevelVisual::Property::CORNER_RADIUS_POLICY] = Toolkit::Visual::Transform::Policy::RELATIVE; + + Visual::Base visual = factory.CreateVisual( properties ); + + // trigger creation through setting on stage + DummyControl dummy = DummyControl::New( true ); + Impl::DummyControl& dummyImpl = static_cast< Impl::DummyControl& >( dummy.GetImplementation() ); + dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); + + dummy.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); + dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + application.GetScene().Add( dummy ); + + application.SendNotification(); + application.Render(); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadiusPolicy", Toolkit::Visual::Transform::Policy::RELATIVE ), true, TEST_LOCATION ); + } + + // color visual 3 - invalid value + { + VisualFactory factory = VisualFactory::Get(); + Property::Map properties; + float cornerRadius = 30.0f; + + properties[Visual::Property::TYPE] = Visual::COLOR; + properties[ColorVisual::Property::MIX_COLOR] = Color::BLUE; + properties[DevelVisual::Property::CORNER_RADIUS] = cornerRadius; + properties[DevelVisual::Property::CORNER_RADIUS_POLICY] = -1; // Set an invalid value + + Visual::Base visual = factory.CreateVisual( properties ); + + // trigger creation through setting on stage + DummyControl dummy = DummyControl::New( true ); + Impl::DummyControl& dummyImpl = static_cast< Impl::DummyControl& >( dummy.GetImplementation() ); + dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); + + dummy.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); + dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + application.GetScene().Add( dummy ); + + application.SendNotification(); + application.Render(); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); + // Default corner radius policy is absolute. + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadiusPolicy", Toolkit::Visual::Transform::Policy::ABSOLUTE ), true, TEST_LOCATION ); } // gradient visual @@ -3722,9 +3742,9 @@ int UtcDaliVisualRoundedCorner(void) Impl::DummyControl& dummyImpl = static_cast< Impl::DummyControl& >( dummy.GetImplementation() ); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - dummy.SetSize( 200.f, 200.f ); + dummy.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); - Stage::GetCurrent().Add( dummy ); + application.GetScene().Add( dummy ); application.SendNotification(); application.Render(); @@ -3758,9 +3778,9 @@ int UtcDaliColorVisualBlurRadius(void) Impl::DummyControl& dummyImpl = static_cast< Impl::DummyControl& >( dummy.GetImplementation() ); dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); - dummy.SetSize( 200.f, 200.f ); + dummy.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); dummy.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); - Stage::GetCurrent().Add( dummy ); + application.GetScene().Add( dummy ); application.SendNotification(); application.Render(); @@ -3772,3 +3792,139 @@ int UtcDaliColorVisualBlurRadius(void) END_TEST; } + +int UtcDaliVisualGetType(void) +{ + ToolkitTestApplication application; + tet_infoline( "UtcDaliVisualGetType" ); + + VisualFactory factory = VisualFactory::Get(); + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::BORDER; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::BORDER ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::COLOR; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::COLOR ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::GRADIENT; + properties[GradientVisual::Property::START_POSITION] = Vector2( -1.f, -1.f ); + properties[GradientVisual::Property::END_POSITION] = Vector2( 1.f, 1.f ); + properties[GradientVisual::Property::STOP_OFFSET] = Vector2(0.f, 1.f); + // propertyMap.Insert( GradientVisual::Property::SPREAD_METHOD, GradientVisual::SpreadMethod::REPEAT) ; + Property::Array stopColors; + stopColors.PushBack( Color::RED ); + stopColors.PushBack( Color::GREEN ); + properties[GradientVisual::Property::STOP_COLOR] = stopColors; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::GRADIENT ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::IMAGE; + properties.Insert( ImageVisual::Property::URL, TEST_IMAGE_FILE_NAME ); + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::IMAGE ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::MESH; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::MESH ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::PRIMITIVE; + properties[PrimitiveVisual::Property::SHAPE] = PrimitiveVisual::Shape::CUBE; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::PRIMITIVE ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::WIREFRAME; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::WIREFRAME ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::TEXT; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::TEXT ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::N_PATCH; + properties[ImageVisual::Property::URL] = TEST_NPATCH_FILE_NAME; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::N_PATCH ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::SVG; + properties[ImageVisual::Property::URL] = TEST_SVG_FILE_NAME; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::SVG ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = Visual::ANIMATED_IMAGE; + properties[ImageVisual::Property::URL] = TEST_GIF_FILE_NAME; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == Visual::ANIMATED_IMAGE ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = DevelVisual::ANIMATED_GRADIENT; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == static_cast( DevelVisual::ANIMATED_GRADIENT ) ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = DevelVisual::ANIMATED_VECTOR_IMAGE; + properties[ImageVisual::Property::URL] = TEST_VECTOR_IMAGE_FILE_NAME; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == static_cast( DevelVisual::ANIMATED_VECTOR_IMAGE ) ); + } + + { + Property::Map properties; + properties[Visual::Property::TYPE] = DevelVisual::ARC; + Visual::Base visual = factory.CreateVisual( properties ); + + DALI_TEST_CHECK( visual.GetType() == static_cast( DevelVisual::ARC ) ); + } + + END_TEST; +}