Ensure cached values of properties animated using AnimateTo are updated
[platform/core/uifw/dali-core.git] / dali / internal / event / render-tasks / render-task-impl.h
index 9002aa6..90d5cc3 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_INTERNAL_RENDER_TASK_H__
 
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -21,7 +21,7 @@
 // INTERNAL INCLUDES
 #include <dali/public-api/object/base-object.h>
 #include <dali/public-api/render-tasks/render-task.h>
-#include <dali/public-api/images/frame-buffer-image.h>
+#include <dali/internal/event/images/frame-buffer-image-impl.h>
 #include <dali/internal/event/common/object-impl.h>
 #include <dali/internal/event/rendering/frame-buffer-impl.h>
 
@@ -96,17 +96,17 @@ public:
   /**
    * @copydoc Dali::RenderTask::SetTargetFrameBuffer()
    */
-  void SetTargetFrameBuffer( Dali::FrameBufferImage frameBuffer );
+  void SetTargetFrameBuffer( FrameBufferImagePtr frameBuffer );
 
   /**
    * @copydoc Dali::RenderTask::GetTargetFrameBuffer
    */
-  Dali::FrameBufferImage GetTargetFrameBuffer() const;
+  FrameBufferImage* GetTargetFrameBuffer() const;
 
   /**
     * @copydoc Dali::RenderTask::SetFrameBuffer()
     */
-   void SetFrameBuffer( Dali::FrameBuffer frameBuffer );
+   void SetFrameBuffer( FrameBufferPtr frameBuffer );
 
    /**
     * @copydoc Dali::RenderTask::GetFrameBuffer
@@ -318,6 +318,16 @@ public: // Implementation of Object
   virtual Property::Value GetDefaultProperty( Property::Index index ) const;
 
   /**
+   * @copydoc Dali::Internal::Object::GetDefaultPropertyCurrentValue()
+   */
+  virtual Property::Value GetDefaultPropertyCurrentValue( Property::Index index ) const;
+
+  /**
+   * @copydoc Dali::Internal::Object::OnNotifyDefaultPropertyAnimation()
+   */
+  virtual void OnNotifyDefaultPropertyAnimation( Animation& animation, Property::Index index, const Property::Value& value );
+
+  /**
    * @copydoc Dali::Internal::Object::GetSceneObject()
    */
   virtual const SceneGraph::PropertyOwner* GetSceneObject() const;
@@ -457,11 +467,14 @@ private:
 
   Vector4 mClearColor;       ///< Optional clear color
 
+  Vector2 mViewportPosition; ///< The cached viewport position
+  Vector2 mViewportSize;     ///< The cached viewport size
+
   unsigned int mRefreshRate; ///< Determines how often the task is processed.
 
   unsigned int mRefreshOnceCounter;
 
-  Dali::FrameBufferImage mFrameBufferImage;  ///< Optional off-screen render target.
+  FrameBufferImagePtr mFrameBufferImage;  ///< Optional off-screen render target.
   FrameBufferPtr  mFrameBuffer;