X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-Visual.cpp;h=127a611e1bb73129818adf02e26b92809d4ff919;hb=2f7ce2a2364add1d4c8b9bb7ef60dd865d12030e;hp=6f3fa6a38d69d19d03f0c09bdf655f4280e103cb;hpb=02557f62f8d171115d885c87c138faec2a3cb923;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp index 6f3fa6a..127a611 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -516,9 +516,9 @@ int UtcDaliVisualGetPropertyMap1(void) DALI_TEST_CHECK( colorValue ); DALI_TEST_CHECK( colorValue->Get() == Color::BLUE ); - Property::Value* cornerRadiusValue = resultMap.Find( DevelVisual::Property::CORNER_RADIUS, Property::FLOAT ); + Property::Value* cornerRadiusValue = resultMap.Find( DevelVisual::Property::CORNER_RADIUS, Property::VECTOR4 ); DALI_TEST_CHECK( cornerRadiusValue ); - DALI_TEST_CHECK( cornerRadiusValue->Get< float >() == 10.0f ); + DALI_TEST_CHECK( cornerRadiusValue->Get< Vector4 >() == Vector4(10.0f, 10.0f, 10.0f, 10.0f) ); Property::Value* cornerRadiusPolicyValue = resultMap.Find( DevelVisual::Property::CORNER_RADIUS_POLICY, Property::INTEGER ); DALI_TEST_CHECK( cornerRadiusPolicyValue ); @@ -1745,6 +1745,15 @@ int UtcDaliVisualAnimateBorderVisual01(void) ToolkitTestApplication application; tet_infoline( "UtcDaliAnimateBorderVisual Color" ); + static std::vector customUniforms = + { + UniformData("borderColor", Property::Type::VECTOR4), + UniformData("mixColor", Property::Type::VECTOR3), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + VisualFactory factory = VisualFactory::Get(); Property::Map propertyMap; propertyMap.Insert(Visual::Property::TYPE, Visual::BORDER); @@ -1826,6 +1835,14 @@ int UtcDaliVisualAnimateBorderVisual02(void) ToolkitTestApplication application; tet_infoline( "UtcDaliAnimateBorderVisual Size" ); + static std::vector customUniforms = + { + UniformData("borderSize", Property::Type::FLOAT), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + VisualFactory factory = VisualFactory::Get(); Property::Map propertyMap; propertyMap.Insert(Visual::Property::TYPE, Visual::BORDER); @@ -1871,6 +1888,14 @@ int UtcDaliVisualAnimateColorVisual(void) ToolkitTestApplication application; tet_infoline( "UtcDaliAnimateColorVisual mixColor" ); + static std::vector customUniforms = + { + UniformData("mixColor", Property::Type::VECTOR3), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + VisualFactory factory = VisualFactory::Get(); Property::Map propertyMap; propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR); @@ -1924,6 +1949,14 @@ int UtcDaliVisualAnimatePrimitiveVisual(void) ToolkitTestApplication application; tet_infoline( "UtcDaliAnimatePrimitiveVisual color" ); + static std::vector customUniforms = + { + UniformData("mixColor", Property::Type::VECTOR3), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + { VisualFactory factory = VisualFactory::Get(); Property::Map propertyMap; @@ -1972,7 +2005,7 @@ int UtcDaliVisualAnimatePrimitiveVisual(void) glAbstraction.EnableEnableDisableCallTrace( true ); TraceCallStack& glEnableStack = glAbstraction.GetEnableDisableTrace(); std::ostringstream blendStr; - blendStr << GL_BLEND; + blendStr << std::hex << GL_BLEND; application.SendNotification(); application.Render(0); @@ -1983,7 +2016,7 @@ int UtcDaliVisualAnimatePrimitiveVisual(void) DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue("uColor", Vector4(0.5f, 0.5f, 0.5f, halfwayColor.a )), true, TEST_LOCATION ); DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue("mixColor", Vector3(halfwayColor) ), true, TEST_LOCATION ); - DALI_TEST_CHECK( glEnableStack.FindMethodAndParams( "Enable", blendStr.str().c_str() ) ); + DALI_TEST_CHECK( glEnableStack.FindMethodAndParams( "Enable", blendStr.str() ) ); glEnableStack.Reset(); @@ -1994,7 +2027,7 @@ int UtcDaliVisualAnimatePrimitiveVisual(void) DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue("uColor", Vector4( 1.0f, 1.0f, 1.0f, TARGET_MIX_COLOR.a ) ), true, TEST_LOCATION ); DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue("mixColor", Vector3(TARGET_MIX_COLOR) ), true, TEST_LOCATION ); - DALI_TEST_CHECK( glEnableStack.FindMethodAndParams( "Disable", blendStr.str().c_str() ) ); + DALI_TEST_CHECK( glEnableStack.FindMethodAndParams( "Disable", blendStr.str() ) ); actor.Unparent(); } @@ -2007,6 +2040,20 @@ int UtcDaliVisualAnimatedGradientVisual01(void) ToolkitTestApplication application; tet_infoline( "UtcDaliAnimatedGradientVisual with default" ); + static std::vector customUniforms = + { + UniformData("start_point", Property::Type::VECTOR2), + UniformData("end_point", Property::Type::VECTOR2), + UniformData("start_color", Property::Type::VECTOR4), + UniformData("end_color", Property::Type::VECTOR4), + UniformData("rotate_center", Property::Type::VECTOR2), + UniformData("rotate_angle", Property::Type::FLOAT), + UniformData("gradient_offset", Property::Type::FLOAT), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + { VisualFactory factory = VisualFactory::Get(); Property::Map propertyMap; @@ -2064,6 +2111,20 @@ int UtcDaliVisualAnimatedGradientVisual02(void) ToolkitTestApplication application; tet_infoline( "UtcDaliAnimatedGradientVisual with full-option" ); + static std::vector customUniforms = + { + UniformData("start_point", Property::Type::VECTOR2), + UniformData("end_point", Property::Type::VECTOR2), + UniformData("start_color", Property::Type::VECTOR4), + UniformData("end_color", Property::Type::VECTOR4), + UniformData("rotate_center", Property::Type::VECTOR2), + UniformData("rotate_angle", Property::Type::FLOAT), + UniformData("gradient_offset", Property::Type::FLOAT), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + { float _delay[4] = {0.0f, -1.35f, 0.15f, -0.4f}; // fract(_delay) must NOT be 1/4, 2/4, 3/4. cause we don't know progress is 1.0f or 0.0f int _direction[2] = {0, 1}; @@ -2342,6 +2403,20 @@ int UtcDaliVisualAnimatedGradientVisual03(void) ToolkitTestApplication application; tet_infoline( "UtcDaliAnimatedGradientVisual with full-option use string key" ); + static std::vector customUniforms = + { + UniformData("start_point", Property::Type::VECTOR2), + UniformData("end_point", Property::Type::VECTOR2), + UniformData("start_color", Property::Type::VECTOR4), + UniformData("end_color", Property::Type::VECTOR4), + UniformData("rotate_center", Property::Type::VECTOR2), + UniformData("rotate_angle", Property::Type::FLOAT), + UniformData("gradient_offset", Property::Type::FLOAT), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + { float _delay[4] = {0.0f, -1.35f, 0.15f, -0.4f}; // fract(_delay) must NOT be 1/4, 2/4, 3/4. cause we don't know progress is 1.0f or 0.0f int _direction[2] = {0, 1}; @@ -3584,9 +3659,19 @@ int UtcDaliSvgVisualCustomShader(void) int UtcDaliVisualRoundedCorner(void) { +#ifdef OLD_GRAPHICS_TEST ToolkitTestApplication application; tet_infoline( "UtcDaliVisualRoundedCorner" ); + static std::vector customUniforms = + { + UniformData("cornerRadius", Property::Type::VECTOR4), + UniformData("cornerRadiusPolicy", Property::Type::FLOAT), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + // image visual { VisualFactory factory = VisualFactory::Get(); @@ -3616,7 +3701,9 @@ int UtcDaliVisualRoundedCorner(void) application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< Vector4 >( "cornerRadius", Vector4(cornerRadius, cornerRadius, 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 ); } // color visual 1 @@ -3647,7 +3734,7 @@ int UtcDaliVisualRoundedCorner(void) application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< Vector4 >( "cornerRadius", Vector4(cornerRadius, cornerRadius, cornerRadius, cornerRadius) ), true, TEST_LOCATION ); DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadiusPolicy", Toolkit::Visual::Transform::Policy::ABSOLUTE ), true, TEST_LOCATION ); } @@ -3655,7 +3742,7 @@ int UtcDaliVisualRoundedCorner(void) { VisualFactory factory = VisualFactory::Get(); Property::Map properties; - float cornerRadius = 0.5f; + Vector4 cornerRadius(0.5f, 0.5f, 0.5f, 0.3f); properties[Visual::Property::TYPE] = Visual::COLOR; properties[ColorVisual::Property::MIX_COLOR] = Color::BLUE; @@ -3679,7 +3766,7 @@ int UtcDaliVisualRoundedCorner(void) application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< Vector4 >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadiusPolicy", Toolkit::Visual::Transform::Policy::RELATIVE ), true, TEST_LOCATION ); } @@ -3687,7 +3774,7 @@ int UtcDaliVisualRoundedCorner(void) { VisualFactory factory = VisualFactory::Get(); Property::Map properties; - float cornerRadius = 30.0f; + Vector4 cornerRadius(30.0f, 30.0f, 30.0f, 20.0f); properties[Visual::Property::TYPE] = Visual::COLOR; properties[ColorVisual::Property::MIX_COLOR] = Color::BLUE; @@ -3711,7 +3798,7 @@ int UtcDaliVisualRoundedCorner(void) application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< Vector4 >( "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 ); } @@ -3758,8 +3845,117 @@ int UtcDaliVisualRoundedCorner(void) application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< Vector4 >( "cornerRadius", Vector4(cornerRadius, cornerRadius, 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 ); + } + + // animated image visual + { + VisualFactory factory = VisualFactory::Get(); + Property::Map properties; + Vector4 cornerRadius(24.0f, 23.0f, 22.0f, 21.0f); + + properties[Visual::Property::TYPE] = Visual::ANIMATED_IMAGE; + properties[ImageVisual::Property::URL] = TEST_GIF_FILE_NAME; + properties[DevelVisual::Property::CORNER_RADIUS] = cornerRadius.x + 10.0f; // Dummy Input + properties[DevelVisual::Property::CORNER_RADIUS] = cornerRadius; + properties["cornerRadiusPolicy"] = Toolkit::Visual::Transform::Policy::ABSOLUTE; + + 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(); + + DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION ); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< Vector4 >( "cornerRadius", cornerRadius ), true, TEST_LOCATION ); + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadiusPolicy", Toolkit::Visual::Transform::Policy::ABSOLUTE ), true, TEST_LOCATION ); + } + + // vector image visual + { + VisualFactory factory = VisualFactory::Get(); + Property::Map properties; + Vector4 cornerRadius(27.0f, 72.0f, 11.0f, 500.5f); + + properties[Visual::Property::TYPE] = Visual::SVG; + properties[ImageVisual::Property::URL] = TEST_SVG_FILE_NAME; + properties[DevelVisual::Property::CORNER_RADIUS] = cornerRadius; + + 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(); + + DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION ); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< Vector4 >( "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 ); + } + + // animated vector image visual + { + VisualFactory factory = VisualFactory::Get(); + Property::Map properties; + float cornerRadius = 1.3f; + + properties[Visual::Property::TYPE] = DevelVisual::ANIMATED_VECTOR_IMAGE; + properties[ImageVisual::Property::URL] = TEST_VECTOR_IMAGE_FILE_NAME; + properties["cornerRadius"] = Vector4(1.0f, 100.0f, 10.0f, 0.1f); // Dummy Input + properties["cornerRadius"] = 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(); + + DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION ); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< Vector4 >( "cornerRadius", Vector4(cornerRadius, cornerRadius, cornerRadius, cornerRadius) ), true, TEST_LOCATION ); + DALI_TEST_EQUALS( application.GetGlAbstraction().CheckUniformValue< float >( "cornerRadiusPolicy", Toolkit::Visual::Transform::Policy::RELATIVE ), true, TEST_LOCATION ); } +#else + tet_result(TET_PASS); +#endif END_TEST; } @@ -3769,6 +3965,14 @@ int UtcDaliColorVisualBlurRadius(void) ToolkitTestApplication application; tet_infoline( "UtcDaliColorVisualBlurRadius" ); + static std::vector customUniforms = + { + UniformData("blurRadius", Property::Type::FLOAT), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + VisualFactory factory = VisualFactory::Get(); Property::Map properties; float blurRadius = 20.0f; @@ -3940,11 +4144,23 @@ int UtcDaliVisualGetVisualProperty01(void) ToolkitTestApplication application; tet_infoline( "UtcDaliVisualGetVisualProperty01: Test animatable property, Visual::Base, ColorVisual" ); + static std::vector customUniforms = + { + UniformData("mixColor", Property::Type::VECTOR3), + UniformData("offset", Property::Type::VECTOR2), + UniformData("size", Property::Type::VECTOR2), + UniformData("cornerRadius", Property::Type::VECTOR4), + UniformData("blurRadius", Property::Type::FLOAT), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + VisualFactory factory = VisualFactory::Get(); Property::Map propertyMap; 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, Vector4(10.0f, 0.0f, 2.0f, 4.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); @@ -3962,7 +4178,7 @@ int UtcDaliVisualGetVisualProperty01(void) Vector2 targetOffset(0.05f, 0.05f); Vector2 targetSize(1.1f, 1.1f); float targetOpacity = 0.5f; - float targetCornerRadius = 20.0f; + Vector4 targetCornerRadius(0.0f, 0.0f, 0.0f, 0.0f); float targetBlurRadius = 10.0f; Animation animation = Animation::New(1.0f); @@ -3998,9 +4214,9 @@ int UtcDaliVisualGetVisualProperty01(void) DALI_TEST_CHECK(sizeValue); DALI_TEST_EQUALS(sizeValue->Get(), targetSize, TEST_LOCATION); - Property::Value* cornerRadiusValue = resultMap.Find(DevelVisual::Property::CORNER_RADIUS, Property::FLOAT); + Property::Value* cornerRadiusValue = resultMap.Find(DevelVisual::Property::CORNER_RADIUS, Property::VECTOR4); DALI_TEST_CHECK(cornerRadiusValue); - DALI_TEST_EQUALS(cornerRadiusValue->Get< float >(), targetCornerRadius, TEST_LOCATION); + DALI_TEST_EQUALS(cornerRadiusValue->Get< Vector4 >(), targetCornerRadius, TEST_LOCATION); Property::Value* blurRadiusValue = resultMap.Find(DevelColorVisual::Property::BLUR_RADIUS, Property::FLOAT); DALI_TEST_CHECK(blurRadiusValue); @@ -4010,7 +4226,7 @@ int UtcDaliVisualGetVisualProperty01(void) DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("mixColor", targetColor), true, TEST_LOCATION); DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("offset", targetOffset), true, TEST_LOCATION); DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("size", targetSize), true, TEST_LOCATION); - DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("cornerRadius", targetCornerRadius), true, TEST_LOCATION); + DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("cornerRadius", targetCornerRadius), true, TEST_LOCATION); DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("blurRadius", targetBlurRadius), true, TEST_LOCATION); // Test not-supported property @@ -4028,13 +4244,6 @@ int UtcDaliVisualGetVisualProperty01(void) DALI_TEST_CHECK(!property3.object); DALI_TEST_CHECK(property3.propertyIndex == Property::INVALID_INDEX); - // Test after the control is unparented - dummyControl.Unparent(); - - Property property4 = DevelControl::GetVisualProperty(dummyControl, DummyControl::Property::TEST_VISUAL, Visual::Property::MIX_COLOR); - DALI_TEST_CHECK(!property4.object); - DALI_TEST_CHECK(property4.propertyIndex == Property::INVALID_INDEX); - END_TEST; } @@ -4043,6 +4252,18 @@ int UtcDaliVisualGetVisualProperty02(void) ToolkitTestApplication application; tet_infoline( "UtcDaliVisualGetVisualProperty02: Test animatable property" ); + static std::vector customUniforms = + { + UniformData("mixColor", Property::Type::VECTOR3), + UniformData("offset", Property::Type::VECTOR2), + UniformData("size", Property::Type::VECTOR2), + UniformData("cornerRadius", Property::Type::VECTOR4), + UniformData("blurRadius", Property::Type::FLOAT), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + VisualFactory factory = VisualFactory::Get(); Property::Map propertyMap; propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR); @@ -4061,7 +4282,7 @@ int UtcDaliVisualGetVisualProperty02(void) Vector2 targetOffset(0.05f, 0.05f); Vector2 targetSize(1.1f, 1.1f); float targetOpacity = 0.5f; - float targetCornerRadius = 20.0f; + Vector4 targetCornerRadius(20.0f, 0.0f, 20.0f, 0.0f); float targetBlurRadius = 10.0f; // Should work when the properties are not set before @@ -4098,29 +4319,40 @@ int UtcDaliVisualGetVisualProperty02(void) DALI_TEST_CHECK(sizeValue); DALI_TEST_EQUALS(sizeValue->Get(), targetSize, TEST_LOCATION); - Property::Value* cornerRadiusValue = resultMap.Find(DevelVisual::Property::CORNER_RADIUS, Property::FLOAT); + Property::Value* cornerRadiusValue = resultMap.Find(DevelVisual::Property::CORNER_RADIUS, Property::VECTOR4); DALI_TEST_CHECK(cornerRadiusValue); - DALI_TEST_EQUALS(cornerRadiusValue->Get< float >(), targetCornerRadius, TEST_LOCATION); + DALI_TEST_EQUALS(cornerRadiusValue->Get< Vector4 >(), targetCornerRadius, TEST_LOCATION); Property::Value* blurRadiusValue = resultMap.Find(DevelColorVisual::Property::BLUR_RADIUS, Property::FLOAT); DALI_TEST_CHECK(blurRadiusValue); DALI_TEST_EQUALS(blurRadiusValue->Get< float >(), targetBlurRadius, TEST_LOCATION); +#ifdef OLD_GRAPHICS_TEST // Test uniform values DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("mixColor", targetColor), true, TEST_LOCATION); DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("offset", targetOffset), true, TEST_LOCATION); DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("size", targetSize), true, TEST_LOCATION); - DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("cornerRadius", targetCornerRadius), true, TEST_LOCATION); + DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("cornerRadius", targetCornerRadius), true, TEST_LOCATION); DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("blurRadius", targetBlurRadius), true, TEST_LOCATION); +#endif END_TEST; } int UtcDaliVisualGetVisualProperty03(void) { +#ifdef OLD_GRAPHICS_TEST ToolkitTestApplication application; tet_infoline( "UtcDaliVisualGetVisualProperty01: Test animatable property, ImageVisual" ); + static std::vector customUniforms = + { + UniformData("cornerRadius", Property::Type::VECTOR4), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + VisualFactory factory = VisualFactory::Get(); Property::Map propertyMap; propertyMap.Insert(Visual::Property::TYPE, Visual::IMAGE); @@ -4140,7 +4372,7 @@ int UtcDaliVisualGetVisualProperty03(void) application.Render(); float targetOpacity = 0.5f; - float targetCornerRadius = 20.0f; + Vector4 targetCornerRadius(20.0f, 20.0f, 0.0f, 0.0f); Animation animation = Animation::New(1.0f); animation.AnimateTo(DevelControl::GetVisualProperty(dummyControl, DummyControl::Property::TEST_VISUAL, Visual::Property::OPACITY), targetOpacity); @@ -4159,21 +4391,33 @@ int UtcDaliVisualGetVisualProperty03(void) DALI_TEST_CHECK(colorValue); DALI_TEST_EQUALS(colorValue->Get(), Vector4(1.0f, 1.0f, 1.0f, targetOpacity), TEST_LOCATION); - Property::Value* cornerRadiusValue = resultMap.Find(DevelVisual::Property::CORNER_RADIUS, Property::FLOAT); + Property::Value* cornerRadiusValue = resultMap.Find(DevelVisual::Property::CORNER_RADIUS, Property::VECTOR4); DALI_TEST_CHECK(cornerRadiusValue); - DALI_TEST_EQUALS(cornerRadiusValue->Get< float >(), targetCornerRadius, TEST_LOCATION); + DALI_TEST_EQUALS(cornerRadiusValue->Get< Vector4 >(), targetCornerRadius, TEST_LOCATION); // Test uniform value - DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("cornerRadius", targetCornerRadius), true, TEST_LOCATION); + DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("cornerRadius", targetCornerRadius), true, TEST_LOCATION); +#else + tet_result(TET_PASS); +#endif END_TEST; } int UtcDaliVisualGetVisualProperty04(void) { +#ifdef OLD_GRAPHICS_TEST ToolkitTestApplication application; tet_infoline( "UtcDaliVisualGetVisualProperty01: Test animatable property, GradientVisual" ); + static std::vector customUniforms = + { + UniformData("cornerRadius", Property::Type::VECTOR4), + }; + + TestGraphicsController& graphics = application.GetGraphicsController(); + graphics.AddCustomUniforms(customUniforms); + Vector2 start(-1.f, -1.f); Vector2 end(1.f, 1.f); Property::Array stopColors; @@ -4200,7 +4444,7 @@ int UtcDaliVisualGetVisualProperty04(void) application.Render(); float targetOpacity = 0.5f; - float targetCornerRadius = 20.0f; + Vector4 targetCornerRadius(20.0f, 30.0f, 10.0f, 20.0f); Animation animation = Animation::New(1.0f); animation.AnimateTo(DevelControl::GetVisualProperty(dummyControl, DummyControl::Property::TEST_VISUAL, Visual::Property::OPACITY), targetOpacity); @@ -4219,12 +4463,15 @@ int UtcDaliVisualGetVisualProperty04(void) DALI_TEST_CHECK(colorValue); DALI_TEST_EQUALS(colorValue->Get(), Vector4(1.0f, 1.0f, 1.0f, targetOpacity), TEST_LOCATION); - Property::Value* cornerRadiusValue = resultMap.Find(DevelVisual::Property::CORNER_RADIUS, Property::FLOAT); + Property::Value* cornerRadiusValue = resultMap.Find(DevelVisual::Property::CORNER_RADIUS, Property::VECTOR4); DALI_TEST_CHECK(cornerRadiusValue); - DALI_TEST_EQUALS(cornerRadiusValue->Get< float >(), targetCornerRadius, TEST_LOCATION); + DALI_TEST_EQUALS(cornerRadiusValue->Get< Vector4 >(), targetCornerRadius, TEST_LOCATION); // Test uniform value - DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("cornerRadius", targetCornerRadius), true, TEST_LOCATION); + DALI_TEST_EQUALS(application.GetGlAbstraction().CheckUniformValue("cornerRadius", targetCornerRadius), true, TEST_LOCATION); +#else + tet_result(TET_PASS); +#endif END_TEST; }