X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fcontrollers%2Frender-message-dispatcher.h;h=7980606315c65f74643f0434e54277969ddd91e6;hb=13c23d2628ce5e911c432062e7660a36a468d823;hp=654d7b797e0c901851e16a6c501d9ccae03adbb1;hpb=cf6aefb867c26e7544b4dbdcb09488d28d1e17c9;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/controllers/render-message-dispatcher.h b/dali/internal/update/controllers/render-message-dispatcher.h index 654d7b7..7980606 100644 --- a/dali/internal/update/controllers/render-message-dispatcher.h +++ b/dali/internal/update/controllers/render-message-dispatcher.h @@ -20,6 +20,7 @@ // INTERNAL INCLUDES #include +#include namespace Dali { @@ -34,7 +35,8 @@ class Renderer; class RenderManager; class RenderQueue; class RenderTracker; - +class RenderGeometry; +class PropertyBufferDataProvider; /** * A utility class for sending messages to the render-thread. */ @@ -61,13 +63,43 @@ public: /** * Remove a Renderer. - * @param[in] updateBufferIndex The current buffer index. * @param[in] renderer The renderer to remove. * @post renderer will be destroyed in the next Render. */ void RemoveRenderer( Renderer& renderer ); /** + * Add a Geometry + * @param[in] renderGeometry The geometry to add. + * @post RenderGeometry ownership is transferred. + */ + void AddGeometry( RenderGeometry& renderGeometry ); + + /** + * Remove a Geometry. + * @param[in] renderGeometry The geometry to remove. + * @post RenderGeometry will be destroyed in the next Render. + */ + void RemoveGeometry( RenderGeometry& renderGeometry ); + + /** + * Add a PropertyBuffer. + * @param[in] renderGeometry The geometry + * @param[in] propertyBuffer The PropertyBuffer + * @param[in] target Specifies the type of the buffer + * @param[in] usage Specifies how will the buffer be used + */ + void AddPropertyBuffer( RenderGeometry& renderGeometry, PropertyBufferDataProvider* propertyBuffer, GpuBuffer::Target target, GpuBuffer::Usage usage ); + + /** + * Remove a PropertyBuffer. + * @param[in] renderGeometry The geometry + * @param[in] propertyBuffer The PropertyBuffer + * @post PropertyBuffer will be destroyed in the next Render. + */ + void RemovePropertyBuffer( RenderGeometry& renderGeometry, PropertyBufferDataProvider* propertyBuffer ); + + /** * Add a Render tracker. * @param[in] renderTracker The render tracker to add. * @post ownership is transferred