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.h;h=792c1b13ea50abee4a7d4048b2bc78949b34ca17;hp=0afa61c4357fd101c09dfd5dbb02e44f3f86979a;hb=b694e7e2ae624e206e1548b1a863c554eb9cd4d7;hpb=1c5674a11a51310ee689d6daf4e6b7d94dec607e diff --git a/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.h b/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.h index 0afa61c..792c1b1 100644 --- a/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.h +++ b/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_GAUSSIAN_BLUR_EFFECT_H__ -#define __DALI_TOOLKIT_INTERNAL_GAUSSIAN_BLUR_EFFECT_H__ +#ifndef DALI_TOOLKIT_INTERNAL_GAUSSIAN_BLUR_EFFECT_H +#define DALI_TOOLKIT_INTERNAL_GAUSSIAN_BLUR_EFFECT_H /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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. @@ -21,10 +21,12 @@ // EXTERNAL INCLUDES #include #include +#include // INTERNAL INCLUDES #include -#include +#include +#include namespace Dali { @@ -97,6 +99,16 @@ private: 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(); @@ -137,6 +149,8 @@ private: ///////////////////////////////////////////////////////////// // 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 @@ -153,23 +167,22 @@ private: 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 @@ -181,6 +194,8 @@ private: FrameBufferImage mUserOutputRenderTarget; Dali::Toolkit::GaussianBlurView::GaussianBlurViewSignal mFinishedSignal; ///< Signal emitted when blur has completed. + + bool mActivated:1; private: // Undefined copy constructor. @@ -213,4 +228,4 @@ inline const Toolkit::Internal::GaussianBlurView& GetImpl( const Toolkit::Gaussi } // namespace Dali -#endif // __DALI_TOOLKIT_INTERNAL_GAUSSIAN_BLUR_EFFECT_H__ +#endif // DALI_TOOLKIT_INTERNAL_GAUSSIAN_BLUR_EFFECT_H