-#ifndef __DALI_TOOLKIT_INTERNAL_SPREAD_FILTER_H__
-#define __DALI_TOOLKIT_INTERNAL_SPREAD_FILTER_H__
+#ifndef DALI_TOOLKIT_INTERNAL_SPREAD_FILTER_H
+#define DALI_TOOLKIT_INTERNAL_SPREAD_FILTER_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.
*/
// EXTERNAL INCLUDES
-#include <dali/public-api/actors/camera-actor.h>
-#include <dali/public-api/actors/image-actor.h>
#include <dali/public-api/render-tasks/render-task.h>
-#include <dali/public-api/shader-effects/shader-effect.h>
// INTERNAL INCLUDES
#include "image-filter.h"
namespace Dali
{
-
namespace Toolkit
{
-
namespace Internal
{
-
/**
* A spread/thicken filter. Expands an image into transparent areas.
*/
* Set the amount of spread in pixels.
* @param[in] spread The amount of spread
*/
- void SetSpread( float spread );
+ void SetSpread(float spread);
public: // From ImageFilter
/// @copydoc Dali::Toolkit::Internal::ImageFilter::Enable
- virtual void Enable();
+ void Enable() override;
/// @copydoc Dali::Toolkit::Internal::ImageFilter::Disable
- virtual void Disable();
+ void Disable() override;
/// @copydoc Dali::Toolkit::Internal::ImageFilter::Refresh
- virtual void Refresh();
+ void Refresh() override;
/// @copydoc Dali::Toolkit::Internal::ImageFilter::SetSize
- virtual void SetSize( const Vector2& size );
+ void SetSize(const Vector2& size) override;
private:
/**
- * Setup position and parameters for camera
- */
- void SetupCamera();
-
- /**
* Setup render tasks for blur
*/
void CreateRenderTasks();
private:
- SpreadFilter( const SpreadFilter& );
- SpreadFilter& operator=( const SpreadFilter& );
+ SpreadFilter(const SpreadFilter&);
+ SpreadFilter& operator=(const SpreadFilter&);
private: // Attributes
- int mSpread;
- CameraActor mCameraActor;
-
- // To perform horizontal spread from mInputImage to mImageForHorz
- RenderTask mRenderTaskForHorz;
- ImageActor mActorForInput;
- FrameBufferImage mImageForHorz;
- ShaderEffect mShaderForHorz;
-
- // To perform vertical spread from mImageForHorz to mOutputImage
- RenderTask mRenderTaskForVert;
- ImageActor mActorForHorz;
- ShaderEffect mShaderForVert;
+ // To perform horizontal spread from mInputTexture to mFrameBufferForHorz
+ RenderTask mRenderTaskForHorz;
+ Actor mActorForInput;
+ FrameBuffer mFrameBufferForHorz;
+
+ // To perform vertical spread from mFrameBufferForHorz to mOutputFrameBuffer
+ RenderTask mRenderTaskForVert;
+ Actor mActorForHorz;
+
+ int mSpread;
}; // class SpreadFilter
} // namespace Internal
} // namespace Dali
-#endif // __DALI_TOOLKIT_INTERNAL_SPREAD_FILTER_H__
-
+#endif // DALI_TOOLKIT_INTERNAL_SPREAD_FILTER_H