#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/visual-factory/visual-factory.h>
+#include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
+#include <dali-toolkit/dali-toolkit.h>
using namespace Dali;
using namespace Dali::Toolkit;
void TestVisualRender( ToolkitTestApplication& application,
Actor& actor,
- Visual& visual,
+ Visual::Base& visual,
std::size_t expectedSamplers = 0,
ImageDimensions imageDimensions = ImageDimensions(),
Integration::ResourcePointer resourcePtr = Integration::ResourcePointer())
Property::Map propertyMap;
Vector4 testColor( 1.f, 0.5f, 0.3f, 0.2f );
- propertyMap.Insert("rendererType", "COLOR");
- propertyMap.Insert("mixColor", testColor);
+ propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR);
+ propertyMap.Insert(ColorVisual::Property::MIX_COLOR, testColor);
- Visual visual = factory.CreateVisual(propertyMap);
+ Visual::Base visual = factory.CreateVisual(propertyMap);
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
Vector4 testColor( 1.f, 0.5f, 0.3f, 0.2f );
Dali::Property::Map map;
- map[ "rendererType" ] = "COLOR";
- map[ "mixColor" ] = testColor;
- Visual visual = factory.CreateVisual( map );
+ map[ Visual::Property::TYPE ] = Visual::COLOR;
+ map[ ColorVisual::Property::MIX_COLOR ] = testColor;
+ Visual::Base visual = factory.CreateVisual( map );
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
Property::Map propertyMap;
Vector4 testColor( 1.f, 0.5f, 0.3f, 0.2f );
float testSize = 5.f;
- propertyMap.Insert("rendererType", "BORDER");
- propertyMap.Insert("borderColor", testColor);
- propertyMap.Insert("borderSize", testSize);
+ propertyMap.Insert(Visual::Property::TYPE, Visual::BORDER);
+ propertyMap.Insert(BorderVisual::Property::COLOR, testColor);
+ propertyMap.Insert(BorderVisual::Property::SIZE, testSize);
- Visual visual = factory.CreateVisual(propertyMap);
+ Visual::Base visual = factory.CreateVisual(propertyMap);
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
float testSize = 5.f;
Dali::Property::Map propertyMap;
- propertyMap[ "rendererType" ] = "BORDER";
- propertyMap[ "borderColor" ] = testColor;
- propertyMap[ "borderSize" ] = testSize;
- Visual visual = factory.CreateVisual( propertyMap );
+ propertyMap[ Visual::Property::TYPE ] = Visual::BORDER;
+ propertyMap[ BorderVisual::Property::COLOR ] = testColor;
+ propertyMap[ BorderVisual::Property::SIZE ] = testSize;
+ Visual::Base visual = factory.CreateVisual( propertyMap );
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
// enable the anti-aliasing
Dali::Property::Map map;
- map[ "rendererType" ] = "BORDER";
- map[ "borderColor" ] = testColor;
- map[ "borderSize" ] = testSize;
- map[ "antiAliasing" ] = true;
+ map[ Visual::Property::TYPE ] = Visual::BORDER;
+ map[ BorderVisual::Property::COLOR ] = testColor;
+ map[ BorderVisual::Property::SIZE ] = testSize;
+ map[ BorderVisual::Property::ANTI_ALIASING ] = true;
visual = factory.CreateVisual( map );
visual.SetOnStage( actor );
DALI_TEST_CHECK( factory );
Property::Map propertyMap;
- propertyMap.Insert("rendererType", "GRADIENT");
+ propertyMap.Insert(Visual::Property::TYPE, Visual::GRADIENT);
Vector2 start(-1.f, -1.f);
Vector2 end(1.f, 1.f);
- propertyMap.Insert("startPosition", start);
- propertyMap.Insert("endPosition", end);
- propertyMap.Insert("spreadMethod", "REPEAT");
+ propertyMap.Insert(GradientVisual::Property::START_POSITION, start);
+ propertyMap.Insert(GradientVisual::Property::END_POSITION, end);
+ propertyMap.Insert(GradientVisual::Property::SPREAD_METHOD, GradientVisual::SpreadMethod::REPEAT);
Property::Array stopOffsets;
stopOffsets.PushBack( 0.2f );
stopOffsets.PushBack( 0.8f );
- propertyMap.Insert("stopOffset", stopOffsets);
+ propertyMap.Insert(GradientVisual::Property::STOP_OFFSET, stopOffsets);
Property::Array stopColors;
stopColors.PushBack( Color::RED );
stopColors.PushBack( Color::GREEN );
- propertyMap.Insert("stopColor", stopColors);
+ propertyMap.Insert(GradientVisual::Property::STOP_COLOR, stopColors);
- Visual visual = factory.CreateVisual(propertyMap);
+ Visual::Base visual = factory.CreateVisual(propertyMap);
DALI_TEST_CHECK( visual );
// A lookup texture is generated and pass to shader as sampler
DALI_TEST_CHECK( factory );
Property::Map propertyMap;
- propertyMap.Insert("rendererType", "GRADIENT");
+ propertyMap.Insert(Visual::Property::TYPE, Visual::GRADIENT);
Vector2 center(100.f, 100.f);
float radius = 100.f;
- propertyMap.Insert("units", "USER_SPACE");
- propertyMap.Insert("center", center);
- propertyMap.Insert("radius", radius);
+ propertyMap.Insert(GradientVisual::Property::UNITS, GradientVisual::Units::USER_SPACE);
+ propertyMap.Insert(GradientVisual::Property::CENTER, center);
+ propertyMap.Insert(GradientVisual::Property::RADIUS, radius);
Property::Array stopOffsets;
stopOffsets.PushBack( 0.0f );
stopOffsets.PushBack( 1.f );
- propertyMap.Insert("stopOffset", stopOffsets);
+ propertyMap.Insert(GradientVisual::Property::STOP_OFFSET, stopOffsets);
Property::Array stopColors;
stopColors.PushBack( Color::RED );
stopColors.PushBack( Color::GREEN );
- propertyMap.Insert("stopColor", stopColors);
+ propertyMap.Insert(GradientVisual::Property::STOP_COLOR, stopColors);
- Visual visual = factory.CreateVisual(propertyMap);
+ Visual::Base visual = factory.CreateVisual(propertyMap);
DALI_TEST_CHECK( visual );
// A lookup texture is generated and pass to shader as sampler
DALI_TEST_CHECK( factory );
Property::Map propertyMap;
- propertyMap.Insert("rendererType", "GRADIENT");
+ propertyMap.Insert(Visual::Property::TYPE, Visual::GRADIENT);
Vector2 start(-1.f, -1.f);
Vector2 end(1.f, 1.f);
- propertyMap.Insert("startPosition", start);
- propertyMap.Insert("endPosition", end);
- propertyMap.Insert("spreadMethod", "REPEAT");
+ propertyMap.Insert(GradientVisual::Property::START_POSITION, start);
+ propertyMap.Insert(GradientVisual::Property::END_POSITION, end);
+ propertyMap.Insert(GradientVisual::Property::SPREAD_METHOD, GradientVisual::SpreadMethod::REPEAT);
Property::Array stopColors;
stopColors.PushBack( Color::RED );
stopColors.PushBack( Color::GREEN );
- propertyMap.Insert("stopColor", stopColors);
+ propertyMap.Insert(GradientVisual::Property::STOP_COLOR, stopColors);
- Visual visual = factory.CreateVisual(propertyMap);
+ Visual::Base visual = factory.CreateVisual(propertyMap);
DALI_TEST_CHECK( visual );
// A lookup texture is generated and pass to shader as sampler
DALI_TEST_CHECK( factory );
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "IMAGE" );
- propertyMap.Insert( "url", TEST_IMAGE_FILE_NAME );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::IMAGE );
+ propertyMap.Insert( ImageVisual::Property::URL, TEST_IMAGE_FILE_NAME );
- Visual visual = factory.CreateVisual( propertyMap );
+ Visual::Base visual = factory.CreateVisual( propertyMap );
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
DALI_TEST_CHECK( factory );
Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME);
- Visual visual = factory.CreateVisual( image );
+ Visual::Base visual = factory.CreateVisual( image );
Actor actor = Actor::New();
// For tesing the LoadResourceFunc is called, a big image size should be set, so the atlasing is not applied.
Integration::ResourcePointer ninePatchResource = CustomizeNinePatch( application, ninePatchImageWidth, ninePatchImageHeight, stretchRangesX, stretchRangesY );
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "IMAGE" );
- propertyMap.Insert( "url", TEST_NPATCH_FILE_NAME );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::IMAGE );
+ propertyMap.Insert( ImageVisual::Property::URL, TEST_NPATCH_FILE_NAME );
{
tet_infoline( "whole grid" );
- Visual visual = factory.CreateVisual( propertyMap );
+ Visual::Base visual = factory.CreateVisual( propertyMap );
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
DALI_TEST_EQUALS( textureTrace.FindMethod("BindTexture"), true, TEST_LOCATION );
}
- propertyMap.Insert( "borderOnly", true );
+ propertyMap.Insert( ImageVisual::Property::BORDER_ONLY, true );
{
tet_infoline( "border only" );
- Visual visual = factory.CreateVisual( propertyMap );
+ Visual::Base visual = factory.CreateVisual( propertyMap );
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
Integration::ResourcePointer ninePatchResource = CustomizeNinePatch( application, ninePatchImageWidth, ninePatchImageHeight, stretchRangesX, stretchRangesY );
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "IMAGE" );
- propertyMap.Insert( "url", TEST_NPATCH_FILE_NAME );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::IMAGE );
+ propertyMap.Insert( ImageVisual::Property::URL, TEST_NPATCH_FILE_NAME );
{
- Visual visual = factory.CreateVisual( propertyMap );
+ Visual::Base visual = factory.CreateVisual( propertyMap );
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
}
- propertyMap.Insert( "borderOnly", true );
+ propertyMap.Insert( ImageVisual::Property::BORDER_ONLY, true );
{
tet_infoline( "border only" );
- Visual visual = factory.CreateVisual( propertyMap );
+ Visual::Base visual = factory.CreateVisual( propertyMap );
DALI_TEST_CHECK( visual );
TestGlAbstraction& gl = application.GetGlAbstraction();
stretchRangesY.PushBack( Uint16Pair( 4, 5 ) );
Integration::ResourcePointer ninePatchResource = CustomizeNinePatch( application, ninePatchImageWidth, ninePatchImageHeight, stretchRangesX, stretchRangesY );
- Visual visual = factory.CreateVisual( TEST_NPATCH_FILE_NAME, ImageDimensions() );
+ Visual::Base visual = factory.CreateVisual( TEST_NPATCH_FILE_NAME, ImageDimensions() );
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
stretchRangesY.PushBack( Uint16Pair( 25, 27 ) );
Integration::ResourcePointer ninePatchResource = CustomizeNinePatch( application, ninePatchImageWidth, ninePatchImageHeight, stretchRangesX, stretchRangesY );
- Visual visual = factory.CreateVisual( TEST_NPATCH_FILE_NAME, ImageDimensions() );
+ Visual::Base visual = factory.CreateVisual( TEST_NPATCH_FILE_NAME, ImageDimensions() );
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
VisualFactory factory = VisualFactory::Get();
DALI_TEST_CHECK( factory );
- Visual visual = factory.CreateVisual( "ERROR.9.jpg", ImageDimensions() );
+ Visual::Base visual = factory.CreateVisual( "ERROR.9.jpg", ImageDimensions() );
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
DALI_TEST_CHECK( factory );
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", 111 );
- propertyMap.Insert( "url", "ERROR.9.jpg" );
+ propertyMap.Insert( Visual::Property::TYPE, 111 );
+ propertyMap.Insert( ImageVisual::Property::URL, "ERROR.9.jpg" );
- Visual visual = factory.CreateVisual( propertyMap );
+ Visual::Base visual = factory.CreateVisual( propertyMap );
DALI_TEST_CHECK( visual );
Actor actor = Actor::New();
tet_infoline( "UtcDaliVisualFactoryGetSvgVisual: Request svg visual with a svg url" );
VisualFactory factory = VisualFactory::Get();
- Visual visual = factory.CreateVisual( TEST_SVG_FILE_NAME, ImageDimensions() );
+ Visual::Base visual = factory.CreateVisual( TEST_SVG_FILE_NAME, ImageDimensions() );
DALI_TEST_CHECK( visual );
TestGlAbstraction& gl = application.GetGlAbstraction();
DALI_TEST_CHECK( factory );
//Create a mesh visual.
- Visual visual = factory.CreateVisual( propertyMap );
+ Visual::Base visual = factory.CreateVisual( propertyMap );
DALI_TEST_CHECK( visual );
//Create an actor on stage to house the visual.
DALI_TEST_CHECK( factory );
//Create a mesh visual.
- Visual visual = factory.CreateVisual( propertyMap );
+ Visual::Base visual = factory.CreateVisual( propertyMap );
DALI_TEST_CHECK( visual );
//Create an actor on stage to house the visual.
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::OBJECT_URL, TEST_OBJ_FILE_NAME );
//Test to see if mesh loads correctly.
MeshVisualLoadsCorrectlyTest( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME );
- propertyMap.Insert( "materialUrl", "" );
- propertyMap.Insert( "texturesPath", "" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::OBJECT_URL, TEST_OBJ_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::MATERIAL_URL, "" );
+ propertyMap.Insert( MeshVisual::Property::TEXTURES_PATH, "" );
//Test to see if mesh loads correctly.
MeshVisualLoadsCorrectlyTest( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME );
- propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME );
- propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::OBJECT_URL, TEST_OBJ_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::MATERIAL_URL, TEST_MTL_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::TEXTURES_PATH, TEST_RESOURCE_DIR "/" );
//Test to see if mesh loads correctly.
MeshVisualLoadsCorrectlyTest( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME );
- propertyMap.Insert( "materialUrl", TEST_SIMPLE_MTL_FILE_NAME );
- propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::OBJECT_URL, TEST_OBJ_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::MATERIAL_URL, TEST_SIMPLE_MTL_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::TEXTURES_PATH, TEST_RESOURCE_DIR "/" );
//Test to see if mesh loads correctly.
MeshVisualLoadsCorrectlyTest( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME );
- propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME );
- propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" );
- propertyMap.Insert( "shaderType", "DIFFUSE_TEXTURE" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::OBJECT_URL, TEST_OBJ_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::MATERIAL_URL, TEST_MTL_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::TEXTURES_PATH, TEST_RESOURCE_DIR "/" );
+ propertyMap.Insert( MeshVisual::Property::SHADING_MODE, MeshVisual::ShadingMode::TEXTURED_WITH_SPECULAR_LIGHTING );
//Test to see if mesh loads correctly.
MeshVisualLoadsCorrectlyTest( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME );
- propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME );
- propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" );
- propertyMap.Insert( "shaderType", "TEXTURELESS" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::OBJECT_URL, TEST_OBJ_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::MATERIAL_URL, TEST_MTL_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::TEXTURES_PATH, TEST_RESOURCE_DIR "/" );
+ propertyMap.Insert( MeshVisual::Property::SHADING_MODE, MeshVisual::ShadingMode::TEXTURELESS_WITH_DIFFUSE_LIGHTING );
//Test to see if mesh loads correctly.
MeshVisualLoadsCorrectlyTest( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME );
- propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME );
- propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" );
- propertyMap.Insert( "lightPosition", Vector3( 0.0, 1.0, 2.0 ) );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::OBJECT_URL, TEST_OBJ_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::MATERIAL_URL, TEST_MTL_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::TEXTURES_PATH, TEST_RESOURCE_DIR "/" );
+ propertyMap.Insert( MeshVisual::Property::LIGHT_POSITION, Vector3( 0.0, 1.0, 2.0 ) );
//Test to see if mesh loads correctly.
MeshVisualLoadsCorrectlyTest( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "objectUrl", TEST_SIMPLE_OBJ_FILE_NAME );
- propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME );
- propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::OBJECT_URL, TEST_SIMPLE_OBJ_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::MATERIAL_URL, TEST_MTL_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::TEXTURES_PATH, TEST_RESOURCE_DIR "/" );
//Test to see if mesh loads correctly.
MeshVisualLoadsCorrectlyTest( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME );
- propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::MATERIAL_URL, TEST_MTL_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::TEXTURES_PATH, TEST_RESOURCE_DIR "/" );
//Test to see if mesh doesn't load with these properties, as expected.
MeshVisualDoesNotLoadCorrectlyTest( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "objectUrl", TEST_OBJ_FILE_NAME );
- propertyMap.Insert( "materialUrl", "invalid" );
- propertyMap.Insert( "texturesPath", "also invalid" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::OBJECT_URL, TEST_OBJ_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::MATERIAL_URL, "invalid" );
+ propertyMap.Insert( MeshVisual::Property::TEXTURES_PATH, "also invalid" );
//Test to see if mesh doesn't load with these properties, as expected.
MeshVisualDoesNotLoadCorrectlyTest( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "MESH" );
- propertyMap.Insert( "objectUrl", "invalid" );
- propertyMap.Insert( "materialUrl", TEST_MTL_FILE_NAME );
- propertyMap.Insert( "texturesPath", TEST_RESOURCE_DIR "/" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::MESH );
+ propertyMap.Insert( MeshVisual::Property::OBJECT_URL, "invalid" );
+ propertyMap.Insert( MeshVisual::Property::MATERIAL_URL, TEST_MTL_FILE_NAME );
+ propertyMap.Insert( MeshVisual::Property::TEXTURES_PATH, TEST_RESOURCE_DIR "/" );
//Test to see if mesh doesn't load with these properties, as expected.
MeshVisualDoesNotLoadCorrectlyTest( propertyMap, application );
DALI_TEST_CHECK( factory );
//Create a primitive visual.
- Visual visual = factory.CreateVisual( propertyMap );
+ Visual::Base visual = factory.CreateVisual( propertyMap );
DALI_TEST_CHECK( visual );
//Create an actor on stage to house the visual.
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "PRIMITIVE" );
- propertyMap.Insert( "shape", "CUBE" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
+ propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::CUBE );
//Test to see if shape loads correctly.
TestPrimitiveVisualWithProperties( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "PRIMITIVE" );
- propertyMap.Insert( "shape", "CUBE" );
- propertyMap.Insert( "shapeColor", Vector4( 0.5, 0.5, 0.5, 1.0 ) );
- propertyMap.Insert( "slices", 10 );
- propertyMap.Insert( "stacks", 20 );
- propertyMap.Insert( "scaleTopRadius", 30.0f );
- propertyMap.Insert( "scaleBottomRadius", 40.0f );
- propertyMap.Insert( "scaleHeight", 50.0f );
- propertyMap.Insert( "scaleRadius", 60.0f );
- propertyMap.Insert( "bevelPercentage", 0.7f );
- propertyMap.Insert( "bevelSmoothness", 0.8f );
- propertyMap.Insert( "lightPosition", Vector3( 0.9, 1.0, 1.1 ) );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
+ propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::CUBE );
+ propertyMap.Insert( PrimitiveVisual::Property::COLOR, Vector4( 0.5, 0.5, 0.5, 1.0 ) );
+ propertyMap.Insert( PrimitiveVisual::Property::SLICES, 10 );
+ propertyMap.Insert( PrimitiveVisual::Property::STACKS, 20 );
+ propertyMap.Insert( PrimitiveVisual::Property::SCALE_TOP_RADIUS, 30.0f );
+ propertyMap.Insert( PrimitiveVisual::Property::SCALE_BOTTOM_RADIUS, 40.0f );
+ propertyMap.Insert( PrimitiveVisual::Property::SCALE_HEIGHT, 50.0f );
+ propertyMap.Insert( PrimitiveVisual::Property::SCALE_RADIUS, 60.0f );
+ propertyMap.Insert( PrimitiveVisual::Property::BEVEL_PERCENTAGE, 0.7f );
+ propertyMap.Insert( PrimitiveVisual::Property::BEVEL_SMOOTHNESS, 0.8f );
+ propertyMap.Insert( MeshVisual::Property::LIGHT_POSITION, Vector3( 0.9, 1.0, 1.1 ) );
//Test to see if shape loads correctly.
TestPrimitiveVisualWithProperties( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "PRIMITIVE" );
- propertyMap.Insert( "shape", "SPHERE" );
- propertyMap.Insert( "shapeColor", Vector4( 0.5, 0.5, 0.5, 1.0 ) );
- propertyMap.Insert( "slices", 10 );
- propertyMap.Insert( "stacks", 20 );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
+ propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
+ propertyMap.Insert( PrimitiveVisual::Property::COLOR, Vector4( 0.5, 0.5, 0.5, 1.0 ) );
+ propertyMap.Insert( PrimitiveVisual::Property::SLICES, 10 );
+ propertyMap.Insert( PrimitiveVisual::Property::STACKS, 20 );
//Test to see if shape loads correctly.
TestPrimitiveVisualWithProperties( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "PRIMITIVE" );
- propertyMap.Insert( "shape", "CONICAL_FRUSTRUM" );
- propertyMap.Insert( "shapeColor", Vector4( 0.5, 0.5, 0.5, 1.0 ) );
- propertyMap.Insert( "slices", 10 );
- propertyMap.Insert( "scaleTopRadius", 30.0f );
- propertyMap.Insert( "scaleBottomRadius", 40.0f );
- propertyMap.Insert( "scaleHeight", 50.0f );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
+ propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::CONICAL_FRUSTRUM );
+ propertyMap.Insert( PrimitiveVisual::Property::COLOR, Vector4( 0.5, 0.5, 0.5, 1.0 ) );
+ propertyMap.Insert( PrimitiveVisual::Property::SLICES, 10 );
+ propertyMap.Insert( PrimitiveVisual::Property::SCALE_TOP_RADIUS, 30.0f );
+ propertyMap.Insert( PrimitiveVisual::Property::SCALE_BOTTOM_RADIUS, 40.0f );
+ propertyMap.Insert( PrimitiveVisual::Property::SCALE_HEIGHT, 50.0f );
//Test to see if shape loads correctly.
TestPrimitiveVisualWithProperties( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "PRIMITIVE" );
- propertyMap.Insert( "shape", "BEVELLED_CUBE" );
- propertyMap.Insert( "shapeColor", Vector4( 0.5, 0.5, 0.5, 1.0 ) );
- propertyMap.Insert( "bevelPercentage", 0.7f );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
+ propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::BEVELLED_CUBE );
+ propertyMap.Insert( PrimitiveVisual::Property::COLOR, Vector4( 0.5, 0.5, 0.5, 1.0 ) );
+ propertyMap.Insert( PrimitiveVisual::Property::BEVEL_PERCENTAGE, 0.7f );
//Test to see if shape loads correctly.
TestPrimitiveVisualWithProperties( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "PRIMITIVE" );
- propertyMap.Insert( "shape", "OCTAHEDRON" );
- propertyMap.Insert( "shapeColor", Vector4( 0.5, 0.5, 0.5, 1.0 ) );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
+ propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::OCTAHEDRON );
+ propertyMap.Insert( PrimitiveVisual::Property::COLOR, Vector4( 0.5, 0.5, 0.5, 1.0 ) );
//Test to see if shape loads correctly.
TestPrimitiveVisualWithProperties( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "PRIMITIVE" );
- propertyMap.Insert( "shape", "CONE" );
- propertyMap.Insert( "shapeColor", Vector4( 0.5, 0.5, 0.5, 1.0 ) );
- propertyMap.Insert( "slices", 10 );
- propertyMap.Insert( "scaleTopRadius", 30.0f );
- propertyMap.Insert( "scaleHeight", 50.0f );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
+ propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::CONE );
+ propertyMap.Insert( PrimitiveVisual::Property::COLOR, Vector4( 0.5, 0.5, 0.5, 1.0 ) );
+ propertyMap.Insert( PrimitiveVisual::Property::SLICES, 10 );
+ propertyMap.Insert( PrimitiveVisual::Property::SCALE_TOP_RADIUS, 30.0f );
+ propertyMap.Insert( PrimitiveVisual::Property::SCALE_HEIGHT, 50.0f );
//Test to see if shape loads correctly.
TestPrimitiveVisualWithProperties( propertyMap, application );
//Set up visual properties.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "PRIMITIVE" );
- propertyMap.Insert( "shape", "SPHERE" );
- propertyMap.Insert( "shapeColor", Vector4( 0.5, 0.5, 0.5, 1.0 ) );
- propertyMap.Insert( "lightPosition", Vector3( 0.0, 1.0, 2.0 ) );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
+ propertyMap.Insert( PrimitiveVisual::Property::SHAPE, PrimitiveVisual::Shape::SPHERE );
+ propertyMap.Insert( PrimitiveVisual::Property::COLOR, Vector4( 0.5, 0.5, 0.5, 1.0 ) );
+ propertyMap.Insert( MeshVisual::Property::LIGHT_POSITION, Vector3( 0.0, 1.0, 2.0 ) );
//Test to see if shape loads correctly.
TestPrimitiveVisualWithProperties( propertyMap, application );
//Set up visual properties, without supplying shape.
Property::Map propertyMap;
- propertyMap.Insert( "rendererType", "PRIMITIVE" );
+ propertyMap.Insert( Visual::Property::TYPE, Visual::PRIMITIVE );
//Test to see if shape loads regardless of missing input.
TestPrimitiveVisualWithProperties( propertyMap, application );
END_TEST;
}
+
+int UtcDaliVisualFactoryGetBatchImageVisual1(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline( "UtcDaliVisualFactoryGetBatchImageVisual1: Request a Batch Image visual with a Property::Map" );
+
+ VisualFactory factory = VisualFactory::Get();
+ DALI_TEST_CHECK( factory );
+
+ Property::Map propertyMap;
+ propertyMap.Insert( Visual::Property::TYPE, Visual::IMAGE );
+ propertyMap.Insert( ImageVisual::Property::BATCHING_ENABLED, true );
+ propertyMap.Insert( ImageVisual::Property::URL, TEST_IMAGE_FILE_NAME );
+
+ Visual::Base visual = factory.CreateVisual( propertyMap );
+ DALI_TEST_CHECK( visual );
+
+ Actor actor = Actor::New();
+
+ actor.SetSize( 200.0f, 200.0f );
+ Stage::GetCurrent().Add( actor );
+ visual.SetSize( Vector2( 200.0f, 200.0f ) );
+
+ // Test SetOnStage().
+ visual.SetOnStage( actor );
+ DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
+
+ application.SendNotification();
+ application.Render();
+
+ // Test SetOffStage().
+ visual.SetOffStage( actor );
+ DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
+
+ END_TEST;
+}
+
+int UtcDaliVisualFactoryGetBatchImageVisual2(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline( "UtcDaliVisualFactoryGetBatchImageVisual2: Request Batch Image visual from an Image Visual with batchingEnabled set" );
+
+ VisualFactory factory = VisualFactory::Get();
+ DALI_TEST_CHECK( factory );
+
+ Property::Map propertyMap;
+ // Create a normal Image Visual.
+ propertyMap.Insert( Visual::Property::TYPE, Visual::IMAGE );
+ // Instruct the factory to change Image Visuals to Batch-Image Visuals.
+ propertyMap.Insert( ImageVisual::Property::BATCHING_ENABLED, true );
+
+ // Properties for the Batch-Image Visual.
+ propertyMap.Insert( ImageVisual::Property::URL, TEST_IMAGE_FILE_NAME );
+
+ Visual::Base visual = factory.CreateVisual( propertyMap );
+ DALI_TEST_CHECK( visual );
+
+ // Check that a Batch-Image visual was created instead of an Image visual.
+ Property::Map resultMap;
+ visual.CreatePropertyMap( resultMap );
+
+ Property::Value* value = resultMap.Find( Visual::Property::TYPE, Property::INTEGER );
+ DALI_TEST_CHECK( value );
+ DALI_TEST_EQUALS( value->Get<int>(), (int)Visual::IMAGE, TEST_LOCATION );
+
+ Actor actor = Actor::New();
+
+ actor.SetSize( 200.0f, 200.0f );
+ Stage::GetCurrent().Add( actor );
+ visual.SetSize( Vector2( 200.0f, 200.0f ) );
+
+ // Test SetOnStage().
+ visual.SetOnStage( actor );
+ DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
+
+ application.SendNotification();
+ application.Render();
+
+ // Test SetOffStage().
+ visual.SetOffStage( actor );
+ DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
+
+ END_TEST;
+}
+
+int UtcDaliVisualFactoryGetBatchImageVisual3(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline( "UtcDaliVisualFactoryGetBatchImageVisual3: Create an ImageView that uses a batched visual internally" );
+
+ VisualFactory factory = VisualFactory::Get();
+ DALI_TEST_CHECK( factory );
+
+ // Create a property-map that enables batching.
+ Property::Map propertyMap;
+ propertyMap.Insert( Dali::Toolkit::ImageVisual::Property::URL, TEST_IMAGE_FILE_NAME );
+ propertyMap.Insert( ImageVisual::Property::BATCHING_ENABLED, true );
+
+ // Create an ImageView, passing the property-map in to instruct it to use batching.
+ Toolkit::ImageView imageView = Toolkit::ImageView::New();
+ imageView.SetProperty( Toolkit::ImageView::Property::IMAGE, propertyMap );
+
+ imageView.SetSize( 200.0f, 200.0f );
+ Stage::GetCurrent().Add( imageView );
+
+ END_TEST;
+}