Merge "Add new layouting support for TextLabel and ImageView." into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / filters / blur-two-pass-filter.cpp
index b1dce92..f2689ef 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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,9 @@
 #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
 {
 
@@ -129,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 );
@@ -167,16 +170,16 @@ 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 );
@@ -184,7 +187,10 @@ void BlurTwoPassFilter::Enable()
 
   // Add effect texture to blend-two-image custom shader
   TextureSet textureSet = mActorForBlending.GetRendererAt(0).GetTextures();
-  TextureSetImage( textureSet, 1u, mInputImage );
+  if( textureSet )
+  {
+    TextureSetImage( textureSet, 1u, mInputImage );
+  }
 
   SetupCamera();
   CreateRenderTasks();