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=9f229fb265a386111aee239f106c5d832c5d4f73;hpb=acbe10c62c46a30c58e08d8971a736f04e68dbf8;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 9f229fb..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 @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_INTERNAL_SUPER_BLUR_VIEW_H /* - * Copyright (c) 2019 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,46 +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); - - /** - * Get the image for blurring. - * @return The image for blurring. - */ - Image GetImage(); + void SetTexture(Texture texture); /** * @copydoc Dali::Toolkit::SuperBlurView::GetBlurStrengthPropertyIndex @@ -67,7 +60,7 @@ public: /** * @copydoc Dali::Toolkit::SuperBlurView::SetBlurStrength */ - void SetBlurStrength( float blurStrength ); + void SetBlurStrength(float blurStrength); /** * @copydoc Dali::Toolkit::SuperBlurView::GetCurrentBlurStrength @@ -80,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 @@ -92,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. @@ -100,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() @@ -115,78 +107,76 @@ protected: virtual ~SuperBlurView(); private: // from Control - /** * @copydoc Toolkit::Control::OnInitialize */ - virtual void OnInitialize(); + void OnInitialize() override; /** * @copydoc CustomActorImpl::OnSizeSet() */ - virtual void OnSizeSet(const Vector3& targetSize); + void OnSizeSet(const Vector3& targetSize) override; /** - * @copydoc CustomActorImpl::OnStageConnection() + * @copydoc CustomActorImpl::OnSceneConnection() */ - virtual void OnStageConnection( int depth ); + void OnSceneConnection(int depth) override; + + /** + * @copydoc CustomActorImpl::OnSceneDisconnection() + */ + void OnSceneDisconnection() override; /** * @copydoc CustomActorImpl::GetNaturalSize() */ - virtual Vector3 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 */ void ClearBlurResource(); - /** - * Sets shader effect on the control renderer - * @param[in,out] Sets custom shader effect on the given visual - */ - void SetShaderEffect( Toolkit::Visual::Base& visual ); - private: std::vector mGaussianBlurView; - std::vector mBlurredImage; - std::vector mVisuals; - Image mInputImage; + std::vector mBlurredImage; + std::vector mRenderers; + Texture mInputTexture; Vector2 mTargetSize; Toolkit::SuperBlurView::SuperBlurViewSignal mBlurFinishedSignal; ///< Signal emitted when blur has completed. - Property::Index mBlurStrengthPropertyIndex; - unsigned int mBlurLevels; - bool mResourcesCleared; + std::string mUrl; + Property::Index mBlurStrengthPropertyIndex; + unsigned int mBlurLevels; + bool mResourcesCleared; }; -} // namespace Internal +} // 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();