X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ffilters%2Femboss-filter.cpp;h=7f6dd1859f4f8447b5ff70a137d422e3c84bbf12;hb=acbe10c62c46a30c58e08d8971a736f04e68dbf8;hp=4bb7c3036c3441e23c5522b858cf32de32a550d4;hpb=600d7859cddf8ee59d6ddd49002af5fc99e48bf8;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/filters/emboss-filter.cpp b/dali-toolkit/internal/filters/emboss-filter.cpp index 4bb7c30..7f6dd18 100644 --- a/dali-toolkit/internal/filters/emboss-filter.cpp +++ b/dali-toolkit/internal/filters/emboss-filter.cpp @@ -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. @@ -28,9 +28,10 @@ #include // INTERNAL INCLUDES -#include #include +#include #include +#include namespace Dali { @@ -90,8 +91,8 @@ 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[ Toolkit::Visual::Shader::Property::FRAGMENT_SHADER ] = EMBOSS_FRAGMENT_SOURCE; @@ -127,22 +128,11 @@ void EmbossFilter::Enable() mRootActor.Add( mActorForComposite ); - Image dummyImage; // Dummy image, force creation of an image visual - - InitializeVisual( mActorForComposite, mVisualForEmboss1, dummyImage ); + Internal::InitializeVisual( mActorForComposite, mVisualForEmboss1, mImageForEmboss1 ); Toolkit::GetImplementation( mVisualForEmboss1 ).SetCustomShader( customShader ); - - InitializeVisual( mActorForComposite, mVisualForEmboss2, dummyImage ); - Toolkit::GetImplementation( mVisualForEmboss2 ).SetCustomShader( customShader ); - - TextureSet textureSet1 = TextureSet::New(); - TextureSetImage( textureSet1, 0, mImageForEmboss1 ); - mActorForComposite.GetRendererAt(0).SetTextures( textureSet1 ); mActorForComposite.GetRendererAt(0).RegisterProperty( COLOR_UNIFORM_NAME, Color::BLACK ); - - TextureSet textureSet2 = TextureSet::New(); - TextureSetImage( textureSet2, 0, mImageForEmboss2 ); - mActorForComposite.GetRendererAt(1).SetTextures( textureSet2 ); + Internal::InitializeVisual( mActorForComposite, mVisualForEmboss2, mImageForEmboss2 ); + Toolkit::GetImplementation( mVisualForEmboss2 ).SetCustomShader( customShader ); mActorForComposite.GetRendererAt(1).RegisterProperty( COLOR_UNIFORM_NAME, Color::WHITE ); SetupCamera(); @@ -173,8 +163,8 @@ void EmbossFilter::Disable() if( mActorForComposite ) { - mVisualForEmboss1.SetOffStage( mActorForComposite ); - mVisualForEmboss2.SetOffStage( mActorForComposite ); + Toolkit::GetImplementation(mVisualForEmboss1).SetOffStage( mActorForComposite ); + Toolkit::GetImplementation(mVisualForEmboss2).SetOffStage( mActorForComposite ); mVisualForEmboss1.Reset(); mVisualForEmboss2.Reset(); mRootActor.Remove( mActorForComposite ); @@ -192,6 +182,11 @@ void EmbossFilter::Disable() taskList.RemoveTask(mRenderTaskForEmboss2); } + if( mRenderTaskForOutput ) + { + taskList.RemoveTask( mRenderTaskForOutput ); + } + mRootActor.Reset(); } }