#define __DALI_TOOLKIT_INTERNAL_GAUSSIAN_BLUR_EFFECT_H__
/*
- * 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.
// EXTERNAL INCLUDES
#include <sstream>
#include <cmath>
+#include <dali/public-api/object/property-map.h>
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/controls/control-impl.h>
-#include <dali-toolkit/public-api/controls/gaussian-blur-view/gaussian-blur-view.h>
+#include <dali-toolkit/devel-api/controls/gaussian-blur-view/gaussian-blur-view.h>
+#include <dali-toolkit/public-api/controls/image-view/image-view.h>
namespace Dali
{
virtual void OnInitialize();
virtual void OnSizeSet(const Vector3& targetSize);
+ /**
+ * @copydoc Control::OnChildAdd()
+ */
+ virtual void OnChildAdd( Actor& child );
+
+ /**
+ * @copydoc Control::OnChildRemove()
+ */
+ virtual void OnChildRemove( Actor& child );
+
void SetBlurBellCurveWidth(float blurBellCurveWidth);
float CalcGaussianWeight(float x);
void SetShaderConstants();
/////////////////////////////////////////////////////////////
// for creating a subtree for all user added child actors, so that we can have them exclusive to the mRenderChildrenTask and our other actors exclusive to our other tasks
Actor mChildrenRoot;
+ // for creating a subtree for the internal actors
+ Actor mInternalRoot;
/////////////////////////////////////////////////////////////
// for mapping offscreen renders to render target sizes
FrameBufferImage mRenderTarget1;
FrameBufferImage mRenderTarget2;
- ShaderEffect mHorizBlurShader;
- ShaderEffect mVertBlurShader;
+ Toolkit::ImageView mImageViewHorizBlur;
+ Toolkit::ImageView mImageViewVertBlur;
- ImageActor mImageActorHorizBlur;
- ImageActor mImageActorVertBlur;
+ Property::Map mCustomShader;
RenderTask mHorizBlurTask;
RenderTask mVertBlurTask;
/////////////////////////////////////////////////////////////
// for compositing blur and children renders to offscreen target
- ImageActor mImageActorComposite;
+ Toolkit::ImageView mImageViewComposite;
RenderTask mCompositeTask;
/////////////////////////////////////////////////////////////
// for holding blurred result
- ImageActor mTargetActor;
+ Toolkit::ImageView mTargetActor;
/////////////////////////////////////////////////////////////
// for animating fade in / out of blur, hiding internal implementation but allowing user to set via GaussianBlurView interface
FrameBufferImage mUserOutputRenderTarget;
Dali::Toolkit::GaussianBlurView::GaussianBlurViewSignal mFinishedSignal; ///< Signal emitted when blur has completed.
+
+ bool mActivated:1;
private:
// Undefined copy constructor.