X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ffilters%2Femboss-filter.cpp;h=6fe082dadb707856a78dedff89d2ee8470a3e9ff;hp=c96d1bc15eccc92a51e9aa0fb4885055521a45fa;hb=f52e1560139d8b38f846be2125b0125a726ed979;hpb=9fff4fa5534b563329dc8cd6c0598888f667ee39 diff --git a/dali-toolkit/internal/filters/emboss-filter.cpp b/dali-toolkit/internal/filters/emboss-filter.cpp index c96d1bc..6fe082d 100644 --- a/dali-toolkit/internal/filters/emboss-filter.cpp +++ b/dali-toolkit/internal/filters/emboss-filter.cpp @@ -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. @@ -24,8 +24,13 @@ #include #include #include -#include -#include +#include +#include + +// INTERNAL INCLUDES +#include +#include +#include namespace Dali { @@ -85,13 +90,13 @@ EmbossFilter::~EmbossFilter() void EmbossFilter::Enable() { - mImageForEmboss1 = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::UNUSED ); - mImageForEmboss2 = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::UNUSED ); + mImageForEmboss1 = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat ); + mImageForEmboss2 = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat ); Property::Map customShader; - customShader[ "fragmentShader" ] = EMBOSS_FRAGMENT_SOURCE; - Property::Map rendererMap; - rendererMap.Insert( "shader", customShader ); + customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = EMBOSS_FRAGMENT_SOURCE; + Property::Map visualMap; + visualMap.Insert( Toolkit::VisualProperty::SHADER, customShader ); // create actor to render input with applied emboss effect mActorForInput1 = Toolkit::ImageView::New(mInputImage); @@ -101,7 +106,7 @@ void EmbossFilter::Enable() mActorForInput1.RegisterProperty( TEX_SCALE_UNIFORM_NAME, textureScale ); mActorForInput1.RegisterProperty( COEFFICIENT_UNIFORM_NAME, Vector3( 2.f, -1.f, -1.f ) ); // set EMBOSS custom shader - mActorForInput1.SetProperty( Toolkit::ImageView::Property::IMAGE, rendererMap ); + mActorForInput1.SetProperty( Toolkit::ImageView::Property::IMAGE, visualMap ); mRootActor.Add( mActorForInput1 ); mActorForInput2 = Toolkit::ImageView::New(mInputImage); @@ -110,7 +115,7 @@ void EmbossFilter::Enable() mActorForInput2.RegisterProperty( TEX_SCALE_UNIFORM_NAME, textureScale ); mActorForInput2.RegisterProperty( COEFFICIENT_UNIFORM_NAME, Vector3( -1.f, -1.f, 2.f ) ); // set EMBOSS custom shader - mActorForInput2.SetProperty( Toolkit::ImageView::Property::IMAGE, rendererMap ); + mActorForInput2.SetProperty( Toolkit::ImageView::Property::IMAGE, visualMap ); mRootActor.Add( mActorForInput2 ); mActorForComposite = Actor::New(); @@ -118,23 +123,15 @@ void EmbossFilter::Enable() mActorForComposite.SetSize(mTargetSize); mActorForComposite.SetColor( Color::BLACK ); - customShader[ "fragmentShader" ] = COMPOSITE_FRAGMENT_SOURCE; - rendererMap[ "shader"] = customShader; - rendererMap[ "rendererType"] = "image"; + customShader[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = COMPOSITE_FRAGMENT_SOURCE; mRootActor.Add( mActorForComposite ); - InitializeControlRenderer( mActorForComposite, mRendererForEmboss1, rendererMap ); - InitializeControlRenderer( mActorForComposite, mRendererForEmboss2, rendererMap ); - - TextureSet textureSet1 = TextureSet::New(); - textureSet1.SetImage( 0, mImageForEmboss1 ); - mActorForComposite.GetRendererAt(0).SetTextures( textureSet1 ); + InitializeVisual( mActorForComposite, mVisualForEmboss1, mImageForEmboss1 ); + Toolkit::GetImplementation( mVisualForEmboss1 ).SetCustomShader( customShader ); mActorForComposite.GetRendererAt(0).RegisterProperty( COLOR_UNIFORM_NAME, Color::BLACK ); - - TextureSet textureSet2 = TextureSet::New(); - textureSet2.SetImage( 0, mImageForEmboss2 ); - mActorForComposite.GetRendererAt(1).SetTextures( textureSet2 ); + InitializeVisual( mActorForComposite, mVisualForEmboss2, mImageForEmboss2 ); + Toolkit::GetImplementation( mVisualForEmboss2 ).SetCustomShader( customShader ); mActorForComposite.GetRendererAt(1).RegisterProperty( COLOR_UNIFORM_NAME, Color::WHITE ); SetupCamera(); @@ -165,10 +162,10 @@ void EmbossFilter::Disable() if( mActorForComposite ) { - mRendererForEmboss1.SetOffStage( mActorForComposite ); - mRendererForEmboss2.SetOffStage( mActorForComposite ); - mRendererForEmboss1.Reset(); - mRendererForEmboss2.Reset(); + mVisualForEmboss1.SetOffStage( mActorForComposite ); + mVisualForEmboss2.SetOffStage( mActorForComposite ); + mVisualForEmboss1.Reset(); + mVisualForEmboss2.Reset(); mRootActor.Remove( mActorForComposite ); mActorForComposite.Reset(); } @@ -184,6 +181,11 @@ void EmbossFilter::Disable() taskList.RemoveTask(mRenderTaskForEmboss2); } + if( mRenderTaskForOutput ) + { + taskList.RemoveTask( mRenderTaskForOutput ); + } + mRootActor.Reset(); } }