From c86d2363fffcaf1d6804b4fd7347128b779dbe19 Mon Sep 17 00:00:00 2001 From: Adeel Kazmi Date: Tue, 9 Jun 2020 22:24:38 +0100 Subject: [PATCH] (Automated Tests) Sync with dali-core Change-Id: I43ec43fedca24bd82c6a5304646e37fb7581ddc8 --- .../dali-toolkit-test-utils/mesh-builder.cpp | 9 ++++- .../dali-toolkit-test-utils/mesh-builder.h | 3 +- .../dali-toolkit-test-utils/test-actor-utils.cpp | 38 ++++++++++++++++++++-- .../dali-toolkit-test-utils/test-actor-utils.h | 19 ++++++++++- 4 files changed, 64 insertions(+), 5 deletions(-) diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.cpp index 48bc26b..f8e3917 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -41,6 +41,13 @@ TextureSet CreateTextureSet( Image image ) return textureSet; } +TextureSet CreateTextureSet( Texture texture ) +{ + TextureSet textureSet = TextureSet::New(); + textureSet.SetTexture(0u, texture); + return textureSet; +} + PropertyBuffer CreatePropertyBuffer() { Property::Map texturedQuadVertexFormat; diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.h index d22f9c8..ea0b156 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/mesh-builder.h @@ -2,7 +2,7 @@ #define MESH_BUILDER_H /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -27,6 +27,7 @@ namespace Dali Shader CreateShader(); TextureSet CreateTextureSet(); TextureSet CreateTextureSet( Image image ); +TextureSet CreateTextureSet( Texture texture ); Geometry CreateQuadGeometry(); PropertyBuffer CreatePropertyBuffer(); diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.cpp index 4387ba7..32bccdd 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -57,7 +57,41 @@ const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER( Actor CreateRenderableActor() { - return CreateRenderableActor( Image(), VERTEX_SHADER, FRAGMENT_SHADER ); + return CreateRenderableActor( Texture(), VERTEX_SHADER, FRAGMENT_SHADER ); +} + +Actor CreateRenderableActor( Texture texture ) +{ + return CreateRenderableActor( texture, VERTEX_SHADER, FRAGMENT_SHADER ); +} + +Actor CreateRenderableActor( Texture texture, const std::string& vertexShader, const std::string& fragmentShader ) +{ + // Create the geometry + Geometry geometry = CreateQuadGeometry(); + + // Create Shader + Shader shader = Shader::New( vertexShader, fragmentShader ); + + // Create renderer from geometry and material + Renderer renderer = Renderer::New( geometry, shader ); + + // Create actor and set renderer + Actor actor = Actor::New(); + actor.AddRenderer( renderer ); + + // If we a texture, then create a texture-set and add to renderer + if( texture ) + { + TextureSet textureSet = TextureSet::New(); + textureSet.SetTexture( 0u, texture ); + renderer.SetTextures( textureSet ); + + // Set actor to the size of the texture if set + actor.SetProperty( Actor::Property::SIZE, Vector2( texture.GetWidth(), texture.GetHeight() ) ); + } + + return actor; } Actor CreateRenderableActor( Image texture ) diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.h index a62dcca..8b8859f 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-actor-utils.h @@ -2,7 +2,7 @@ #define DALI_TEST_ACTOR_UTILS_H /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -26,6 +26,7 @@ namespace Dali class Actor; class Image; +class Texture; /** * @brief Creates a simple renderable-actor with solid colored quad. @@ -49,6 +50,22 @@ Actor CreateRenderableActor( Image texture ); */ Actor CreateRenderableActor( Image texture, const std::string& vertexShader, const std::string& fragmentShader ); +/** + * @brief Creates a renderable-actor with a texture. + * @param[in] texture Texture to set. + * @return An actor with a renderer. + */ +Actor CreateRenderableActor( Texture texture ); + +/** + * @brief Creates a renderable-actor with a texture and custom shaders. + * @param[in] texture Texture to set. + * @param[in] vertexShader The vertex-shader. + * @param[in] fragmentShader The fragment-shader. + * @return An actor with a renderer. + */ +Actor CreateRenderableActor( Texture texture, const std::string& vertexShader, const std::string& fragmentShader ); + } // namespace Dali #endif // DALI_TEST_ACTOR_UTILS_H -- 2.7.4