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

UpdateManager maintains a scene graph i.e. More...

#include <update-manager.h>

Inheritance diagram for Dali::Internal::SceneGraph::UpdateManager:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::SceneGraph::UpdateManager:
Collaboration graph
[legend]

Classes

struct  Impl
 Structure to contain UpdateManager internal data. More...
 

Public Member Functions

 UpdateManager (NotificationManager &notificationManager, CompleteNotificationInterface &animationFinishedNotifier, PropertyNotifier &propertyNotifier, ResourceManager &resourceManager, DiscardQueue &discardQueue, Integration::RenderController &controller, RenderManager &renderManager, RenderQueue &renderQueue, TextureCache &textureCache, TouchResampler &touchResampler)
 Construct a new UpdateManager. More...
 
virtual ~UpdateManager ()
 Destructor. More...
 
RenderTaskListGetRenderTaskList (bool systemLevel)
 Get the scene graph side list of RenderTasks. More...
 
void InstallRoot (Layer *layer, bool systemLevel)
 Installs a new layer as the root node. More...
 
void AddNode (Node *node)
 Add a Node; UpdateManager takes ownership. More...
 
void ConnectNode (Node *parent, Node *node)
 Connect a Node to the scene-graph. More...
 
void DisconnectNode (Node *node)
 Disconnect a Node from the scene-graph. More...
 
void DestroyNode (Node *node)
 Destroy a Node owned by UpdateManager. More...
 
void AttachToNode (Node *node, NodeAttachment *attachment)
 Attach an object to a Node. More...
 
void AddObject (PropertyOwner *object)
 Add a newly created object. More...
 
void RemoveObject (PropertyOwner *object)
 Remove an object. More...
 
void AddAnimation (Animation *animation)
 Add a newly created animation. More...
 
void StopAnimation (Animation *animation)
 Stop an animation. More...
 
void RemoveAnimation (Animation *animation)
 Remove an animation. More...
 
bool IsAnimationRunning () const
 Query whether any animations are currently running. More...
 
void AddPropertyNotification (PropertyNotification *propertyNotification)
 Add a newly created property notification. More...
 
void RemovePropertyNotification (PropertyNotification *propertyNotification)
 Remove a property notification. More...
 
void PropertyNotificationSetNotify (PropertyNotification *propertyNotification, PropertyNotification::NotifyMode notifyMode)
 Set Notify state for PropertyNotification. More...
 
ObjectOwnerContainer< Geometry > & GetGeometryOwner ()
 Get the geometry owner. More...
 
ObjectOwnerContainer< Renderer > & GetRendererOwner ()
 
ObjectOwnerContainer< Material > & GetMaterialOwner ()
 Get the material owner. More...
 
ObjectOwnerContainer
< PropertyBuffer > & 
GetPropertyBufferOwner ()
 Get the property buffer owner. More...
 
void AddShader (Shader *shader)
 Add a newly created shader. More...
 
void RemoveShader (Shader *shader)
 Remove a shader. More...
 
void SetShaderProgram (Shader *shader, Internal::ShaderDataPtr shaderData, bool modifiesGeometry)
 Set the shader program for a Shader object. More...
 
virtual void SaveBinary (Internal::ShaderDataPtr shaderData)
 Accept compiled shaders passed back on render thread for saving. More...
 
void SetShaderSaver (ShaderSaver &upstream)
 Set the destination for compiled shader binaries to be passed on to. More...
 
void AddGesture (PanGesture *gesture)
 Add a newly created gesture. More...
 
void RemoveGesture (PanGesture *gesture)
 Remove a gesture. More...
 
unsigned int * ReserveMessageSlot (std::size_t size, bool updateScene=true)
 Reserve space for another message in the queue; this must then be initialized by the caller. More...
 
BufferIndex GetEventBufferIndex () const
 
void EventProcessingStarted ()
 Called by the event-thread to signal that FlushQueue will be called e.g. More...
 
bool FlushQueue ()
 Flush the set of messages, which were previously stored with QueueMessage(). More...
 
void AddSampler (Render::Sampler *sampler)
 Add a new sampler to RenderManager. More...
 
void RemoveSampler (Render::Sampler *sampler)
 Removes an existing sampler from RenderManager. More...
 
void SetFilterMode (Render::Sampler *sampler, unsigned int minFilterMode, unsigned int magFilterMode)
 Sets the filter modes for an existing sampler. More...
 
void SetWrapMode (Render::Sampler *sampler, unsigned int uWrapMode, unsigned int vWrapMode)
 Sets the wrap mode for an existing sampler. More...
 
void AddPropertyBuffer (Render::PropertyBuffer *propertryBuffer)
 Add a new sampler to RenderManager. More...
 
void RemovePropertyBuffer (Render::PropertyBuffer *propertryBuffer)
 Removes an existing PropertyBuffer from RenderManager. More...
 
void SetPropertyBufferFormat (Render::PropertyBuffer *propertyBuffer, Render::PropertyBuffer::Format *format)
 Sets the format of an existing property buffer. More...
 
void SetPropertyBufferData (Render::PropertyBuffer *propertyBuffer, Dali::Vector< char > *data)
 Sets the data of an existing property buffer. More...
 
void SetPropertyBufferSize (Render::PropertyBuffer *propertyBuffer, size_t size)
 Sets the size of an existing property buffer. More...
 
unsigned int Update (float elapsedSeconds, unsigned int lastVSyncTimeMilliseconds, unsigned int nextVSyncTimeMilliseconds)
 Performs an Update traversal on the scene-graph. More...
 
void SetBackgroundColor (const Vector4 &color)
 Set the background color i.e. More...
 
void SetDefaultSurfaceRect (const Rect< int > &rect)
 Set the default surface rect. More...
 
void KeepRendering (float durationSeconds)
 Keep rendering for at least the given amount of time. More...
 
void SetLayerDepths (const std::vector< Layer * > &layers, bool systemLevel)
 Sets the depths of all layers. More...
 

Private Member Functions

 UpdateManager (const UpdateManager &)
 
UpdateManageroperator= (const UpdateManager &rhs)
 
unsigned int KeepUpdatingCheck (float elapsedSeconds) const
 Helper to check whether the update-thread should keep going. More...
 
void UpdateProjectionAndViewMatrices (int updateBuffer)
 Helper to calculate new camera setup when root node resizes. More...
 
void PostProcessResources ()
 Post process resources that have been updated by renderer. More...
 
void ResetProperties (BufferIndex bufferIndex)
 Helper to reset all Node properties. More...
 
bool ProcessGestures (BufferIndex bufferIndex, unsigned int lastVSyncTimeMilliseconds, unsigned int nextVSyncTimeMilliseconds)
 Perform gesture updates. More...
 
void Animate (BufferIndex bufferIndex, float elapsedSeconds)
 Perform animation updates. More...
 
void ConstrainCustomObjects (BufferIndex bufferIndex)
 Applies constraints to CustomObjects. More...
 
void ConstrainRenderTasks (BufferIndex bufferIndex)
 Applies constraints to RenderTasks. More...
 
void ConstrainShaders (BufferIndex bufferIndex)
 Applies constraints to Shaders. More...
 
void ProcessPropertyNotifications (BufferIndex bufferIndex)
 Perform property notification updates. More...
 
void PrepareMaterials (BufferIndex bufferIndex)
 Prepare materials for rendering. More...
 
void ForwardCompiledShadersToEventThread ()
 Pass shader binaries queued here on to event thread. More...
 
void UpdateDefaultCamera (int updateBuffer)
 Update the default camera. More...
 
void UpdateNodes (BufferIndex bufferIndex)
 Update node shaders, opacity, geometry etc. More...
 
void UpdateRenderers (BufferIndex bufferIndex)
 Update Renderers. More...
 

Private Attributes

SceneGraphBuffers mSceneGraphBuffers
 
ImplmImpl
 

Additional Inherited Members

- Protected Member Functions inherited from Dali::Internal::ShaderSaver
virtual ~ShaderSaver ()
 Destructor. More...
 

Detailed Description

UpdateManager maintains a scene graph i.e.

a tree of nodes and attachments and other property owner objects. It controls the Update traversal, in which nodes are repositioned/animated, and organizes the the culling and rendering of the scene. It also maintains the lifecycle of nodes and other property owners that are disconnected from the scene graph.

Definition at line 91 of file update-manager.h.

Constructor & Destructor Documentation

Dali::Internal::SceneGraph::UpdateManager::UpdateManager ( NotificationManager notificationManager,
CompleteNotificationInterface animationFinishedNotifier,
PropertyNotifier propertyNotifier,
ResourceManager resourceManager,
DiscardQueue discardQueue,
Integration::RenderController controller,
RenderManager renderManager,
RenderQueue renderQueue,
TextureCache textureCache,
TouchResampler touchResampler 
)

Construct a new UpdateManager.

Parameters
[in]notificationManagerThis should be notified when animations have finished.
[in]animationFinishedNotifierThe CompleteNotificationInterface that handles animation completions
[in]propertyNotifierThe PropertyNotifier
[in]resourceManagerThe resource manager used to load textures etc.
[in]discardQueueNodes are added here when disconnected from the scene-graph.
[in]controllerAfter messages are flushed, we request a render from the RenderController.
[in]renderManagerThis is responsible for rendering the results of each "update".
[in]renderQueueUsed to queue messages for the next render.
[in]textureCacheUsed for caching textures.
[in]touchResamplerUsed for re-sampling touch events.

Definition at line 276 of file update-manager.cpp.

References mImpl, mSceneGraphBuffers, and Dali::Internal::SceneGraph::TextureCacheDispatcher::SetBufferIndices().

Here is the call graph for this function:

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

Destructor.

Definition at line 303 of file update-manager.cpp.

References mImpl.

Dali::Internal::SceneGraph::UpdateManager::UpdateManager ( const UpdateManager )
private

Member Function Documentation

void Dali::Internal::SceneGraph::UpdateManager::AddAnimation ( Animation animation)

Add a newly created animation.

Parameters
[in]animationThe animation to add.
Postcondition
The animation is owned by UpdateManager.

Definition at line 422 of file update-manager.cpp.

References Dali::Internal::SceneGraph::UpdateManager::Impl::animations, mImpl, and Dali::Vector< T, IsTrivialType >::PushBack().

Referenced by Dali::Internal::SceneGraph::AddAnimationMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::AddGesture ( PanGesture gesture)

Add a newly created gesture.

Parameters
[in]gestureThe gesture to add.
Postcondition
The gesture is owned by the UpdateManager.

Definition at line 597 of file update-manager.cpp.

References DALI_ASSERT_DEBUG, Dali::Internal::SceneGraph::UpdateManager::Impl::gestures, mImpl, and Dali::Vector< T, IsTrivialType >::PushBack().

Referenced by Dali::Internal::SceneGraph::AddGestureMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::AddNode ( Node node)

Add a Node; UpdateManager takes ownership.

Precondition
The node does not have a parent.
Parameters
[in]nodeThe node to add.

Definition at line 327 of file update-manager.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), DALI_ASSERT_ALWAYS, Dali::Vector< T, IsTrivialType >::End(), Dali::Internal::SceneGraph::Node::GetParent(), Dali::Vector< T, IsTrivialType >::Insert(), mImpl, and Dali::Internal::SceneGraph::UpdateManager::Impl::nodes.

Referenced by Dali::Internal::SceneGraph::AddNodeMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::AddObject ( PropertyOwner object)

Add a newly created object.

Parameters
[in]objectThe object to add.
Postcondition
The object is owned by UpdateManager.

Definition at line 394 of file update-manager.cpp.

References Dali::Internal::SceneGraph::UpdateManager::Impl::customObjects, DALI_ASSERT_DEBUG, and mImpl.

Referenced by Dali::Internal::SceneGraph::AddObjectMessage().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::AddPropertyBuffer ( Render::PropertyBuffer propertryBuffer)

Add a new sampler to RenderManager.

Parameters
[in]propertryBufferThe property buffer to add
Postcondition
Sends a message to RenderManager to add the property buffer. The property buffer will be owned by RenderManager

Definition at line 1168 of file update-manager.cpp.

References Dali::Internal::SceneGraph::RenderManager::AddPropertyBuffer(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::AddPropertyBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::AddPropertyNotification ( PropertyNotification propertyNotification)

Add a newly created property notification.

Parameters
[in]propertyNotificationThe notification to add
Postcondition
The propertyNotification is owned by UpdateManager.

Definition at line 467 of file update-manager.cpp.

References mImpl, Dali::Internal::SceneGraph::UpdateManager::Impl::propertyNotifications, and Dali::Vector< T, IsTrivialType >::PushBack().

Referenced by Dali::Internal::SceneGraph::AddPropertyNotificationMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::AddSampler ( Render::Sampler sampler)

Add a new sampler to RenderManager.

Parameters
[in]samplerThe sampler to add
Postcondition
Sends a message to RenderManager to add the sampler. The sampler will be owned by RenderManager

Definition at line 1124 of file update-manager.cpp.

References Dali::Internal::SceneGraph::RenderManager::AddSampler(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::AddSamplerMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::AddShader ( Shader shader)
void Dali::Internal::SceneGraph::UpdateManager::Animate ( BufferIndex  bufferIndex,
float  elapsedSeconds 
)
private
void Dali::Internal::SceneGraph::UpdateManager::AttachToNode ( Node node,
NodeAttachment attachment 
)

Attach an object to a Node.

The UpdateManager is responsible for calling NodeAttachment::Initialize().

Parameters
[in]nodeThe node which will own the attachment.
[in]attachmentThe object to attach.

Definition at line 385 of file update-manager.cpp.

References Dali::Internal::SceneGraph::Node::Attach(), and DALI_ASSERT_DEBUG.

Referenced by Dali::Internal::SceneGraph::AttachToNodeMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::ConnectNode ( Node parent,
Node node 
)

Connect a Node to the scene-graph.

A disconnected Node has has no parent or children, and its properties cannot be animated/constrained.

Precondition
The node does not already have a parent.
Parameters
[in]parentThe new parent node.

Definition at line 344 of file update-manager.cpp.

References Dali::Internal::SceneGraph::Node::ConnectChild(), DALI_ASSERT_ALWAYS, and Dali::Internal::SceneGraph::Node::GetParent().

Referenced by Dali::Internal::SceneGraph::ConnectNodeMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::ConstrainCustomObjects ( BufferIndex  bufferIndex)
private

Applies constraints to CustomObjects.

Parameters
[in]bufferIndexto use

Definition at line 748 of file update-manager.cpp.

References Dali::Vector< T >::Begin(), Dali::Internal::SceneGraph::ConstrainPropertyOwner(), Dali::Internal::SceneGraph::UpdateManager::Impl::customObjects, Dali::Vector< T >::End(), and mImpl.

Referenced by Update().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::ConstrainRenderTasks ( BufferIndex  bufferIndex)
private

Applies constraints to RenderTasks.

Parameters
[in]bufferIndexto use

Definition at line 760 of file update-manager.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Internal::SceneGraph::ConstrainPropertyOwner(), Dali::Vector< T, IsTrivialType >::End(), Dali::Internal::SceneGraph::RenderTaskList::GetTasks(), mImpl, Dali::Internal::SceneGraph::UpdateManager::Impl::systemLevelTaskList, and Dali::Internal::SceneGraph::UpdateManager::Impl::taskList.

Referenced by Update().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::ConstrainShaders ( BufferIndex  bufferIndex)
private

Applies constraints to Shaders.

Parameters
[in]bufferIndexto use

Definition at line 779 of file update-manager.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Internal::SceneGraph::ConstrainPropertyOwner(), Dali::Vector< T, IsTrivialType >::End(), mImpl, and Dali::Internal::SceneGraph::UpdateManager::Impl::shaders.

Referenced by Update().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::DestroyNode ( Node node)

Destroy a Node owned by UpdateManager.

This is not immediate; Nodes are passed to the RenderQueue to allow GL resources to be deleted. In the following update, the previously queued Nodes may be deleted.

Precondition
The node has been disconnected from the scene-graph i.e. has no parent or children.
Parameters
[in]nodeThe node to destroy.

Definition at line 362 of file update-manager.cpp.

References Dali::Internal::SceneGraph::DiscardQueue::Add(), Dali::Vector< T, IsTrivialType >::Begin(), DALI_ASSERT_ALWAYS, Dali::Internal::SceneGraph::UpdateManager::Impl::discardQueue, Dali::Vector< T, IsTrivialType >::End(), Dali::Vector< T, IsTrivialType >::Erase(), Dali::Internal::SceneGraph::Node::GetParent(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::nodes, and Dali::Internal::SceneGraph::Node::OnDestroy().

Referenced by Dali::Internal::SceneGraph::DestroyNodeMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::DisconnectNode ( Node node)

Disconnect a Node from the scene-graph.

A disconnected Node has has no parent or children, and its properties cannot be animated/constrained.

Precondition
The node has a parent.
Parameters
[in]nodeThe node to disconnect.

Definition at line 353 of file update-manager.cpp.

References Dali::Internal::SceneGraph::ChildDeletedFlag, DALI_ASSERT_ALWAYS, Dali::Internal::SceneGraph::Node::DisconnectChild(), Dali::Internal::SceneGraph::Node::GetParent(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mSceneGraphBuffers, and Dali::Internal::SceneGraph::Node::SetDirtyFlag().

Referenced by Dali::Internal::SceneGraph::DisconnectNodeMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::EventProcessingStarted ( )

Called by the event-thread to signal that FlushQueue will be called e.g.

when it has finished event processing.

Definition at line 629 of file update-manager.cpp.

References Dali::Internal::Update::MessageQueue::EventProcessingStarted(), Dali::Internal::SceneGraph::UpdateManager::Impl::messageQueue, and mImpl.

Here is the call graph for this function:

bool Dali::Internal::SceneGraph::UpdateManager::FlushQueue ( )

Flush the set of messages, which were previously stored with QueueMessage().

Calls to this thread-safe method should be minimized, to avoid thread blocking.

Returns
True if there are messages to process.

Definition at line 634 of file update-manager.cpp.

References Dali::Internal::Update::MessageQueue::FlushQueue(), Dali::Internal::SceneGraph::UpdateManager::Impl::messageQueue, and mImpl.

Here is the call graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::ForwardCompiledShadersToEventThread ( )
private
BufferIndex Dali::Internal::SceneGraph::UpdateManager::GetEventBufferIndex ( ) const
inline
Returns
the current event-buffer index.

Definition at line 340 of file update-manager.h.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetEventBufferIndex(), and mSceneGraphBuffers.

Referenced by Dali::Internal::Stage::GetEventBufferIndex().

Here is the call graph for this function:

Here is the caller graph for this function:

ObjectOwnerContainer< Geometry > & Dali::Internal::SceneGraph::UpdateManager::GetGeometryOwner ( )

Get the geometry owner.

Returns
The geometry owner

Definition at line 494 of file update-manager.cpp.

References Dali::Internal::SceneGraph::UpdateManager::Impl::geometries, and mImpl.

Referenced by Dali::Internal::Geometry::Initialize(), and Dali::Internal::Geometry::~Geometry().

Here is the caller graph for this function:

ObjectOwnerContainer< Material > & Dali::Internal::SceneGraph::UpdateManager::GetMaterialOwner ( )

Get the material owner.

Returns
The material owner

Definition at line 505 of file update-manager.cpp.

References Dali::Internal::SceneGraph::UpdateManager::Impl::materials, and mImpl.

Referenced by Dali::Internal::Material::Initialize(), and Dali::Internal::Material::~Material().

Here is the caller graph for this function:

ObjectOwnerContainer< PropertyBuffer >& Dali::Internal::SceneGraph::UpdateManager::GetPropertyBufferOwner ( )

Get the property buffer owner.

Returns
The property buffer owner
ObjectOwnerContainer< Renderer > & Dali::Internal::SceneGraph::UpdateManager::GetRendererOwner ( )

Definition at line 499 of file update-manager.cpp.

References mImpl, and Dali::Internal::SceneGraph::UpdateManager::Impl::renderers.

Referenced by Dali::Internal::Renderer::Initialize(), and Dali::Internal::Renderer::~Renderer().

Here is the caller graph for this function:

RenderTaskList * Dali::Internal::SceneGraph::UpdateManager::GetRenderTaskList ( bool  systemLevel)

Get the scene graph side list of RenderTasks.

Parameters
[in]systemLevelTrue if using the system-level overlay.
Returns
The list of render tasks

Definition at line 583 of file update-manager.cpp.

References mImpl, Dali::Internal::SceneGraph::UpdateManager::Impl::systemLevelTaskList, and Dali::Internal::SceneGraph::UpdateManager::Impl::taskList.

Referenced by Dali::Internal::RenderTaskList::Initialize().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::InstallRoot ( SceneGraph::Layer layer,
bool  systemLevel 
)

Installs a new layer as the root node.

Precondition
The UpdateManager does not already have an installed root node.
The layer is of derived Node type Layer.
The layer does not have a parent.
Parameters
[in]layerThe new root node.
[in]systemLevelTrue if using the system-level overlay.
Postcondition
The node is owned by UpdateManager.

Definition at line 308 of file update-manager.cpp.

References DALI_ASSERT_DEBUG, Dali::Internal::SceneGraph::Node::GetParent(), Dali::Internal::SceneGraph::Node::IsLayer(), mImpl, Dali::Internal::SceneGraph::UpdateManager::Impl::root, Dali::Internal::SceneGraph::Node::SetRoot(), and Dali::Internal::SceneGraph::UpdateManager::Impl::systemLevelRoot.

Referenced by Dali::Internal::SceneGraph::InstallRootMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::SceneGraph::UpdateManager::IsAnimationRunning ( ) const

Query whether any animations are currently running.

Returns
True if any animations are running.

Definition at line 445 of file update-manager.cpp.

References Dali::Internal::SceneGraph::UpdateManager::Impl::animations, Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::End(), Dali::Animation::GetState(), mImpl, Dali::Internal::SceneGraph::Animation::Paused, and Dali::Internal::SceneGraph::Animation::Stopped.

Referenced by KeepUpdatingCheck(), and Update().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::KeepRendering ( float  durationSeconds)

Keep rendering for at least the given amount of time.

By default Dali will stop rendering when no Actor positions are being set, and when no animations are running etc. This method is useful to force screen refreshes e.g. when updating a NativeImage. .0

Parameters
[in]durationSecondsTime to keep rendering, 0 means render at least one more frame

Definition at line 1101 of file update-manager.cpp.

References Dali::Internal::SceneGraph::UpdateManager::Impl::keepRenderingSeconds, and mImpl.

Referenced by Dali::Internal::SceneGraph::KeepRenderingMessage().

Here is the caller graph for this function:

unsigned int Dali::Internal::SceneGraph::UpdateManager::KeepUpdatingCheck ( float  elapsedSeconds) const
private

Helper to check whether the update-thread should keep going.

Parameters
[in]elapsedSecondsThe time in seconds since the previous update.
Returns
True if the update-thread should keep going.

Definition at line 1044 of file update-manager.cpp.

References Dali::Internal::SceneGraph::UpdateManager::Impl::animationFinishedDuringUpdate, Dali::Integration::KeepUpdating::ANIMATIONS_RUNNING, IsAnimationRunning(), Dali::Internal::SceneGraph::UpdateManager::Impl::keepRenderingSeconds, mImpl, Dali::Integration::KeepUpdating::NOT_REQUESTED, Dali::Integration::KeepUpdating::RENDER_TASK_SYNC, Dali::Internal::SceneGraph::UpdateManager::Impl::renderTaskWaiting, and Dali::Integration::KeepUpdating::STAGE_KEEP_RENDERING.

Referenced by Update().

Here is the call graph for this function:

Here is the caller graph for this function:

UpdateManager& Dali::Internal::SceneGraph::UpdateManager::operator= ( const UpdateManager rhs)
private
void Dali::Internal::SceneGraph::UpdateManager::PostProcessResources ( )
private

Post process resources that have been updated by renderer.

void Dali::Internal::SceneGraph::UpdateManager::PrepareMaterials ( BufferIndex  bufferIndex)
private

Prepare materials for rendering.

Definition at line 807 of file update-manager.cpp.

References Dali::Internal::SceneGraph::ConstrainPropertyOwner(), Dali::Internal::SceneGraph::UpdateManager::Impl::materials, mImpl, and Dali::Internal::SceneGraph::UpdateManager::Impl::resourceManager.

Referenced by Update().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::SceneGraph::UpdateManager::ProcessGestures ( BufferIndex  bufferIndex,
unsigned int  lastVSyncTimeMilliseconds,
unsigned int  nextVSyncTimeMilliseconds 
)
private

Perform gesture updates.

Parameters
[in]bufferIndexto use
[in]lastVSyncTimeThe last VSync time in milliseconds.
[in]nextVSyncTimeThe estimated time of the next VSync in milliseconds.
Returns
true, if any properties were updated.

Definition at line 697 of file update-manager.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::End(), Dali::Internal::SceneGraph::UpdateManager::Impl::gestures, mImpl, Dali::Internal::SceneGraph::PropertyOwner::ResetToBaseValues(), and Dali::Internal::SceneGraph::PanGesture::UpdateProperties().

Referenced by Update().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::ProcessPropertyNotifications ( BufferIndex  bufferIndex)
private
void Dali::Internal::SceneGraph::UpdateManager::PropertyNotificationSetNotify ( PropertyNotification propertyNotification,
PropertyNotification::NotifyMode  notifyMode 
)

Set Notify state for PropertyNotification.

Parameters
[in]propertyNotificationThe notification to remove
[in]notifyModeThe notification mode.

Definition at line 488 of file update-manager.cpp.

References DALI_ASSERT_DEBUG, and Dali::Internal::SceneGraph::PropertyNotification::SetNotifyMode().

Referenced by Dali::Internal::SceneGraph::PropertyNotificationSetNotifyModeMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::RemoveAnimation ( Animation animation)

Remove an animation.

Parameters
[in]animationThe animation to remove.

Definition at line 436 of file update-manager.cpp.

References DALI_ASSERT_DEBUG, Dali::Internal::SceneGraph::Animation::Destroyed, Dali::Internal::SceneGraph::Animation::GetState(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mSceneGraphBuffers, and Dali::Internal::SceneGraph::Animation::OnDestroy().

Referenced by Dali::Internal::SceneGraph::RemoveAnimationMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::RemoveGesture ( PanGesture gesture)

Remove a gesture.

Precondition
The gesture has been added to the UpdateManager.
Parameters
[in]gestureThe gesture to remove.
Postcondition
The gesture is destroyed.

Definition at line 604 of file update-manager.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), DALI_ASSERT_DEBUG, Dali::Vector< T, IsTrivialType >::End(), Dali::OwnerContainer< T >::Erase(), Dali::Internal::SceneGraph::UpdateManager::Impl::gestures, and mImpl.

Referenced by Dali::Internal::SceneGraph::RemoveGestureMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::RemoveObject ( PropertyOwner object)

Remove an object.

Parameters
[in]objectThe object to remove.

Definition at line 401 of file update-manager.cpp.

References Dali::Vector< T >::Begin(), Dali::Internal::SceneGraph::UpdateManager::Impl::customObjects, DALI_ASSERT_DEBUG, Dali::Vector< T >::End(), Dali::OwnerContainer< T >::Erase(), and mImpl.

Referenced by Dali::Internal::SceneGraph::RemoveObjectMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::RemovePropertyBuffer ( Render::PropertyBuffer propertryBuffer)

Removes an existing PropertyBuffer from RenderManager.

Parameters
[in]propertryBufferThe property buffer to remove
Postcondition
The property buffer will be destroyed in the render thread

Definition at line 1179 of file update-manager.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::RenderManager::RemovePropertyBuffer(), Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::RemovePropertyBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::RemovePropertyNotification ( PropertyNotification propertyNotification)

Remove a property notification.

Parameters
[in]propertyNotificationThe notification to remove

Definition at line 472 of file update-manager.cpp.

References Dali::Vector< T, IsTrivialType >::Begin(), Dali::Vector< T, IsTrivialType >::End(), Dali::OwnerContainer< T >::Erase(), mImpl, and Dali::Internal::SceneGraph::UpdateManager::Impl::propertyNotifications.

Referenced by Dali::Internal::SceneGraph::RemovePropertyNotificationMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::RemoveSampler ( Render::Sampler sampler)

Removes an existing sampler from RenderManager.

Parameters
[in]samplerThe sampler to remove
Postcondition
The sampler will be destroyed in the render thread

Definition at line 1135 of file update-manager.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::RenderManager::RemoveSampler(), Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, and Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::RemoveSamplerMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::RemoveShader ( Shader shader)
unsigned int * Dali::Internal::SceneGraph::UpdateManager::ReserveMessageSlot ( std::size_t  size,
bool  updateScene = true 
)

Reserve space for another message in the queue; this must then be initialized by the caller.

The message will be read from the update-thread after the next FlushMessages is called.

Postcondition
Calling this method may invalidate any previously returned slots.
Parameters
[in]sizeThe message size with respect to the size of type "char".
[in]updateSceneA flag, when true denotes that the message will cause the scene-graph node tree to require an update.
Note
the default value of updateScene should match that in EventThreadServices::ReserveMessageSlot.
Returns
A pointer to the first char allocated for the message.

Definition at line 624 of file update-manager.cpp.

References Dali::Internal::SceneGraph::UpdateManager::Impl::messageQueue, mImpl, and Dali::Internal::Update::MessageQueue::ReserveMessageSlot().

Referenced by Dali::Internal::SceneGraph::AddAnimationMessage(), Dali::Internal::SceneGraph::AddGestureMessage(), Dali::Internal::SceneGraph::AddMessage(), Dali::Internal::SceneGraph::AddNodeMessage(), Dali::Internal::SceneGraph::AddObjectMessage(), Dali::Internal::SceneGraph::AddPropertyBuffer(), Dali::Internal::SceneGraph::AddPropertyNotificationMessage(), Dali::Internal::SceneGraph::AddSamplerMessage(), Dali::Internal::SceneGraph::AddShaderMessage(), Dali::Internal::SceneGraph::AttachToNodeMessage(), Dali::Internal::SceneGraph::ConnectNodeMessage(), Dali::Internal::SceneGraph::DestroyNodeMessage(), Dali::Internal::SceneGraph::DisconnectNodeMessage(), Dali::Internal::SceneGraph::InstallRootMessage(), Dali::Internal::SceneGraph::KeepRenderingMessage(), Dali::Internal::SceneGraph::PropertyNotificationSetNotifyModeMessage(), Dali::Internal::SceneGraph::RemoveAnimationMessage(), Dali::Internal::SceneGraph::RemoveGestureMessage(), Dali::Internal::SceneGraph::RemoveMessage(), Dali::Internal::SceneGraph::RemoveObjectMessage(), Dali::Internal::SceneGraph::RemovePropertyBuffer(), Dali::Internal::SceneGraph::RemovePropertyNotificationMessage(), Dali::Internal::SceneGraph::RemoveSamplerMessage(), Dali::Internal::SceneGraph::RemoveShaderMessage(), Dali::Internal::Stage::ReserveMessageSlot(), Dali::Internal::SceneGraph::SetBackgroundColorMessage(), Dali::Internal::SceneGraph::SetDefaultSurfaceRectMessage(), Dali::Internal::SceneGraph::SetFilterModeMessage(), Dali::Internal::SceneGraph::SetLayerDepthsMessage(), Dali::Internal::SceneGraph::SetPropertyBufferData(), Dali::Internal::SceneGraph::SetPropertyBufferFormat(), Dali::Internal::SceneGraph::SetPropertyBufferSize(), Dali::Internal::SceneGraph::SetShaderProgramMessage(), Dali::Internal::SceneGraph::SetWrapModeMessage(), and Dali::Internal::SceneGraph::StopAnimationMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::ResetProperties ( BufferIndex  bufferIndex)
private
void Dali::Internal::SceneGraph::UpdateManager::SaveBinary ( Internal::ShaderDataPtr  shaderData)
virtual

Accept compiled shaders passed back on render thread for saving.

Parameters
[in]shaderDataSource code, hash over source, and corresponding compiled binary to be saved.

Implements Dali::Internal::ShaderSaver.

Definition at line 572 of file update-manager.cpp.

References Dali::Internal::SceneGraph::UpdateManager::Impl::compiledShaderMutex, DALI_ASSERT_DEBUG, mImpl, and Dali::Internal::SceneGraph::UpdateManager::Impl::renderCompiledShaders.

void Dali::Internal::SceneGraph::UpdateManager::SetBackgroundColor ( const Vector4 color)

Set the background color i.e.

the glClear color used at the beginning of each frame.

Parameters
[in]colorThe new background color.

Definition at line 1079 of file update-manager.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot(), and Dali::Internal::SceneGraph::RenderManager::SetBackgroundColor().

Referenced by Dali::Internal::SceneGraph::SetBackgroundColorMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::SetDefaultSurfaceRect ( const Rect< int > &  rect)
void Dali::Internal::SceneGraph::UpdateManager::SetFilterMode ( Render::Sampler sampler,
unsigned int  minFilterMode,
unsigned int  magFilterMode 
)

Sets the filter modes for an existing sampler.

Parameters
[in]samplerThe sampler
[in]minFilterModeThe filter to use under minification
[in]magFilterModeThe filter to use under magnification

Definition at line 1146 of file update-manager.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot(), and Dali::Internal::SceneGraph::RenderManager::SetFilterMode().

Referenced by Dali::Internal::SceneGraph::SetFilterModeMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::SetLayerDepths ( const std::vector< Layer * > &  layers,
bool  systemLevel 
)

Sets the depths of all layers.

Parameters
layersThe layers in depth order.
[in]systemLevelTrue if using the system-level overlay.

Definition at line 1106 of file update-manager.cpp.

References mImpl, Dali::Internal::SceneGraph::UpdateManager::Impl::sortedLayers, and Dali::Internal::SceneGraph::UpdateManager::Impl::systemLevelSortedLayers.

Referenced by Dali::Internal::SceneGraph::SetLayerDepthsMessage().

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::SetPropertyBufferData ( Render::PropertyBuffer propertyBuffer,
Dali::Vector< char > *  data 
)

Sets the data of an existing property buffer.

Parameters
[in]propertyBufferThe property buffer.
[in]dataThe new data of the buffer
Postcondition
Sends a message to RenderManager to set the new data to the property buffer.

Definition at line 1201 of file update-manager.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot(), and Dali::Internal::SceneGraph::RenderManager::SetPropertyBufferData().

Referenced by Dali::Internal::SceneGraph::SetPropertyBufferData().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::SetPropertyBufferFormat ( Render::PropertyBuffer propertyBuffer,
Render::PropertyBuffer::Format format 
)

Sets the format of an existing property buffer.

Parameters
[in]propertyBufferThe property buffer.
[in]formatThe new format of the buffer
Postcondition
Sends a message to RenderManager to set the new format to the property buffer.

Definition at line 1190 of file update-manager.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot(), and Dali::Internal::SceneGraph::RenderManager::SetPropertyBufferFormat().

Referenced by Dali::Internal::SceneGraph::SetPropertyBufferFormat().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::SetPropertyBufferSize ( Render::PropertyBuffer propertyBuffer,
size_t  size 
)

Sets the size of an existing property buffer.

Parameters
[in]propertyBufferThe property buffer.
[in]sizeThe new size of the buffer
Postcondition
Sends a message to RenderManager to set the new size to the property buffer.

Definition at line 1212 of file update-manager.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot(), and Dali::Internal::SceneGraph::RenderManager::SetPropertyBufferSize().

Referenced by Dali::Internal::SceneGraph::SetPropertyBufferSize().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::SetShaderProgram ( Shader shader,
Internal::ShaderDataPtr  shaderData,
bool  modifiesGeometry 
)

Set the shader program for a Shader object.

Parameters
[in]shaderThe shader to modify
[in]shaderDataSource code, hash over source, and optional compiled binary for the shader program
[in]modifiesGeometryTrue if the vertex shader modifies geometry

Definition at line 556 of file update-manager.cpp.

References Dali::Internal::SceneGraph::RenderManager::GetProgramCache(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot(), and Dali::Internal::SceneGraph::Shader::SetProgram().

Referenced by Dali::Internal::SceneGraph::SetShaderProgramMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::SetShaderSaver ( ShaderSaver upstream)

Set the destination for compiled shader binaries to be passed on to.

The dispatcher passed in will be called from the update thread.

Parameters
[in]upstreamA sink for ShaderDatas to be passed into.

Definition at line 1119 of file update-manager.cpp.

References mImpl, and Dali::Internal::SceneGraph::UpdateManager::Impl::shaderSaver.

void Dali::Internal::SceneGraph::UpdateManager::SetWrapMode ( Render::Sampler sampler,
unsigned int  uWrapMode,
unsigned int  vWrapMode 
)

Sets the wrap mode for an existing sampler.

Parameters
[in]samplerThe sampler
[in]uWrapModeWrapping mode in x direction
[in]vWrapModeWrapping mode in y direction

Definition at line 1157 of file update-manager.cpp.

References Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager, Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue, Dali::Internal::SceneGraph::RenderQueue::ReserveMessageSlot(), and Dali::Internal::SceneGraph::RenderManager::SetWrapMode().

Referenced by Dali::Internal::SceneGraph::SetWrapModeMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::StopAnimation ( Animation animation)

Stop an animation.

Parameters
[in]animationThe animation to stop.

Definition at line 427 of file update-manager.cpp.

References Dali::Internal::SceneGraph::UpdateManager::Impl::animationFinishedDuringUpdate, DALI_ASSERT_DEBUG, Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), mImpl, mSceneGraphBuffers, and Dali::Internal::SceneGraph::Animation::Stop().

Referenced by Dali::Internal::SceneGraph::StopAnimationMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

unsigned int Dali::Internal::SceneGraph::UpdateManager::Update ( float  elapsedSeconds,
unsigned int  lastVSyncTimeMilliseconds,
unsigned int  nextVSyncTimeMilliseconds 
)

Performs an Update traversal on the scene-graph.

Parameters
[in]elapsedSecondsThe elapsed time that should be applied to animations.
[in]lastVSyncTimeMillisecondsThe last time, in milliseconds, that we had a VSync.
[in]nextVSyncTimeMillisecondsThe estimated time, in milliseconds, of the next VSync.
Returns
True if further updates are required e.g. during animations.

Definition at line 889 of file update-manager.cpp.

References Animate(), Dali::Vector< T, IsTrivialType >::Begin(), Dali::Internal::SceneGraph::DiscardQueue::Clear(), ConstrainCustomObjects(), ConstrainRenderTasks(), ConstrainShaders(), Dali::VectorBase::Count(), DALI_LOG_INFO, Dali::Internal::SceneGraph::UpdateManager::Impl::discardQueue, Dali::Vector< T, IsTrivialType >::End(), ForwardCompiledShadersToEventThread(), Dali::Internal::SceneGraph::UpdateManager::Impl::geometries, Dali::Internal::SceneGraph::RenderTaskList::GetCompleteNotificationInterface(), Dali::Internal::SceneGraph::RenderTaskList::GetTasks(), Dali::Internal::SceneGraph::SceneGraphBuffers::GetUpdateBufferIndex(), Dali::Internal::SceneGraph::RenderTask::HasRendered(), IsAnimationRunning(), Dali::Internal::Update::MessageQueue::IsSceneUpdateRequired(), Dali::Internal::SceneGraph::RenderTask::IsWaitingToRender(), KeepUpdatingCheck(), Dali::Internal::SceneGraph::UpdateManager::Impl::messageQueue, mImpl, mSceneGraphBuffers, Dali::Internal::SceneGraph::UpdateManager::Impl::nodeDirtyFlags, Dali::Internal::SceneGraph::UpdateManager::Impl::notificationManager, Dali::Internal::ResourceManager::PostProcessResources(), PrepareMaterials(), Dali::Internal::SceneGraph::UpdateManager::Impl::previousUpdateScene, ProcessGestures(), Dali::Internal::Update::MessageQueue::ProcessMessages(), ProcessPropertyNotifications(), Dali::Internal::SceneGraph::ProcessRenderTasks(), Dali::Internal::NotificationManager::QueueCompleteNotification(), Dali::Internal::SceneGraph::RenderTask::ReadyToRender(), Dali::Internal::SceneGraph::RenderableUpdateFlags, Dali::Internal::SceneGraph::UpdateManager::Impl::renderInstructions, Dali::Internal::SceneGraph::UpdateManager::Impl::renderSortingHelper, Dali::Internal::SceneGraph::UpdateManager::Impl::renderTaskWaiting, Dali::Internal::SceneGraph::RenderInstructionContainer::ResetAndReserve(), ResetProperties(), Dali::Internal::SceneGraph::UpdateManager::Impl::resourceManager, Dali::Internal::SceneGraph::UpdateManager::Impl::root, SNAPSHOT_NODE_LOGGING, Dali::Internal::SceneGraph::UpdateManager::Impl::sortedLayers, Dali::Internal::SceneGraph::SceneGraphBuffers::Swap(), Dali::Internal::SceneGraph::UpdateManager::Impl::systemLevelRoot, Dali::Internal::SceneGraph::UpdateManager::Impl::systemLevelSortedLayers, Dali::Internal::SceneGraph::UpdateManager::Impl::systemLevelTaskList, Dali::Internal::SceneGraph::UpdateManager::Impl::taskList, Dali::Internal::SceneGraph::UpdateManager::Impl::touchResampler, Dali::Internal::TouchResampler::Update(), Dali::Internal::ResourceManager::UpdateCache(), Dali::Internal::NotificationManager::UpdateCompleted(), UpdateNodes(), UpdateRenderers(), and Dali::Internal::SceneGraph::RenderTask::UpdateState().

Here is the call graph for this function:

void Dali::Internal::SceneGraph::UpdateManager::UpdateDefaultCamera ( int  updateBuffer)
private

Update the default camera.

This must be altered to match the root Node for 2D layouting.

Parameters
[in]updateBufferThe buffer to read the root node size from.
void Dali::Internal::SceneGraph::UpdateManager::UpdateNodes ( BufferIndex  bufferIndex)
private
void Dali::Internal::SceneGraph::UpdateManager::UpdateProjectionAndViewMatrices ( int  updateBuffer)
private

Helper to calculate new camera setup when root node resizes.

Parameters
[in]updateBufferThe buffer to read the root node size from.
void Dali::Internal::SceneGraph::UpdateManager::UpdateRenderers ( BufferIndex  bufferIndex)
private

Update Renderers.

Parameters
[in]bufferIndexto use

Definition at line 848 of file update-manager.cpp.

References Dali::Internal::SceneGraph::ConstrainPropertyOwner(), mImpl, and Dali::Internal::SceneGraph::UpdateManager::Impl::renderers.

Referenced by Update().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

Impl* Dali::Internal::SceneGraph::UpdateManager::mImpl
private
SceneGraphBuffers Dali::Internal::SceneGraph::UpdateManager::mSceneGraphBuffers
private

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