X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fbloom-view%2Fbloom-view-impl.h;h=06f2e154612640d5bc3d1a2272da86c402c7aa65;hb=a9d56fc12792cd84a5d41568dc0bbf26157f4334;hp=cc42f64bfe653de50280f4db82dcf3906c47602c;hpb=5253e9e87aa853a60b624b1a342a19ebca26f7a4;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.h b/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.h index cc42f64..06f2e15 100644 --- a/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.h +++ b/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_BLOOM_VIEW_H__ -#define __DALI_TOOLKIT_INTERNAL_BLOOM_VIEW_H__ +#ifndef DALI_TOOLKIT_INTERNAL_BLOOM_VIEW_H +#define DALI_TOOLKIT_INTERNAL_BLOOM_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. @@ -19,29 +19,26 @@ */ // EXTERNAL INCLUDES -#include -#include #include -#include #include +#include +#include +#include // INTERNAL INCLUDES +#include +#include #include -#include #include -#include namespace Dali { - namespace Toolkit { - class BloomView; namespace Internal { - /** * BloomEffect implementation class */ @@ -56,8 +53,7 @@ public: /** * @copydoc Dali::Toolkit::BloomView::BloomView */ - BloomView(const unsigned int numSamples, const float blurBellCurveWidth, const Pixel::Format renderTargetPixelFormat, - const float downsampleWidthScale, const float downsampleHeightScale); + BloomView(const unsigned int numSamples, const float blurBellCurveWidth, const Pixel::Format renderTargetPixelFormat, const float downsampleWidthScale, const float downsampleHeightScale); /** * @copydoc Dali::Toolkit::BloomView::~BloomView @@ -68,32 +64,48 @@ public: * @copydoc Dali::Toolkit::BloomView::New */ static Dali::Toolkit::BloomView New(); - static Dali::Toolkit::BloomView New( const unsigned int numSamples, const float blurBellCurveWidth, const Pixel::Format renderTargetPixelFormat, - const float downsampleWidthScale, const float downsampleHeightScale); - void Activate(); - void Deactivate(); - - Property::Index GetBloomThresholdPropertyIndex() const {return mBloomThresholdPropertyIndex;} - Property::Index GetBlurStrengthPropertyIndex() const {return mBlurStrengthPropertyIndex;} - Property::Index GetBloomIntensityPropertyIndex() const {return mBloomIntensityPropertyIndex;} - Property::Index GetBloomSaturationPropertyIndex() const {return mBloomSaturationPropertyIndex;} - Property::Index GetImageIntensityPropertyIndex() const {return mImageIntensityPropertyIndex;} - Property::Index GetImageSaturationPropertyIndex() const {return mImageSaturationPropertyIndex;} + static Dali::Toolkit::BloomView New(const unsigned int numSamples, const float blurBellCurveWidth, const Pixel::Format renderTargetPixelFormat, const float downsampleWidthScale, const float downsampleHeightScale); + void Activate(); + void Deactivate(); + + Property::Index GetBloomThresholdPropertyIndex() const + { + return mBloomThresholdPropertyIndex; + } + Property::Index GetBlurStrengthPropertyIndex() const + { + return mBlurStrengthPropertyIndex; + } + Property::Index GetBloomIntensityPropertyIndex() const + { + return mBloomIntensityPropertyIndex; + } + Property::Index GetBloomSaturationPropertyIndex() const + { + return mBloomSaturationPropertyIndex; + } + Property::Index GetImageIntensityPropertyIndex() const + { + return mImageIntensityPropertyIndex; + } + Property::Index GetImageSaturationPropertyIndex() const + { + return mImageSaturationPropertyIndex; + } private: - - virtual void OnInitialize(); - virtual void OnSizeSet(const Vector3& targetSize); + void OnInitialize() override; + void OnSizeSet(const Vector3& targetSize) override; /** - * @copydoc Control::OnControlChildAdd() + * @copydoc Control::OnChildAdd() */ - virtual void OnControlChildAdd( Actor& child ); + void OnChildAdd(Actor& child) override; /** - * @copydoc Control::OnControlChildRemove() + * @copydoc Control::OnChildRemove() */ - virtual void OnControlChildRemove( Actor& child ); + void OnChildRemove(Actor& child) override; void AllocateResources(); void CreateRenderTasks(); @@ -101,11 +113,10 @@ private: void SetupProperties(); - ///////////////////////////////////////////////////////////// - unsigned int mBlurNumSamples; // number of blur samples in each of horiz/vert directions - float mBlurBellCurveWidth; // constant used when calculating the gaussian weights - Pixel::Format mPixelFormat; // pixel format used by render targets + unsigned int mBlurNumSamples; // number of blur samples in each of horiz/vert directions + float mBlurBellCurveWidth; // constant used when calculating the gaussian weights + Pixel::Format mPixelFormat; // pixel format used by render targets ///////////////////////////////////////////////////////////// // downsampling is used for the separated blur passes to get increased blur with the same number of samples and also to make rendering quicker @@ -114,7 +125,6 @@ private: float mDownsampledWidth; float mDownsampledHeight; - ///////////////////////////////////////////////////////////// // for checking if we need to reallocate render targets Vector2 mTargetSize; @@ -133,14 +143,14 @@ private: ///////////////////////////////////////////////////////////// // for rendering all user added children to offscreen target - FrameBufferImage mRenderTargetForRenderingChildren; - RenderTask mRenderChildrenTask; + FrameBuffer mRenderTargetForRenderingChildren; + RenderTask mRenderChildrenTask; ///////////////////////////////////////////////////////////// // for extracting bright parts of image to an offscreen target - FrameBufferImage mBloomExtractTarget; // for rendering bright parts of image into separate texture, also used as target for gaussian blur - RenderTask mBloomExtractTask; - Toolkit::ImageView mBloomExtractImageActor; + FrameBuffer mBloomExtractTarget; // for rendering bright parts of image into separate texture, also used as target for gaussian blur + RenderTask mBloomExtractTask; + Actor mBloomExtractActor; ///////////////////////////////////////////////////////////// // for blurring extracted bloom @@ -150,12 +160,12 @@ private: // for compositing bloom and children renders to offscreen target RenderTask mCompositeTask; - Toolkit::ImageView mCompositeImageActor; + Actor mCompositeActor; ///////////////////////////////////////////////////////////// // for holding blurred result - FrameBufferImage mOutputRenderTarget; - Toolkit::ImageView mTargetImageActor; + FrameBuffer mOutputRenderTarget; + Actor mTargetActor; ///////////////////////////////////////////////////////////// // Properties for setting by user, e.g. by animations @@ -166,28 +176,27 @@ private: Property::Index mImageIntensityPropertyIndex; Property::Index mImageSaturationPropertyIndex; - bool mActivated:1; + bool mActivated : 1; private: - // Undefined copy constructor. - BloomView( const BloomView& ); + BloomView(const BloomView&); // Undefined assignment operator. - BloomView& operator=( const BloomView& ); + BloomView& operator=(const BloomView&); }; } // namespace Internal // Helpers for public-api forwarding methods -inline Toolkit::Internal::BloomView& GetImpl( Toolkit::BloomView& obj ) +inline Toolkit::Internal::BloomView& GetImpl(Toolkit::BloomView& obj) { DALI_ASSERT_ALWAYS(obj); Dali::RefObject& handle = obj.GetImplementation(); return static_cast(handle); } -inline const Toolkit::Internal::BloomView& GetImpl( const Toolkit::BloomView& obj ) +inline const Toolkit::Internal::BloomView& GetImpl(const Toolkit::BloomView& obj) { DALI_ASSERT_ALWAYS(obj); const Dali::RefObject& handle = obj.GetImplementation(); @@ -198,4 +207,4 @@ inline const Toolkit::Internal::BloomView& GetImpl( const Toolkit::BloomView& ob } // namespace Dali -#endif // __DALI_TOOLKIT_INTERNAL_BLOOM_VIEW_H__ +#endif // DALI_TOOLKIT_INTERNAL_BLOOM_VIEW_H