X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fgaussian-blur-view%2Fgaussian-blur-view-impl.cpp;h=c4d744e2b9b63fed165b4ff96d029cffd0016689;hp=1b47c688a3daef14377a3a4d69d00b184869c43d;hb=593bfcba76d49d9e82dcf156d4735ed0b40c02c1;hpb=cea1f03937b84ab2ac2551d13e28e91c2ddfa728;ds=sidebyside diff --git a/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp b/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp index 1b47c68..c4d744e 100644 --- a/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp +++ b/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp @@ -466,6 +466,11 @@ void GaussianBlurView::CreateRenderTasks() mRenderChildrenTask.SetCameraActor(mRenderFullSizeCamera); mRenderChildrenTask.SetFrameBuffer( mRenderTargetForRenderingChildren ); + + if( mRenderOnce ) + { + mRenderChildrenTask.SetRefreshRate(RenderTask::REFRESH_ONCE); + } } // perform a horizontal blur targeting the second buffer @@ -477,7 +482,7 @@ void GaussianBlurView::CreateRenderTasks() mHorizBlurTask.SetClearColor( mBackgroundColor ); mHorizBlurTask.SetCameraActor(mRenderDownsampledCamera); mHorizBlurTask.SetFrameBuffer( mRenderTarget2 ); - if( mRenderOnce && mBlurUserImage ) + if( mRenderOnce || ( mRenderOnce && mBlurUserImage ) ) { mHorizBlurTask.SetRefreshRate(RenderTask::REFRESH_ONCE); } @@ -498,7 +503,7 @@ void GaussianBlurView::CreateRenderTasks() { mVertBlurTask.SetFrameBuffer( mRenderTarget1 ); } - if( mRenderOnce && mBlurUserImage ) + if( mRenderOnce || ( mRenderOnce && mBlurUserImage ) ) { mVertBlurTask.SetRefreshRate(RenderTask::REFRESH_ONCE); mVertBlurTask.FinishedSignal().Connect( this, &GaussianBlurView::OnRenderTaskFinished ); @@ -514,6 +519,11 @@ void GaussianBlurView::CreateRenderTasks() mCompositeTask.SetCameraActor(mRenderFullSizeCamera); mCompositeTask.SetFrameBuffer( mRenderTargetForRenderingChildren ); + + if( mRenderOnce ) + { + mCompositeTask.SetRefreshRate(RenderTask::REFRESH_ONCE); + } } } @@ -541,7 +551,7 @@ void GaussianBlurView::Activate() void GaussianBlurView::ActivateOnce() { - DALI_ASSERT_ALWAYS(mBlurUserImage); // Only works with blurring image mode. + Deactivate(); mRenderOnce = true; Activate(); }