Tizen 2.4.0 rev3 SDK Public Release
[framework/graphics/dali.git] / dali / internal / update / controllers / render-message-dispatcher.cpp
index ec1a2eb..4f9c66c 100644 (file)
@@ -65,6 +65,28 @@ void RenderMessageDispatcher::RemoveRenderer( Renderer& renderer )
   new (slot) DerivedType( &mRenderManager, &RenderManager::RemoveRenderer, &renderer );
 }
 
+void RenderMessageDispatcher::AddImageRenderer( ImageRenderer* renderer, NodeDataProvider* dataProvider )
+{
+  typedef MessageValue2< RenderManager, ImageRenderer*, NodeDataProvider* > DerivedType;
+
+  // Reserve some memory inside the render queue
+  unsigned int* slot = mRenderQueue.ReserveMessageSlot( mBuffers.GetUpdateBufferIndex(), sizeof( DerivedType ) );
+
+  // Construct message in the render queue memory; note that delete should not be called on the return value
+  new (slot) DerivedType( &mRenderManager, &RenderManager::AddImageRenderer, renderer, dataProvider );
+}
+
+void RenderMessageDispatcher::RemoveImageRenderer( ImageRenderer* renderer )
+{
+  typedef MessageValue1< RenderManager, ImageRenderer* > DerivedType;
+
+  // Reserve some memory inside the render queue
+  unsigned int* slot = mRenderQueue.ReserveMessageSlot( mBuffers.GetUpdateBufferIndex(), sizeof( DerivedType ) );
+
+  // Construct message in the render queue memory; note that delete should not be called on the return value
+  new (slot) DerivedType( &mRenderManager, &RenderManager::RemoveImageRenderer, renderer );
+}
+
 void RenderMessageDispatcher::AddGeometry( RenderGeometry& renderGeometry )
 {
   typedef MessageValue1< RenderManager, RenderGeometry* > DerivedType;