Merge "(VectorBlobAtlas) Use Texture instead of BufferImage" into devel/master
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / test-actor-utils.cpp
index 6e2e204..32bccdd 100644 (file)
@@ -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,15 +57,15 @@ 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( Image texture )
+Actor CreateRenderableActor( Texture texture )
 {
   return CreateRenderableActor( texture, VERTEX_SHADER, FRAGMENT_SHADER );
 }
 
-Actor CreateRenderableActor( Image texture, const std::string& vertexShader, const std::string& fragmentShader )
+Actor CreateRenderableActor( Texture texture, const std::string& vertexShader, const std::string& fragmentShader )
 {
   // Create the geometry
   Geometry geometry = CreateQuadGeometry();
@@ -84,33 +84,48 @@ Actor CreateRenderableActor( Image texture, const std::string& vertexShader, con
   if( texture )
   {
     TextureSet textureSet = TextureSet::New();
-    TextureSetImage( textureSet, 0u, texture );
+    textureSet.SetTexture( 0u, texture );
     renderer.SetTextures( textureSet );
 
     // Set actor to the size of the texture if set
-    actor.SetSize( texture.GetWidth(), texture.GetHeight() );
+    actor.SetProperty( Actor::Property::SIZE, Vector2( texture.GetWidth(), texture.GetHeight() ) );
   }
 
   return actor;
 }
 
-Image GetTexture( Actor actor )
+Actor CreateRenderableActor( Image texture )
 {
-  Image image;
-  if( actor && actor.GetRendererCount() )
+  return CreateRenderableActor( texture, VERTEX_SHADER, FRAGMENT_SHADER );
+}
+
+Actor CreateRenderableActor( Image 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 )
   {
-    Renderer renderer = actor.GetRendererAt( 0u );
-    if( renderer )
-    {
-      TextureSet textureSet = renderer.GetTextures();
-      if( textureSet && textureSet.GetTextureCount() )
-      {
-        image = TextureGetImage( textureSet, 0u );
-      }
-    }
+    TextureSet textureSet = TextureSet::New();
+    TextureSetImage( textureSet, 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 image;
+  return actor;
 }
 
 } // namespace Dali