/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
#include <stdlib.h>
#include <dali-toolkit-test-suite-utils.h>
#include <toolkit-event-thread-callback.h>
-#include <dali/devel-api/rendering/renderer.h>
-#include <dali/devel-api/rendering/texture-set.h>
-#include <dali/devel-api/rendering/shader.h>
+#include <dali/public-api/rendering/renderer.h>
+#include <dali/public-api/rendering/texture-set.h>
+#include <dali/public-api/rendering/shader.h>
#include <dali-toolkit/devel-api/controls/renderer-factory/renderer-factory.h>
using namespace Dali;
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();
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();
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();
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();
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();
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
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
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
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();
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.
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();
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();
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();
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();
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();
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();
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();
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();
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();
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();
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.
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.
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.
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.
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.
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.
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<Vector4>( "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<Vector4>( "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<Vector4>( "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<Vector4>( "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<std::string>(), 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<Matrix>( "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<Vector4>( "mixColor", actualValue ) );
- DALI_TEST_EQUALS( actualValue, Color::GREEN, TEST_LOCATION );
-
- //******
-
- END_TEST;
-}