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-RendererFactory.cpp;h=0e33b722eb0b02713b668d7764907474ce1ca4df;hp=d81326119df93bf78c99a5d26510101de9fe1cce;hb=9aece33ac67480cc57ed5d86ab4370fe313330ee;hpb=f5cb40c6bbbf566541637d09126e1f3c1984de89 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-RendererFactory.cpp b/automated-tests/src/dali-toolkit/utc-Dali-RendererFactory.cpp index d813261..0e33b72 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-RendererFactory.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-RendererFactory.cpp @@ -31,7 +31,8 @@ namespace typedef NinePatchImage::StretchRanges StretchRanges; const char* TEST_IMAGE_FILE_NAME = "gallery_image_01.jpg"; -const char* TEST_NPATCH_FILE_NAME = "gallery_image_01.9.jpg"; +const char* TEST_NPATCH_FILE_NAME = "gallery_image_01.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"; @@ -165,7 +166,8 @@ Integration::ResourcePointer CustomizeNinePatch( TestApplication& application, tet_infoline("Getting resource"); Integration::ResourcePointer resourcePtr(bitmap); - platform.SetResourceLoaded( 0, Dali::Integration::ResourceBitmap, resourcePtr ); + //platform.SetResourceLoaded( 0, Dali::Integration::ResourceBitmap, resourcePtr ); + platform.SetSynchronouslyLoadedResource( resourcePtr); return resourcePtr; } @@ -294,7 +296,7 @@ int UtcDaliRendererFactoryGetColorRenderer1(void) propertyMap.Insert("rendererType", "color"); propertyMap.Insert("mixColor", testColor); - ControlRenderer controlRenderer = factory.GetControlRenderer(propertyMap); + ControlRenderer controlRenderer = factory.CreateControlRenderer(propertyMap); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -317,7 +319,10 @@ int UtcDaliRendererFactoryGetColorRenderer2(void) DALI_TEST_CHECK( factory ); Vector4 testColor( 1.f, 0.5f, 0.3f, 0.2f ); - ControlRenderer controlRenderer = factory.GetControlRenderer(testColor); + Dali::Property::Map map; + map[ "rendererType" ] = "color"; + map[ "mixColor" ] = testColor; + ControlRenderer controlRenderer = factory.CreateControlRenderer( map ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -349,7 +354,7 @@ int UtcDaliRendererFactoryGetBorderRenderer1(void) propertyMap.Insert("borderColor", testColor); propertyMap.Insert("borderSize", testSize); - ControlRenderer controlRenderer = factory.GetControlRenderer(propertyMap); + ControlRenderer controlRenderer = factory.CreateControlRenderer(propertyMap); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -392,7 +397,11 @@ int UtcDaliRendererFactoryGetBorderRenderer2(void) Vector4 testColor( 1.f, 0.5f, 0.3f, 1.f ); float testSize = 5.f; - ControlRenderer controlRenderer = factory.GetControlRenderer(testSize, testColor ); + Dali::Property::Map propertyMap; + propertyMap[ "rendererType" ] = "border"; + propertyMap[ "borderColor" ] = testColor; + propertyMap[ "borderSize" ] = testSize; + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -422,7 +431,12 @@ int UtcDaliRendererFactoryGetBorderRenderer2(void) controlRenderer.SetOffStage( actor ); // enable the anti-aliasing - controlRenderer = factory.GetControlRenderer(testSize, testColor, true ); + Dali::Property::Map map; + map[ "rendererType" ] = "border"; + map[ "borderColor" ] = testColor; + map[ "borderSize" ] = testSize; + map[ "antiAliasing" ] = true; + controlRenderer = factory.CreateControlRenderer( map ); controlRenderer.SetOnStage( actor ); application.SendNotification(); @@ -460,7 +474,7 @@ int UtcDaliRendererFactoryGetLinearGradientRenderer(void) stopColors.PushBack( Color::GREEN ); propertyMap.Insert("stopColor", stopColors); - ControlRenderer controlRenderer = factory.GetControlRenderer(propertyMap); + ControlRenderer controlRenderer = factory.CreateControlRenderer(propertyMap); DALI_TEST_CHECK( controlRenderer ); // A lookup texture is generated and pass to shader as sampler @@ -500,7 +514,7 @@ int UtcDaliRendererFactoryGetRadialGradientRenderer(void) stopColors.PushBack( Color::GREEN ); propertyMap.Insert("stopColor", stopColors); - ControlRenderer controlRenderer = factory.GetControlRenderer(propertyMap); + ControlRenderer controlRenderer = factory.CreateControlRenderer(propertyMap); DALI_TEST_CHECK( controlRenderer ); // A lookup texture is generated and pass to shader as sampler @@ -540,7 +554,7 @@ int UtcDaliRendererFactoryDefaultOffsetsGradientRenderer(void) stopColors.PushBack( Color::GREEN ); propertyMap.Insert("stopColor", stopColors); - ControlRenderer controlRenderer = factory.GetControlRenderer(propertyMap); + ControlRenderer controlRenderer = factory.CreateControlRenderer(propertyMap); DALI_TEST_CHECK( controlRenderer ); // A lookup texture is generated and pass to shader as sampler @@ -565,7 +579,7 @@ int UtcDaliRendererFactoryGetImageRenderer1(void) propertyMap.Insert( "rendererType", "image" ); propertyMap.Insert( "url", TEST_IMAGE_FILE_NAME ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -602,7 +616,7 @@ int UtcDaliRendererFactoryGetImageRenderer2(void) DALI_TEST_CHECK( factory ); Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME); - ControlRenderer controlRenderer = factory.GetControlRenderer( image ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( image ); Actor actor = Actor::New(); // For tesing the LoadResourceFunc is called, a big image size should be set, so the atlasing is not applied. @@ -648,7 +662,7 @@ int UtcDaliRendererFactoryGetNPatchRenderer1(void) propertyMap.Insert( "url", TEST_NPATCH_FILE_NAME ); { tet_infoline( "whole grid" ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -667,7 +681,7 @@ int UtcDaliRendererFactoryGetNPatchRenderer1(void) propertyMap.Insert( "borderOnly", true ); { tet_infoline( "border only" ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -711,7 +725,7 @@ int UtcDaliRendererFactoryGetNPatchRenderer2(void) propertyMap.Insert( "rendererType", "image" ); propertyMap.Insert( "url", TEST_NPATCH_FILE_NAME ); { - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -733,7 +747,7 @@ int UtcDaliRendererFactoryGetNPatchRenderer2(void) propertyMap.Insert( "borderOnly", true ); { tet_infoline( "border only" ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); TestGlAbstraction& gl = application.GetGlAbstraction(); @@ -770,7 +784,7 @@ int UtcDaliRendererFactoryGetNPatchRenderer3(void) stretchRangesY.PushBack( Uint16Pair( 4, 5 ) ); Integration::ResourcePointer ninePatchResource = CustomizeNinePatch( application, ninePatchImageWidth, ninePatchImageHeight, stretchRangesX, stretchRangesY ); - ControlRenderer controlRenderer = factory.GetControlRenderer( TEST_NPATCH_FILE_NAME ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( TEST_NPATCH_FILE_NAME, ImageDimensions() ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -809,7 +823,7 @@ int UtcDaliRendererFactoryGetNPatchRenderer4(void) stretchRangesY.PushBack( Uint16Pair( 25, 27 ) ); Integration::ResourcePointer ninePatchResource = CustomizeNinePatch( application, ninePatchImageWidth, ninePatchImageHeight, stretchRangesX, stretchRangesY ); - ControlRenderer controlRenderer = factory.GetControlRenderer( TEST_NPATCH_FILE_NAME ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( TEST_NPATCH_FILE_NAME, ImageDimensions() ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -837,7 +851,7 @@ int UtcDaliRendererFactoryGetNPatchRendererN1(void) RendererFactory factory = RendererFactory::Get(); DALI_TEST_CHECK( factory ); - ControlRenderer controlRenderer = factory.GetControlRenderer( "ERROR.9.jpg" ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( "ERROR.9.jpg", ImageDimensions() ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -873,7 +887,7 @@ int UtcDaliRendererFactoryGetNPatchRendererN2(void) propertyMap.Insert( "rendererType", 111 ); propertyMap.Insert( "url", "ERROR.9.jpg" ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -901,7 +915,7 @@ int UtcDaliRendererFactoryGetSvgRenderer(void) tet_infoline( "UtcDaliRendererFactoryGetSvgRenderer: Request svg renderer with a svg url" ); RendererFactory factory = RendererFactory::Get(); - ControlRenderer controlRenderer = factory.GetControlRenderer( TEST_SVG_FILE_NAME ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( TEST_SVG_FILE_NAME, ImageDimensions() ); DALI_TEST_CHECK( controlRenderer ); TestGlAbstraction& gl = application.GetGlAbstraction(); @@ -949,7 +963,7 @@ int UtcDaliRendererFactoryGetMeshRenderer1(void) propertyMap.Insert( "rendererType", "mesh" ); propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); Actor actor = Actor::New(); @@ -1003,7 +1017,7 @@ int UtcDaliRendererFactoryGetMeshRenderer2(void) propertyMap.Insert( "materialUrl", "" ); propertyMap.Insert( "texturesPath", "" ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); //Add renderer to an actor on stage. @@ -1059,7 +1073,7 @@ int UtcDaliRendererFactoryGetMeshRenderer3(void) propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME ); propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); //Add renderer to an actor on stage. @@ -1115,7 +1129,7 @@ int UtcDaliRendererFactoryGetMeshRenderer4(void) propertyMap.Insert( "materialUrl", TEST_SIMPLE_MTL_FILE_NAME ); propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); //Add renderer to an actor on stage. @@ -1170,7 +1184,7 @@ int UtcDaliRendererFactoryGetMeshRendererN1(void) propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME ); propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); //Add renderer to an actor on stage. @@ -1222,7 +1236,7 @@ int UtcDaliRendererFactoryGetMeshRendererN2(void) propertyMap.Insert( "materialUrl", "invalid" ); propertyMap.Insert( "texturesPath", "also invalid" ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); //Add renderer to an actor on stage. @@ -1274,7 +1288,7 @@ int UtcDaliRendererFactoryGetMeshRendererN3(void) propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME ); propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" ); - ControlRenderer controlRenderer = factory.GetControlRenderer( propertyMap ); + ControlRenderer controlRenderer = factory.CreateControlRenderer( propertyMap ); DALI_TEST_CHECK( controlRenderer ); //Add renderer to an actor on stage. @@ -1309,204 +1323,3 @@ int UtcDaliRendererFactoryGetMeshRendererN3(void) END_TEST; } - -int UtcDaliRendererFactoryResetRenderer1(void) -{ - ToolkitTestApplication application; - tet_infoline( "UtcDaliRendererFactoryResetRenderer1" ); - - RendererFactory factory = RendererFactory::Get(); - DALI_TEST_CHECK( factory ); - - ControlRenderer controlRenderer = factory.GetControlRenderer( Color::RED ); - DALI_TEST_CHECK( controlRenderer ); - - Actor actor = Actor::New(); - TestControlRendererRender( application, actor, controlRenderer ); - - Vector4 actualValue(Vector4::ZERO); - TestGlAbstraction& gl = application.GetGlAbstraction(); - DALI_TEST_CHECK( gl.GetUniformValue( "mixColor", actualValue ) ); - DALI_TEST_EQUALS( actualValue, Color::RED, TEST_LOCATION ); - - factory.ResetRenderer( controlRenderer, actor, Color::GREEN ); - application.SendNotification(); - application.Render(0); - DALI_TEST_CHECK( gl.GetUniformValue( "mixColor", actualValue ) ); - DALI_TEST_EQUALS( actualValue, Color::GREEN, TEST_LOCATION ); - - Image bufferImage = CreateBufferImage( 100, 200, Vector4( 1.f, 1.f, 1.f, 1.f ) ); - factory.ResetRenderer( controlRenderer, actor, bufferImage ); - - Actor actor2 = Actor::New(); - actor2.SetSize(200.f, 200.f); - Stage::GetCurrent().Add( actor2 ); - controlRenderer.SetSize(Vector2(200.f, 200.f)); - controlRenderer.SetOnStage( actor2 ); - application.SendNotification(); - application.Render(0); - - END_TEST; -} - -int UtcDaliRendererFactoryResetRenderer2(void) -{ - ToolkitTestApplication application; - tet_infoline( "UtcDaliRendererFactoryResetRenderer2" ); - - Actor actor = Actor::New(); - actor.SetSize(200.f, 200.f); - Stage::GetCurrent().Add( actor ); - RendererFactory factory = RendererFactory::Get(); - DALI_TEST_CHECK( factory ); - - Image resourceImage = ResourceImage::New(TEST_IMAGE_FILE_NAME); - ControlRenderer controlRenderer = factory.GetControlRenderer( resourceImage ); - DALI_TEST_CHECK( controlRenderer ); - controlRenderer.SetSize(Vector2(200.f, 200.f)); - controlRenderer.SetOnStage( actor ); - DALI_TEST_CHECK( actor.GetRendererCount() == 1u ); - - application.SendNotification(); - application.Render(0); - - Image bufferImage = CreateBufferImage( 100, 200, Vector4( 1.f, 1.f, 1.f, 1.f ) ); - factory.ResetRenderer( controlRenderer, actor, bufferImage ); - application.SendNotification(); - application.Render(0); - - factory.ResetRenderer( controlRenderer, actor, Color::RED ); - - Actor actor2 = Actor::New(); - actor2.SetSize(200.f, 200.f); - Stage::GetCurrent().Add( actor2 ); - controlRenderer.SetSize(Vector2(200.f, 200.f)); - controlRenderer.SetOnStage( actor2 ); - TestGlAbstraction& gl = application.GetGlAbstraction(); - application.SendNotification(); - application.Render(0); - Vector4 actualValue(Vector4::ZERO); - DALI_TEST_CHECK( gl.GetUniformValue( "mixColor", actualValue ) ); - DALI_TEST_EQUALS( actualValue, Color::RED, TEST_LOCATION ); - - END_TEST; -} - -int UtcDaliRendererFactoryResetRenderer3(void) -{ - ToolkitTestApplication application; - tet_infoline( "UtcDaliRendererFactoryResetRenderer3" ); - - Actor actor = Actor::New(); - actor.SetSize(200.f, 200.f); - Stage::GetCurrent().Add( actor ); - RendererFactory factory = RendererFactory::Get(); - DALI_TEST_CHECK( factory ); - - // Get renderer for rendering a resource image - Image resourceImage = ResourceImage::New(TEST_IMAGE_FILE_NAME); - ControlRenderer controlRenderer = factory.GetControlRenderer( resourceImage ); - DALI_TEST_CHECK( controlRenderer ); - controlRenderer.SetSize(Vector2(200.f, 200.f)); - controlRenderer.SetOnStage( actor ); - application.SendNotification(); - application.Render(); - - DALI_TEST_CHECK( actor.GetRendererCount() == 1u ); - - // reset the renderer to renderer a svg image - factory.ResetRenderer( controlRenderer, actor, TEST_SVG_FILE_NAME, ImageDimensions( 100, 100 ) ); - application.SendNotification(); - application.Render(); - - DALI_TEST_CHECK( actor.GetRendererCount() == 1u ); - - EventThreadCallback* eventTrigger = EventThreadCallback::Get(); - CallbackBase* callback = eventTrigger->GetCallback(); - - eventTrigger->WaitingForTrigger( 1 );// waiting until the svg image is rasterized. - CallbackBase::Execute( *callback ); - - END_TEST; -} - -//Test resetting mesh and primitive shape renderers -int UtcDaliRendererFactoryResetRenderer4(void) -{ - ToolkitTestApplication application; - tet_infoline( "UtcDaliRendererFactoryResetRenderer4: Mesh and primitive renderers" ); - - Actor actor = Actor::New(); - actor.SetSize( 200.f, 200.f ); - Stage::GetCurrent().Add( actor ); - RendererFactory factory = RendererFactory::Get(); - DALI_TEST_CHECK( factory ); - - Property::Map map; - - //****** - - //Start with basic color renderer - ControlRenderer controlRenderer = factory.GetControlRenderer( Color::RED ); - DALI_TEST_CHECK( controlRenderer ); - - TestControlRendererRender( application, actor, controlRenderer ); - - DALI_TEST_CHECK( actor.GetRendererCount() == 1u ); - - //Ensure set correctly. - Vector4 actualValue( Vector4::ZERO ); - TestGlAbstraction& gl = application.GetGlAbstraction(); - DALI_TEST_CHECK( gl.GetUniformValue( "mixColor", actualValue ) ); - DALI_TEST_EQUALS( actualValue, Color::RED, TEST_LOCATION ); - - //****** - - //Reset to mesh renderer - map.Insert( "rendererType", "mesh" ); - map.Insert( "objectUrl", TEST_OBJ_FILE_NAME ); - map.Insert( "materialUrl", TEST_MTL_FILE_NAME ); - map.Insert( "texturesPath", TEST_RESOURCE_DIR "/" ); - factory.ResetRenderer( controlRenderer, actor, map ); - application.SendNotification(); - application.Render( 0 ); - - DALI_TEST_CHECK( actor.GetRendererCount() == 1u ); - - //Tell the platform abstraction that the required resources have been loaded. - TestPlatformAbstraction& platform = application.GetPlatform(); - platform.SetAllResourceRequestsAsLoaded(); - - //Render again to upload the now-loaded textures. - application.SendNotification(); - application.Render( 0 ); - - //Ensure set correctly. - controlRenderer.CreatePropertyMap( map ); - DALI_TEST_EQUALS( map.Find( "objectUrl", Property::STRING )->Get(), TEST_OBJ_FILE_NAME, TEST_LOCATION ); - - Matrix testScaleMatrix; - testScaleMatrix.SetIdentityAndScale( Vector3( 1.0, -1.0, 1.0 ) ); - Matrix actualScaleMatrix; - - //Test to see if the object has been successfully loaded. - DALI_TEST_CHECK( gl.GetUniformValue( "uObjectMatrix", actualScaleMatrix ) ); - DALI_TEST_EQUALS( actualScaleMatrix, testScaleMatrix, Math::MACHINE_EPSILON_100, TEST_LOCATION ); - - //****** - - //Reset back to color renderer - factory.ResetRenderer( controlRenderer, actor, Color::GREEN ); - application.SendNotification(); - application.Render( 0 ); - - DALI_TEST_CHECK( actor.GetRendererCount() == 1u ); - - //Ensure set correctly. - DALI_TEST_CHECK( gl.GetUniformValue( "mixColor", actualValue ) ); - DALI_TEST_EQUALS( actualValue, Color::GREEN, TEST_LOCATION ); - - //****** - - END_TEST; -}