X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fsuper-blur-view%2Fsuper-blur-view-impl.h;h=28efb87f422b8167bb7ae1f65c36023a31e04a1a;hb=9ddd5fea6278d06b8874988498c7c4c6508750ba;hp=041e7175f80a3b184a4dbc95dd0f13c0cadae58c;hpb=2ec164cd618f93ccafe17b1d0b8ff16401ed4aef;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h index 041e717..28efb87 100644 --- a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h +++ b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_SUPER_BLUR_VIEW_H__ -#define __DALI_TOOLKIT_INTERNAL_SUPER_BLUR_VIEW_H__ +#ifndef DALI_TOOLKIT_INTERNAL_SUPER_BLUR_VIEW_H +#define DALI_TOOLKIT_INTERNAL_SUPER_BLUR_VIEW_H /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 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. @@ -18,39 +18,39 @@ * */ +// EXTERNAL INCLUDES +#include +#include + // INTERNAL INCLUDES +#include +#include +#include #include -#include -#include namespace Dali { - namespace Toolkit { - class SuperBlurView; namespace Internal { - /** * SuperBlurView implementation class */ class SuperBlurView : public Control { - public: - /** * @copydoc Dali::Toolkit::SuperBlurView::New */ - static Toolkit::SuperBlurView New( unsigned int blurLevels ); + static Toolkit::SuperBlurView New(unsigned int blurLevels); /** * @copydoc Dali::Toolkit::SuperBlurView::SetImage */ - void SetImage(Image inputImage); + void SetTexture(Texture texture); /** * @copydoc Dali::Toolkit::SuperBlurView::GetBlurStrengthPropertyIndex @@ -60,7 +60,7 @@ public: /** * @copydoc Dali::Toolkit::SuperBlurView::SetBlurStrength */ - void SetBlurStrength( float blurStrength ); + void SetBlurStrength(float blurStrength); /** * @copydoc Dali::Toolkit::SuperBlurView::GetCurrentBlurStrength @@ -73,9 +73,9 @@ public: Dali::Toolkit::SuperBlurView::SuperBlurViewSignal& BlurFinishedSignal(); /** - * @copydoc Dali::Toolkit::SuperBlurView::GetBlurredImage + * @copydoc Dali::Toolkit::SuperBlurView::GetBlurredTexture */ - Image GetBlurredImage( unsigned int level ); + Texture GetBlurredTexture(unsigned int level); // Properties @@ -85,7 +85,7 @@ public: * @param[in] index The property index. * @param[in] value The new property value. */ - static void SetProperty( BaseObject* object, Property::Index propertyIndex, const Property::Value& value ); + static void SetProperty(BaseObject* object, Property::Index propertyIndex, const Property::Value& value); /** * Called to retrieve a property of an object of this type. @@ -93,14 +93,13 @@ public: * @param[in] index The property index. * @return The current value of the property. */ - static Property::Value GetProperty( BaseObject* object, Property::Index propertyIndex ); + static Property::Value GetProperty(BaseObject* object, Property::Index propertyIndex); protected: - /** * Constructor. It initializes the SuperBlurView members */ - SuperBlurView( unsigned int blurLevels ); + SuperBlurView(unsigned int blurLevels); /** * A reference counted object may only be deleted by calling Unreference() @@ -108,36 +107,44 @@ protected: virtual ~SuperBlurView(); private: // from Control - /** * @copydoc Toolkit::Control::OnInitialize */ - virtual void OnInitialize(); + void OnInitialize() override; /** - * @copydoc Toolkit::Control::OnControlSizeSet + * @copydoc CustomActorImpl::OnSizeSet() */ - virtual void OnControlSizeSet(const Vector3& targetSize); + void OnSizeSet(const Vector3& targetSize) override; /** - * @copydoc Control::OnRelayout() + * @copydoc CustomActorImpl::OnSceneConnection() */ - virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); + void OnSceneConnection(int depth) override; -private: + /** + * @copydoc CustomActorImpl::OnSceneDisconnection() + */ + void OnSceneDisconnection() override; + + /** + * @copydoc CustomActorImpl::GetNaturalSize() + */ + Vector3 GetNaturalSize() override; +private: /** * Carry out the idx-th pass of blurring * @param[in] idx The blur pass index - * @param[in] image The input image for the current blurring, it is either the original image or the blurred image from the previous pass + * @param[in] texture The input texture for the current blurring, it is either the original image or the blurred texture from the previous pass */ - void BlurImage( unsigned int idx, Image image ); + void BlurTexture(unsigned int idx, Texture texture); /** * Signal handler to tell when the last blur view completes * @param[in] blurView The blur view that just completed */ - void OnBlurViewFinished( Toolkit::GaussianBlurView blurView ); + void OnBlurViewFinished(Toolkit::GaussianBlurView blurView); /** * Clear the resources used to create the blurred image @@ -145,39 +152,39 @@ private: void ClearBlurResource(); private: - - unsigned int mBlurLevels; - - Property::Index mBlurStrengthPropertyIndex; - std::vector mGaussianBlurView; - std::vector mBlurredImage; - std::vector mImageActors; - bool mResourcesCleared; - + std::vector mBlurredImage; + std::vector mRenderers; + Texture mInputTexture; Vector2 mTargetSize; + Toolkit::SuperBlurView::SuperBlurViewSignal mBlurFinishedSignal; ///< Signal emitted when blur has completed. + + std::string mUrl; + Property::Index mBlurStrengthPropertyIndex; + unsigned int mBlurLevels; + bool mResourcesCleared; }; -} +} // namespace Internal // Helpers for public-api forwarding methods -inline Toolkit::Internal::SuperBlurView& GetImpl( Toolkit::SuperBlurView& obj ) +inline Toolkit::Internal::SuperBlurView& GetImpl(Toolkit::SuperBlurView& obj) { DALI_ASSERT_ALWAYS(obj); Dali::RefObject& handle = obj.GetImplementation(); return static_cast(handle); } -inline const Toolkit::Internal::SuperBlurView& GetImpl( const Toolkit::SuperBlurView& obj ) +inline const Toolkit::Internal::SuperBlurView& GetImpl(const Toolkit::SuperBlurView& obj) { DALI_ASSERT_ALWAYS(obj); const Dali::RefObject& handle = obj.GetImplementation(); return static_cast(handle); } -} +} // namespace Toolkit -} +} // namespace Dali -#endif /* __DALI_TOOLKIT_INTERNALSUPER_BLUR_VIEW_H__ */ +#endif // DALI_TOOLKIT_INTERNAL_SUPER_BLUR_VIEW_H