Merge "Added code for stylable transitions" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / filters / blur-two-pass-filter.cpp
index 1b3a5f1..d345893 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
 #include <dali/public-api/common/stage.h>
 #include <dali/public-api/object/property-map.h>
 #include <dali/public-api/render-tasks/render-task-list.h>
-#include <dali/devel-api/rendering/renderer.h>
+#include <dali/public-api/rendering/renderer.h>
+#include <dali/devel-api/images/texture-set-image.h>
 
 // INTERNAL INCLUDES
+#include <dali-toolkit/public-api/visuals/visual-properties.h>
 
 namespace Dali
 {
@@ -130,14 +132,14 @@ void BlurTwoPassFilter::Enable()
   mActorForInput.SetSize( mTargetSize );
 
   // create internal offscreen for result of horizontal pass
-  mImageForHorz = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::UNUSED );
+  mImageForHorz = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
   // create an actor to render mImageForHorz for vertical blur pass
   mActorForHorz = Toolkit::ImageView::New( mImageForHorz );
   mActorForHorz.SetParentOrigin( ParentOrigin::CENTER );
   mActorForHorz.SetSize( mTargetSize );
 
   // create internal offscreen for result of the two pass blurred image
-  mBlurredImage = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::UNUSED);
+  mBlurredImage = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat );
   // create an actor to blend the blurred image and the input image with the given blur strength
   mActorForBlending.SetImage( mBlurredImage );
   mActorForBlending.SetParentOrigin( ParentOrigin::CENTER );
@@ -168,32 +170,24 @@ void BlurTwoPassFilter::Enable()
   fragmentSource << BLUR_TWO_PASS_FRAGMENT_SOURCE;
 
   Property::Map customShader;
-  customShader[ "fragmentShader" ] = fragmentSource.str();
-  Property::Map rendererMap;
-  rendererMap.Insert( "shader", customShader );
-  mActorForInput.SetProperty( Toolkit::ImageView::Property::IMAGE, rendererMap );
-  mActorForHorz.SetProperty( Toolkit::ImageView::Property::IMAGE, rendererMap );
+  customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = fragmentSource.str();
+  Property::Map visualMap;
+  visualMap.Insert( Toolkit::Visual::Property::SHADER, customShader );
+  mActorForInput.SetProperty( Toolkit::ImageView::Property::IMAGE, visualMap );
+  mActorForHorz.SetProperty( Toolkit::ImageView::Property::IMAGE, visualMap );
 
   // Set up blend-two-image custom shader
-  customShader[ "fragmentShader" ] = BLEND_TWO_IMAGES_FRAGMENT_SOURCE;
-  rendererMap[ "shader"] = customShader;
-  mActorForBlending.SetProperty( Toolkit::ImageView::Property::IMAGE, rendererMap );
+  customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = BLEND_TWO_IMAGES_FRAGMENT_SOURCE;
+  visualMap[ Toolkit::Visual::Property::SHADER ] = customShader;
+  mActorForBlending.SetProperty( Toolkit::ImageView::Property::IMAGE, visualMap );
 
   mRootActor.Add( mActorForInput );
   mRootActor.Add( mActorForHorz );
   mRootActor.Add( mActorForBlending );
 
   // Add effect texture to blend-two-image custom shader
-  Material material = mActorForBlending.GetRendererAt(0).GetMaterial();
-  int textureIndex = material.GetTextureIndex( EFFECT_IMAGE_NAME );
-  if( textureIndex == -1 )
-  {
-    material.AddTexture( mInputImage, EFFECT_IMAGE_NAME );
-  }
-  else
-  {
-    material.SetTextureImage( textureIndex, mInputImage );
-  }
+  TextureSet textureSet = mActorForBlending.GetRendererAt(0).GetTextures();
+  TextureSetImage( textureSet, 1u, mInputImage );
 
   SetupCamera();
   CreateRenderTasks();