Merge "Check if number of textures match active samplers" into devel/master
[platform/core/uifw/dali-core.git] / dali / internal / event / render-tasks / render-task-impl.cpp
index 4c3ba9b..a1ad2b8 100644 (file)
@@ -183,6 +183,25 @@ void RenderTask::SetTargetFrameBuffer( Dali::FrameBufferImage image )
   }
 }
 
+void RenderTask::SetFrameBuffer( Dali::FrameBuffer frameBuffer )
+{
+  if( frameBuffer )
+  {
+    mFrameBuffer = Internal::FrameBufferPtr( &GetImplementation( frameBuffer ) );
+    SetFrameBufferMessage( GetEventThreadServices(), *mSceneObject, mFrameBuffer->GetRenderObject() );
+  }
+  else
+  {
+    mFrameBuffer.Reset();
+    SetFrameBufferMessage( GetEventThreadServices(), *mSceneObject, NULL );
+  }
+}
+
+FrameBuffer* RenderTask::GetFrameBuffer() const
+{
+  return mFrameBuffer.Get();
+}
+
 Dali::FrameBufferImage RenderTask::GetTargetFrameBuffer() const
 {
   return mFrameBufferImage;
@@ -770,7 +789,7 @@ Dali::RenderTask::RenderTaskSignalType& RenderTask::FinishedSignal()
 bool RenderTask::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor )
 {
   bool connected( true );
-  RenderTask* renderTask = dynamic_cast<RenderTask*>(object);
+  RenderTask* renderTask = static_cast< RenderTask* >(object); // TypeRegistry guarantees that this is the correct type.
 
   if ( 0 == strcmp( signalName.c_str(), SIGNAL_FINISHED ) )
   {