X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fgaussian-blur-view%2Fgaussian-blur-view-impl.h;h=7ecf96bf89cdbf9646ce18eec1728fe883d673d3;hb=124aa28a0cd62b61142779066432cd29195c42ce;hp=9420d244751726614c8838f4de9a08d200b662be;hpb=306d2f61a1b64179e801fa8a0bb2bd7b4e9dd682;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git 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 9420d24..7ecf96b 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 { @@ -76,10 +78,10 @@ public: void ActivateOnce(); void Deactivate(); - void SetUserImageAndOutputRenderTarget(Image inputImage, FrameBufferImage outputRenderTarget); + void SetUserImageAndOutputRenderTarget(Texture inputImage, FrameBuffer outputRenderTarget); Property::Index GetBlurStrengthPropertyIndex() const {return mBlurStrengthPropertyIndex;} - FrameBufferImage GetBlurredRenderTarget() const; + FrameBuffer GetBlurredRenderTarget() const; /// @copydoc Dali::Toolkit::GaussianBlurView::SetBackgroundColor(const Vector4&) void SetBackgroundColor( const Vector4& color ); @@ -95,10 +97,17 @@ public: private: virtual void OnInitialize(); - virtual void OnControlSizeSet(const Vector3& targetSize); - virtual void OnStageDisconnection(); + virtual void OnSizeSet(const Vector3& targetSize); - virtual void OnControlStageConnection(); + /** + * @copydoc Control::OnChildAdd() + */ + virtual void OnChildAdd( Actor& child ); + + /** + * @copydoc Control::OnChildRemove() + */ + virtual void OnChildRemove( Actor& child ); void SetBlurBellCurveWidth(float blurBellCurveWidth); float CalcGaussianWeight(float x); @@ -140,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 @@ -148,31 +159,28 @@ private: ///////////////////////////////////////////////////////////// // for rendering all user added children to offscreen target - FrameBufferImage mRenderTargetForRenderingChildren; + FrameBuffer mRenderTargetForRenderingChildren; RenderTask mRenderChildrenTask; ///////////////////////////////////////////////////////////// // for rendering separated blur passes to offscreen targets - FrameBufferImage mRenderTarget1; - FrameBufferImage mRenderTarget2; - - ShaderEffect mHorizBlurShader; - ShaderEffect mVertBlurShader; + FrameBuffer mRenderTarget1; + FrameBuffer mRenderTarget2; - ImageActor mImageActorHorizBlur; - ImageActor mImageActorVertBlur; + Actor mHorizBlurActor; + Actor mVertBlurActor; RenderTask mHorizBlurTask; RenderTask mVertBlurTask; ///////////////////////////////////////////////////////////// // for compositing blur and children renders to offscreen target - ImageActor mImageActorComposite; + Actor mCompositingActor; RenderTask mCompositeTask; ///////////////////////////////////////////////////////////// // for holding blurred result - ImageActor mTargetActor; + Actor mTargetActor; ///////////////////////////////////////////////////////////// // for animating fade in / out of blur, hiding internal implementation but allowing user to set via GaussianBlurView interface @@ -180,10 +188,12 @@ private: ///////////////////////////////////////////////////////////// // User can specify image to blur and output target, so we can use GaussianBlurView for arbitrary blur processes - Image mUserInputImage; - FrameBufferImage mUserOutputRenderTarget; + Texture mUserInputImage; + FrameBuffer mUserOutputRenderTarget; Dali::Toolkit::GaussianBlurView::GaussianBlurViewSignal mFinishedSignal; ///< Signal emitted when blur has completed. + + bool mActivated:1; private: // Undefined copy constructor. @@ -216,4 +226,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