Remove Geometry::QUAD() usage from Adaptor 45/79545/4
authorXiangyin Ma <x1.ma@samsung.com>
Mon, 11 Jul 2016 16:57:06 +0000 (09:57 -0700)
committerXiangyin Ma <x1.ma@samsung.com>
Tue, 12 Jul 2016 11:29:34 +0000 (04:29 -0700)
Change-Id: I7947830c13efb2e9be3a1862bead4b0cfc358e55

adaptors/ecore/common/ecore-indicator-impl.cpp
adaptors/emscripten/wrappers/dali-wrapper.cpp
automated-tests/src/dali-adaptor/dali-test-suite-utils/mesh-builder.cpp
automated-tests/src/dali-adaptor/dali-test-suite-utils/mesh-builder.h
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-actor-utils.cpp

index 7f262bc..68b4f9f 100644 (file)
@@ -119,6 +119,27 @@ const char* FOREGROUND_FRAGMENT_SHADER = DALI_COMPOSE_SHADER(
   }\n
 );
 
+Dali::Geometry CreateQuadGeometry()
+{
+  Dali::Property::Map quadVertexFormat;
+  quadVertexFormat["aPosition"] = Dali::Property::VECTOR2;
+  Dali::PropertyBuffer vertexData = Dali::PropertyBuffer::New( quadVertexFormat );
+
+  const float halfQuadSize = .5f;
+  struct QuadVertex { Dali::Vector2 position; };
+  QuadVertex quadVertexData[4] = {
+      { Dali::Vector2(-halfQuadSize, -halfQuadSize) },
+      { Dali::Vector2(-halfQuadSize, halfQuadSize) },
+      { Dali::Vector2( halfQuadSize, -halfQuadSize) },
+      { Dali::Vector2( halfQuadSize, halfQuadSize) } };
+  vertexData.SetData(quadVertexData, 4);
+
+  Dali::Geometry quad = Dali::Geometry::New();
+  quad.AddVertexBuffer( vertexData );
+  quad.SetGeometryType( Dali::Geometry::TRIANGLE_STRIP );
+  return quad;
+}
+
 const float OPAQUE_THRESHOLD(0.99f);
 const float TRANSPARENT_THRESHOLD(0.05f);
 
@@ -1102,7 +1123,7 @@ void Indicator::SetForegroundImage( Dali::Texture texture )
     Dali::Shader shader = Dali::Shader::New( FOREGROUND_VERTEX_SHADER, FOREGROUND_FRAGMENT_SHADER );
 
     // Create renderer from geometry and material
-    Dali::Geometry quad = Dali::Geometry::QUAD();
+    Dali::Geometry quad = CreateQuadGeometry();
     mForegroundRenderer = Dali::Renderer::New( quad, shader );
     // Make sure the foreground stays in front of the background
     mForegroundRenderer.SetProperty( Dali::Renderer::Property::DEPTH_INDEX, 1.f );
index 48f0327..8154b3b 100644 (file)
@@ -351,8 +351,25 @@ Dali::Actor CreateSolidColorActor( const Dali::Vector4& color, bool border, cons
     "}\n");
 
   Dali::Shader shader = Dali::Shader::New( vertexShader, fragmentShader );
-  Dali::Geometry geometry = Dali::Geometry::QUAD();
-  Dali::Renderer renderer = Dali::Renderer::New( geometry, shader );
+
+  // Create Quad geometry
+  Dali::Property::Map quadVertexFormat;
+  quadVertexFormat["aPosition"] = Dali::Property::VECTOR2;
+  Dali::PropertyBuffer vertexData = Dali::PropertyBuffer::New( quadVertexFormat );
+  const float halfQuadSize = .5f;
+  struct QuadVertex { Dali::Vector2 position; };
+  QuadVertex quadVertexData[4] = {
+      { Dali::Vector2(-halfQuadSize, -halfQuadSize) },
+      { Dali::Vector2(-halfQuadSize, halfQuadSize) },
+      { Dali::Vector2( halfQuadSize, -halfQuadSize) },
+      { Dali::Vector2( halfQuadSize, halfQuadSize) } };
+  vertexData.SetData(quadVertexData, 4);
+
+  Dali::Geometry quad = Dali::Geometry::New();
+  quad.AddVertexBuffer( vertexData );
+  quad.SetGeometryType( Dali::Geometry::TRIANGLE_STRIP );
+
+  Dali::Renderer renderer = Dali::Renderer::New( quad, shader );
   Dali::TextureSet textureSet = Dali::TextureSet::New();
   TextureSetImage( textureSet, 0u, imageData );
   renderer.SetTextures( textureSet );
index d94e548..48bc26b 100644 (file)
@@ -51,4 +51,27 @@ PropertyBuffer CreatePropertyBuffer()
   return vertexData;
 }
 
+Geometry CreateQuadGeometry(void)
+{
+  PropertyBuffer vertexData = CreatePropertyBuffer();
+  const float halfQuadSize = .5f;
+  struct TexturedQuadVertex { Vector2 position; Vector2 textureCoordinates; };
+  TexturedQuadVertex texturedQuadVertexData[4] = {
+    { Vector2(-halfQuadSize, -halfQuadSize), Vector2(0.f, 0.f) },
+    { Vector2( halfQuadSize, -halfQuadSize), Vector2(1.f, 0.f) },
+    { Vector2(-halfQuadSize,  halfQuadSize), Vector2(0.f, 1.f) },
+    { Vector2( halfQuadSize,  halfQuadSize), Vector2(1.f, 1.f) } };
+  vertexData.SetData(texturedQuadVertexData, 4);
+
+  unsigned short indexData[6] = { 0, 3, 1, 0, 2, 3 };
+
+  Geometry geometry = Geometry::New();
+  geometry.AddVertexBuffer( vertexData );
+  geometry.SetIndexBuffer( indexData, sizeof(indexData)/sizeof(indexData[0]) );
+
+  return geometry;
+}
+
+
+
 } // namespace Dali
index e157338..16cd93d 100644 (file)
@@ -30,6 +30,7 @@ namespace Dali
 Shader CreateShader();
 TextureSet CreateTextureSet();
 TextureSet CreateTextureSet( Image image );
+Geometry CreateQuadGeometry();
 PropertyBuffer CreatePropertyBuffer();
 }
 
index 083e582..5a8a5d1 100644 (file)
@@ -68,7 +68,7 @@ Actor CreateRenderableActor( Image texture )
 Actor CreateRenderableActor( Image texture, const std::string& vertexShader, const std::string& fragmentShader )
 {
   // Create the geometry
-  Geometry geometry = Geometry::QUAD();
+  Geometry geometry = CreateQuadGeometry();
 
   // Create Shader
   Shader shader = Shader::New( vertexShader, fragmentShader );