-#ifndef __DALI_TOOLKIT_INTERNAL_EFFECTS_VIEW_H__
-#define __DALI_TOOLKIT_INTERNAL_EFFECTS_VIEW_H__
+#ifndef DALI_TOOLKIT_INTERNAL_EFFECTS_VIEW_H
+#define DALI_TOOLKIT_INTERNAL_EFFECTS_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.
#include <dali/public-api/actors/camera-actor.h>
#include <dali/public-api/common/dali-vector.h>
#include <dali/public-api/render-tasks/render-task.h>
+#include <dali/public-api/rendering/frame-buffer.h>
+#include <dali/public-api/rendering/renderer.h>
// INTERNAL INCLUDES
#include <dali-toolkit/devel-api/controls/effects-view/effects-view.h>
#include <dali-toolkit/public-api/controls/control-impl.h>
-#include <dali-toolkit/public-api/controls/gaussian-blur-view/gaussian-blur-view.h>
-#include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
namespace Dali
{
-
namespace Toolkit
{
-
namespace Internal
{
-
class GaussianBlurView;
class ImageFilter;
EffectsView();
/**
- * Constructor.
- * @copydoc Toolkit::EffectsView New(const unsigned int,const float,const Pixel::Format,const float,const float)
- */
- EffectsView(const unsigned int numSamples, const float blurBellCurveWidth, const int spread,
- const Pixel::Format pixelFormat,
- const float downsampleWidthScale, const float downsampleHeightScale,
- FrameBufferImage image);
-
- /**
* A reference counted object may only be deleted by calling Unreference()
*/
virtual ~EffectsView();
public:
-
/// @copydoc Dali::Toolkit::EffectsView::SetType
- void SetType( Toolkit::EffectsView::EffectType type );
+ void SetType(Toolkit::EffectsView::EffectType type);
/// @copydoc Dali::Toolkit::EffectsView::GetType
Toolkit::EffectsView::EffectType GetType() const;
void Refresh();
/// @copydoc Dali::Toolkit::EffectsView::SetRefreshOnDemand
- void SetRefreshOnDemand( bool onDemand );
+ void SetRefreshOnDemand(bool onDemand);
/// @copydoc Dali::Toolkit::EffectsView::SetPixelFormat
- void SetPixelFormat( Pixel::Format pixelFormat );
+ void SetPixelFormat(Pixel::Format pixelFormat);
/// @copydoc Dali::Toolkit::EffectsView::SetBackgroundColor(const Vector4&)
- void SetBackgroundColor( const Vector4& color );
+ void SetBackgroundColor(const Vector4& color);
/// @copydoc Dali::Toolkit::GaussianBlurView::GetBackgroundColor
Vector4 GetBackgroundColor() const;
* Set the effect size which decides the size of filter kernel.
* @param[in] effectSize The effect size.
*/
- void SetEffectSize( int effectSize );
+ void SetEffectSize(int effectSize);
/**
* Get the effect size.
* @param[in] index The property index.
* @param[in] value The new property value.
*/
- static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value );
-
+ static void SetProperty(BaseObject* object, Property::Index index, const Property::Value& value);
/**
* Called to retrieve a property of an object of this type.
* @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);
private: // From Control
-
/**
* @copydoc Toolkit::Internal::Control::OnInitialize()
*/
- virtual void OnInitialize();
+ void OnInitialize() override;
/**
* @copydoc CustomActorImpl::OnSizeSet( const Vector3& targetSize )
*/
- virtual void OnSizeSet( const Vector3& targetSize );
+ void OnSizeSet(const Vector3& targetSize) override;
/**
- * @copydoc Toolkit::Internal::Control::OnStageConnection
+ * @copydoc Toolkit::Internal::Control::OnSceneConnection
*/
- virtual void OnStageConnection( int depth );
+ void OnSceneConnection(int depth) override;
/**
- * @copydoc Toolkit::Internal::Control::OnStageDisconnection
+ * @copydoc Toolkit::Internal::Control::OnSceneDisconnection
*/
- virtual void OnStageDisconnection();
+ void OnSceneDisconnection() override;
/**
* @copydoc Toolkit::Internal::Control::OnChildAdd
*/
- virtual void OnChildAdd( Actor& child );
+ void OnChildAdd(Actor& child) override;
/**
* @copydoc Toolkit::Internal::Control::OnChildRemove
*/
- virtual void OnChildRemove( Actor& child );
+ void OnChildRemove(Actor& child) override;
private:
-
/**
* Enable the effect when the control is set on stage
*/
void RemoveFilters();
private:
-
// Undefined
- EffectsView( const EffectsView& );
+ EffectsView(const EffectsView&);
// Undefined
- EffectsView& operator = ( const EffectsView& );
+ EffectsView& operator=(const EffectsView&);
private: // attributes/properties
-
/////////////////////////////////////////////////////////////
// for rendering all user added children to offscreen target
- FrameBufferImage mImageForChildren;
- Toolkit::Visual::Base mVisualForChildren;
- RenderTask mRenderTaskForChildren;
- CameraActor mCameraForChildren;
- Actor mChildrenRoot; // for creating a subtree for all user added child actors
+ FrameBuffer mFrameBufferForChildren;
+ Renderer mRendererForChildren;
+ RenderTask mRenderTaskForChildren;
+ CameraActor mCameraForChildren;
+ Actor mChildrenRoot; // for creating a subtree for all user added child actors
/////////////////////////////////////////////////////////////
// background fill color
Vector2 mLastSize;
/////////////////////////////////////////////////////////////
// post blur image
- FrameBufferImage mImagePostFilter;
- Toolkit::Visual::Base mVisualPostFilter;
+ FrameBuffer mFrameBufferPostFilter;
+ Renderer mRendererPostFilter;
Vector<ImageFilter*> mFilters;
/////////////////////////////////////////////////////////////
Toolkit::EffectsView::EffectType mEffectType;
- Pixel::Format mPixelFormat; ///< pixel format used by render targets
+ Pixel::Format mPixelFormat; ///< pixel format used by render targets
- bool mEnabled:1;
- bool mRefreshOnDemand:1;
+ bool mEnabled : 1;
+ bool mRefreshOnDemand : 1;
}; // class EffectsView
} // namespace Internal
-
// Helpers for public-api forwarding methods
-inline Toolkit::Internal::EffectsView& GetImpl( Toolkit::EffectsView& effectsView )
+inline Toolkit::Internal::EffectsView& GetImpl(Toolkit::EffectsView& effectsView)
{
- DALI_ASSERT_ALWAYS( effectsView );
+ DALI_ASSERT_ALWAYS(effectsView);
Dali::RefObject& handle = effectsView.GetImplementation();
- return static_cast<Toolkit::Internal::EffectsView&>( handle );
+ return static_cast<Toolkit::Internal::EffectsView&>(handle);
}
-inline const Toolkit::Internal::EffectsView& GetImpl( const Toolkit::EffectsView& effectsView )
+inline const Toolkit::Internal::EffectsView& GetImpl(const Toolkit::EffectsView& effectsView)
{
- DALI_ASSERT_ALWAYS( effectsView );
+ DALI_ASSERT_ALWAYS(effectsView);
const Dali::RefObject& handle = effectsView.GetImplementation();
- return static_cast<const Toolkit::Internal::EffectsView&>( handle );
+ return static_cast<const Toolkit::Internal::EffectsView&>(handle);
}
} // namespace Toolkit
} // namespace Dali
-#endif // __DALI_TOOLKIT_INTERNAL_EFFECTS_VIEW_H__
-
+#endif // DALI_TOOLKIT_INTERNAL_EFFECTS_VIEW_H