Dali 3D User Interface Engine
List of all members | Public Member Functions | Private Attributes
Dali::Internal::SceneGraph::RenderMessageDispatcher Class Reference

A utility class for sending messages to the render-thread. More...

#include <render-message-dispatcher.h>

Collaboration diagram for Dali::Internal::SceneGraph::RenderMessageDispatcher:
Collaboration graph
[legend]

Public Member Functions

 RenderMessageDispatcher (RenderManager &renderManager, RenderQueue &renderQueue, const SceneGraphBuffers &buffers)
 Constructor. More...
 
virtual ~RenderMessageDispatcher ()
 Destructor. More...
 
void AddRenderer (Render::Renderer &renderer)
 Add a Renderer. More...
 
void RemoveRenderer (Render::Renderer &renderer)
 Remove a Renderer. More...
 
void AddGeometry (RenderGeometry &renderGeometry)
 Add a Geometry. More...
 
void RemoveGeometry (RenderGeometry &renderGeometry)
 Remove a Geometry. More...
 
void AddPropertyBuffer (RenderGeometry &renderGeometry, Render::PropertyBuffer *propertyBuffer, bool isIndexBuffer)
 Add a PropertyBuffer. More...
 
void RemovePropertyBuffer (RenderGeometry &renderGeometry, Render::PropertyBuffer *propertyBuffer)
 Remove a PropertyBuffer. More...
 
void SetGeometryType (RenderGeometry &geometry, int geometryType)
 Set the geometry type of an existing render geometry. More...
 
void SetGeometryRequiresDepthTest (RenderGeometry &geometry, bool requiresDepthTest)
 Set if an existing geometry requires depth testing. More...
 
void AddRenderTracker (Render::RenderTracker &renderTracker)
 Add a Render tracker. More...
 
void RemoveRenderTracker (Render::RenderTracker &renderTracker)
 Remove a Render tracker. More...
 

Private Attributes

RenderManagermRenderManager
 
RenderQueuemRenderQueue
 
const SceneGraphBuffersmBuffers
 

Detailed Description

A utility class for sending messages to the render-thread.

Definition at line 48 of file render-message-dispatcher.h.

Constructor & Destructor Documentation

Dali::Internal::SceneGraph::RenderMessageDispatcher::RenderMessageDispatcher ( RenderManager renderManager,
RenderQueue renderQueue,
const SceneGraphBuffers buffers 
)

Constructor.

Definition at line 35 of file render-message-dispatcher.cpp.

Dali::Internal::SceneGraph::RenderMessageDispatcher::~RenderMessageDispatcher ( )
virtual

Destructor.

Definition at line 42 of file render-message-dispatcher.cpp.

Member Function Documentation

void Dali::Internal::SceneGraph::RenderMessageDispatcher::AddGeometry ( RenderGeometry renderGeometry)

Add a Geometry.

Parameters
[in]renderGeometryThe geometry to add.
Postcondition
RenderGeometry ownership is transferred.

Definition at line 68 of file render-message-dispatcher.cpp.

References Dali::Internal::SceneGraph::RenderManager::AddGeometry(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mBuffers, mRenderManager, mRenderQueue, and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::Geometry::GetRenderGeometry().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderMessageDispatcher::AddPropertyBuffer ( RenderGeometry renderGeometry,
Render::PropertyBuffer propertyBuffer,
bool  isIndexBuffer 
)

Add a PropertyBuffer.

Parameters
[in]renderGeometryThe geometry
[in]propertyBufferThe PropertyBuffer
[in]isIndexBufferTrue if the buffer is intended to be used as an index buffer

Definition at line 90 of file render-message-dispatcher.cpp.

References Dali::Internal::SceneGraph::RenderManager::AddPropertyBuffer(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mBuffers, mRenderManager, mRenderQueue, and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::Geometry::AddVertexBuffer(), and Dali::Internal::SceneGraph::Geometry::SetIndexBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderMessageDispatcher::AddRenderer ( Render::Renderer renderer)

Add a Renderer.

Parameters
[in]rendererThe renderer to add.
Postcondition
renderer ownership is transferred.

Definition at line 46 of file render-message-dispatcher.cpp.

References Dali::Internal::SceneGraph::RenderManager::AddRenderer(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mBuffers, mRenderManager, mRenderQueue, and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::Renderer::OnStageConnect().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderMessageDispatcher::AddRenderTracker ( Render::RenderTracker renderTracker)

Add a Render tracker.

Parameters
[in]renderTrackerThe render tracker to add.
Postcondition
ownership is transferred

Definition at line 134 of file render-message-dispatcher.cpp.

References Dali::Internal::SceneGraph::RenderManager::AddRenderTracker(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mBuffers, mRenderManager, mRenderQueue, and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::RenderTask::PrepareRenderInstruction().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderMessageDispatcher::RemoveGeometry ( RenderGeometry renderGeometry)

Remove a Geometry.

Parameters
[in]renderGeometryThe geometry to remove.
Postcondition
RenderGeometry will be destroyed in the next Render.

Definition at line 79 of file render-message-dispatcher.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mBuffers, mRenderManager, mRenderQueue, Dali::Internal::SceneGraph::RenderManager::RemoveGeometry(), and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::Geometry::OnRendererDisconnect().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderMessageDispatcher::RemovePropertyBuffer ( RenderGeometry renderGeometry,
Render::PropertyBuffer propertyBuffer 
)

Remove a PropertyBuffer.

Parameters
[in]renderGeometryThe geometry
[in]propertyBufferThe PropertyBuffer
Postcondition
PropertyBuffer will be destroyed in the next Render.

Definition at line 101 of file render-message-dispatcher.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mBuffers, mRenderManager, mRenderQueue, Dali::Internal::SceneGraph::RenderManager::RemovePropertyBuffer(), and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::Geometry::ClearIndexBuffer(), and Dali::Internal::SceneGraph::Geometry::RemoveVertexBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderMessageDispatcher::RemoveRenderer ( Render::Renderer renderer)

Remove a Renderer.

Parameters
[in]rendererThe renderer to remove.
Postcondition
renderer will be destroyed in the next Render.

Definition at line 57 of file render-message-dispatcher.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mBuffers, mRenderManager, mRenderQueue, Dali::Internal::SceneGraph::RenderManager::RemoveRenderer(), and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::Renderer::DisconnectFromSceneGraph(), and Dali::Internal::SceneGraph::Renderer::OnStageDisconnect().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderMessageDispatcher::RemoveRenderTracker ( Render::RenderTracker renderTracker)

Remove a Render tracker.

Parameters
[in]renderTrackerThe render tracker to add.
Postcondition
render tracker will be destroyed in the next Render pass.

Definition at line 145 of file render-message-dispatcher.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mBuffers, mRenderManager, mRenderQueue, Dali::Internal::SceneGraph::RenderManager::RemoveRenderTracker(), and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::RenderTask::~RenderTask().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderMessageDispatcher::SetGeometryRequiresDepthTest ( RenderGeometry geometry,
bool  requiresDepthTest 
)

Set if an existing geometry requires depth testing.

Parameters
[in]geometryThe render geometry
[in]requiresDepthTestTrue if depth testing is required, false otherwise

Definition at line 123 of file render-message-dispatcher.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mBuffers, mRenderManager, mRenderQueue, Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot(), and Dali::Internal::SceneGraph::RenderManager::SetGeometryRequiresDepthTest().

Referenced by Dali::Internal::SceneGraph::Geometry::SetRequiresDepthTest().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::RenderMessageDispatcher::SetGeometryType ( RenderGeometry geometry,
int  geometryType 
)

Set the geometry type of an existing render geometry.

Parameters
[in]geometryThe render geometry
[in]geometryTypeThe new geometry type

Definition at line 112 of file render-message-dispatcher.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mBuffers, mRenderManager, mRenderQueue, Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot(), and Dali::Internal::SceneGraph::RenderManager::SetGeometryType().

Referenced by Dali::Internal::SceneGraph::Geometry::SetGeometryType().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

const SceneGraphBuffers& Dali::Internal::SceneGraph::RenderMessageDispatcher::mBuffers
private
RenderManager& Dali::Internal::SceneGraph::RenderMessageDispatcher::mRenderManager
private
RenderQueue& Dali::Internal::SceneGraph::RenderMessageDispatcher::mRenderQueue
private

The documentation for this class was generated from the following files:
Dali Docs Home
Read more about Dali