[dali_1.1.27] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / bubble-effect / bubble-emitter-impl.cpp
index 9fed7cc..1f5b966 100644 (file)
@@ -32,16 +32,19 @@ namespace
 {
 struct Vertex
 {
-  float index;
-  Dali::Vector2 position;
-  Dali::Vector2 textureCoord;
-
   Vertex()
-  {}
+  : index( 0.0f ), position(), textureCoord()
+  {
+  }
 
   Vertex( float index, const Dali::Vector2& position, const Dali::Vector2& textureCoord )
   : index( index ), position( position ), textureCoord( textureCoord )
-  {}
+  {
+  }
+
+  float index;
+  Dali::Vector2 position;
+  Dali::Vector2 textureCoord;
 };
 
 /**
@@ -132,16 +135,14 @@ void BubbleEmitter::OnInitialize()
   // Prepare the frame buffer to store the color adjusted background image
   mEffectImage = FrameBufferImage::New( mMovementArea.width/4.f, mMovementArea.height/4.f, Pixel::RGBA8888, Dali::Image::UNUSED );
 
-  // Generate the samplers and geometry, which is used by all bubbleActors
-  mSamplerBackground = Sampler::New( mEffectImage, "sBackground" );
-  mSamplerBubbleShape = Sampler::New( mShapeImage, "sBubbleShape" );
+  // Generate the geometry, which is used by all bubbleActors
   mMeshGeometry =  CreateGeometry( mNumBubblePerActor*mDensity );
 
   Shader bubbleShader = CreateBubbleShader (mNumBubblePerActor );
 
   mMaterial = Material::New( bubbleShader );
-  mMaterial.AddSampler( mSamplerBackground );
-  mMaterial.AddSampler( mSamplerBubbleShape );
+  mMaterial.AddTexture( mEffectImage, "sBackground" );
+  mMaterial.AddTexture( mShapeImage,  "sBubbleShape" );
 
   mBubbleActors.resize( mNumActor );
 
@@ -195,7 +196,7 @@ void BubbleEmitter::SetBackground( Image bgImage, const Vector3& hsvDelta )
 
 void BubbleEmitter::SetShapeImage( Image shapeImage )
 {
-  mSamplerBubbleShape.SetImage( shapeImage );
+  mMaterial.SetTextureImage( 1, shapeImage );
 }
 
 void BubbleEmitter::SetBubbleScale( float scale )
@@ -225,22 +226,6 @@ void BubbleEmitter::SetBubbleDensity( unsigned int density )
   }
 }
 
-void BubbleEmitter::SetBlendMode( bool enable )
-{
-  if(enable)
-  {
-    // linear overlay
-    mMaterial.SetBlendFunc(BlendingFactor::SRC_ALPHA, BlendingFactor::ONE,
-                           BlendingFactor::ZERO, BlendingFactor::ONE);
-  }
-  else
-  {
-    // using default blend func
-    mMaterial.SetBlendFunc( BlendingFactor::SRC_ALPHA,   BlendingFactor::ONE_MINUS_SRC_ALPHA,
-                            BlendingFactor::ONE, BlendingFactor::ONE_MINUS_SRC_ALPHA );
-  }
-}
-
 // clear the resources created for the off screen rendering
 void BubbleEmitter::OnRenderFinished(RenderTask& source)
 {
@@ -322,13 +307,13 @@ Geometry BubbleEmitter::CreateGeometry( unsigned int numOfPatch )
   vertexFormat["aIndex"] = Property::FLOAT;
   vertexFormat["aPosition"] = Property::VECTOR2;
   vertexFormat["aTexCoord"] = Property::VECTOR2;
-  PropertyBuffer vertices = PropertyBuffer::New( vertexFormat, numVertex  );
-  vertices.SetData( &vertexData[0] );
+  PropertyBuffer vertices = PropertyBuffer::New( vertexFormat );
+  vertices.SetData( &vertexData[0], numVertex );
 
   Property::Map indexFormat;
   indexFormat["indices"] = Property::INTEGER;
-  PropertyBuffer indices = PropertyBuffer::New( indexFormat, numIndex  );
-  indices.SetData( &indexData[0] );
+  PropertyBuffer indices = PropertyBuffer::New( indexFormat );
+  indices.SetData( &indexData[0], numIndex );
 
   Geometry geometry = Geometry::New();
   geometry.AddVertexBuffer( vertices );