Add null check for mTextureSet.
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / filters / blur-two-pass-filter.h
index 1e723b9..8ff681a 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_TOOLKIT_INTERNAL_BLUR_TWO_PASS_FILTER_H__
-#define __DALI_TOOLKIT_INTERNAL_BLUR_TWO_PASS_FILTER_H__
+#ifndef DALI_TOOLKIT_INTERNAL_BLUR_TWO_PASS_FILTER_H
+#define DALI_TOOLKIT_INTERNAL_BLUR_TWO_PASS_FILTER_H
 
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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"
@@ -55,16 +52,16 @@ public:
 
 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;
 
   /**
    * Get the property index that controls the strength of the blur applied to the image. Useful for animating this property.
@@ -79,10 +76,6 @@ public: // From ImageFilter
   Handle GetHandleForAnimateBlurStrength();
 
 private:
-  /**
-   * Setup position and parameters for camera
-   */
-  void SetupCamera();
 
   /**
    * Setup render tasks for blur
@@ -95,26 +88,21 @@ private:
 
 private: // Attributes
 
-  CameraActor      mCameraForBlur;
-
-  // To perform horizontal blur from mInputImage to mImageForHorz
-  RenderTask       mRenderTaskForHorz;
-  ImageActor       mActorForInput;
-  FrameBufferImage mImageForHorz;
-  ShaderEffect     mShaderForHorz;
+  // To perform horizontal blur from mInputTexture to mFrameBufferForHorz
+  RenderTask         mRenderTaskForHorz;
+  Actor              mActorForInput;
+  FrameBuffer        mFrameBufferForHorz;
 
-  // To perform vertical blur from mImageForHorz to mOutputImage
-  RenderTask       mRenderTaskForVert;
-  ImageActor       mActorForHorz;
-  ShaderEffect     mShaderForVert;
-  FrameBufferImage mBlurredImage;
+  // To perform vertical blur from mFrameBufferForHorz to mOutputFrameBuffer
+  RenderTask         mRenderTaskForVert;
+  Actor              mActorForHorz;
+  FrameBuffer        mBlurredFrameBuffer;
 
   // To blend the blurred image and input image according to the blur strength
-  RenderTask       mRenderTaskForBlending;
-  ImageActor       mActorForBlending;
-  Actor            mRootActorForBlending;
-  ShaderEffect     mShaderForBlending;
-  Property::Index  mBlurStrengthPropertyIndex;
+  RenderTask         mRenderTaskForBlending;
+  Actor              mActorForBlending;
+  Actor              mRootActorForBlending;
+  Property::Index    mBlurStrengthPropertyIndex;
 
 }; // class BlurTwoPassFilter
 
@@ -124,5 +112,5 @@ private: // Attributes
 
 } // namespace Dali
 
-#endif // __DALI_TOOLKIT_INTERNAL_BLUR_TWO_PASS_FILTER_H__
+#endif // DALI_TOOLKIT_INTERNAL_BLUR_TWO_PASS_FILTER_H