- After gaussian-blur-view is once activated, Renderers of internalRoot actor are remained.
When the gaussian-blur-view become deactived, internalRoot is still child of the View,
and, the renderers of internalRoot will be renderered.
- So, to add the internalRoot to gaussian-blur-view when it is actived and
to unparent the internalRoot when the view become deactived, make the renderers do not affect rendering results.
Change-Id: If147583d008662335c539b0e016abeb67e0a9679
Signed-off-by: Seungho, Baek <sbsh.baek@samsung.com>
RenderTaskList taskList2 = Stage::GetCurrent().GetRenderTaskList();
DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() );
+ DALI_TEST_CHECK( 2u == view.GetChildCount() );
view.Deactivate();
RenderTaskList taskList3 = Stage::GetCurrent().GetRenderTaskList();
DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() );
+ DALI_TEST_CHECK( 1u == view.GetChildCount() );
+
END_TEST;
}
//////////////////////////////////////////////////////
// Connect to actor tree
Self().Add( mChildrenRoot );
- Self().Add( mInternalRoot );
mInternalRoot.Add( mHorizBlurActor );
mInternalRoot.Add( mVertBlurActor );
mInternalRoot.Add( mRenderDownsampledCamera );
void GaussianBlurView::Activate()
{
// make sure resources are allocated and start the render tasks processing
+ Self().Add( mInternalRoot );
AllocateResources();
CreateRenderTasks();
mActivated = true;
{
// stop render tasks processing
// Note: render target resources are automatically freed since we set the Image::Unused flag
+ mInternalRoot.Unparent();
RemoveRenderTasks();
mRenderTargetForRenderingChildren.Reset();
mRenderTarget1.Reset();