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

Structure to contain UpdateManager internal data. More...

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

Public Member Functions

 Impl (NotificationManager &notificationManager, CompleteNotificationInterface &animationFinishedNotifier, PropertyNotifier &propertyNotifier, ResourceManager &resourceManager, DiscardQueue &discardQueue, RenderController &renderController, RenderManager &renderManager, RenderQueue &renderQueue, TextureCache &textureCache, TouchResampler &touchResampler, SceneGraphBuffers &sceneGraphBuffers)
 
 ~Impl ()
 

Public Attributes

SceneGraphBuffers sceneGraphBuffers
 Used to keep track of which buffers are being written or read. More...
 
RenderMessageDispatcher renderMessageDispatcher
 Used for passing messages to the render-thread. More...
 
NotificationManagernotificationManager
 Queues notification messages for the event-thread. More...
 
CompleteNotificationInterfaceanimationFinishedNotifier
 Provides notification to applications when animations are finished. More...
 
PropertyNotifierpropertyNotifier
 Provides notification to applications when properties are modified. More...
 
ShaderSavershaderSaver
 Saves shader binaries. More...
 
ResourceManagerresourceManager
 resource manager More...
 
DiscardQueuediscardQueue
 Nodes are added here when disconnected from the scene-graph. More...
 
RenderControllerrenderController
 render controller More...
 
SceneControllerImplsceneController
 scene controller More...
 
RenderManagerrenderManager
 This is responsible for rendering the results of each "update". More...
 
RenderQueuerenderQueue
 Used to queue messages for the next render. More...
 
RenderInstructionContainerrenderInstructions
 Used to prepare the render instructions. More...
 
TouchResamplertouchResampler
 Used to resample touch events on every update. More...
 
Vector4 backgroundColor
 The glClear color used at the beginning of each frame. More...
 
RenderTaskList taskList
 The list of scene graph render-tasks. More...
 
RenderTaskList systemLevelTaskList
 Separate render-tasks for system-level content. More...
 
Layerroot
 The root node (root is a layer) More...
 
LayersystemLevelRoot
 A separate root-node for system-level content. More...
 
Vector< Node * > nodes
 A container of all instantiated nodes. More...
 
SortedLayerPointers sortedLayers
 A container of Layer pointers sorted by depth. More...
 
SortedLayerPointers systemLevelSortedLayers
 A separate container of system-level Layers. More...
 
OwnerContainer< PropertyOwner * > customObjects
 A container of owned objects (with custom properties) More...
 
AnimationContainer animations
 A container of owned animations. More...
 
PropertyNotificationContainer propertyNotifications
 A container of owner property notifications. More...
 
ObjectOwnerContainer< Rendererrenderers
 
ObjectOwnerContainer< Geometrygeometries
 A container of geometries. More...
 
ObjectOwnerContainer< Materialmaterials
 A container of materials. More...
 
ShaderContainer shaders
 A container of owned shaders. More...
 
MessageQueue messageQueue
 The messages queued from the event-thread. More...
 
ShaderDataBinaryQueue renderCompiledShaders
 Shaders compiled on Render thread are inserted here for update thread to pass on to event thread. More...
 
ShaderDataBinaryQueue updateCompiledShaders
 Shaders to be sent from Update to Event. More...
 
Mutex compiledShaderMutex
 lock to ensure no corruption on the renderCompiledShaders More...
 
float keepRenderingSeconds
 Set via Dali::Stage::KeepRendering. More...
 
bool animationFinishedDuringUpdate
 Flag whether any animations finished during the Update() More...
 
int nodeDirtyFlags
 cumulative node dirty flags from previous frame More...
 
bool previousUpdateScene
 True if the scene was updated in the previous frame (otherwise it was optimized out) More...
 
int frameCounter
 Frame counter used in debugging to choose which frame to debug and which to ignore. More...
 
RendererSortingHelper renderSortingHelper
 helper used to sort transparent renderers More...
 
GestureContainer gestures
 A container of owned gesture detectors. More...
 
bool renderTaskWaiting
 A REFRESH_ONCE render task is waiting to be rendered. More...
 

Detailed Description

Structure to contain UpdateManager internal data.

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

Constructor & Destructor Documentation

Dali::Internal::SceneGraph::UpdateManager::Impl::Impl ( NotificationManager notificationManager,
CompleteNotificationInterface animationFinishedNotifier,
PropertyNotifier propertyNotifier,
ResourceManager resourceManager,
DiscardQueue discardQueue,
RenderController renderController,
RenderManager renderManager,
RenderQueue renderQueue,
TextureCache textureCache,
TouchResampler touchResampler,
SceneGraphBuffers sceneGraphBuffers 
)
inline

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

Dali::Internal::SceneGraph::UpdateManager::Impl::~Impl ( )
inline

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

References Dali::Vector< T, IsTrivialType >::Begin(), and Dali::Vector< T, IsTrivialType >::End().

Here is the call graph for this function:

Member Data Documentation

bool Dali::Internal::SceneGraph::UpdateManager::Impl::animationFinishedDuringUpdate
CompleteNotificationInterface& Dali::Internal::SceneGraph::UpdateManager::Impl::animationFinishedNotifier

Provides notification to applications when animations are finished.

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::Animate().

AnimationContainer Dali::Internal::SceneGraph::UpdateManager::Impl::animations
Vector4 Dali::Internal::SceneGraph::UpdateManager::Impl::backgroundColor

The glClear color used at the beginning of each frame.

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

Mutex Dali::Internal::SceneGraph::UpdateManager::Impl::compiledShaderMutex

lock to ensure no corruption on the renderCompiledShaders

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::ForwardCompiledShadersToEventThread(), and Dali::Internal::SceneGraph::UpdateManager::SaveBinary().

OwnerContainer< PropertyOwner* > Dali::Internal::SceneGraph::UpdateManager::Impl::customObjects
DiscardQueue& Dali::Internal::SceneGraph::UpdateManager::Impl::discardQueue
int Dali::Internal::SceneGraph::UpdateManager::Impl::frameCounter

Frame counter used in debugging to choose which frame to debug and which to ignore.

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

ObjectOwnerContainer<Geometry> Dali::Internal::SceneGraph::UpdateManager::Impl::geometries
GestureContainer Dali::Internal::SceneGraph::UpdateManager::Impl::gestures
float Dali::Internal::SceneGraph::UpdateManager::Impl::keepRenderingSeconds
ObjectOwnerContainer<Material> Dali::Internal::SceneGraph::UpdateManager::Impl::materials
MessageQueue Dali::Internal::SceneGraph::UpdateManager::Impl::messageQueue
int Dali::Internal::SceneGraph::UpdateManager::Impl::nodeDirtyFlags

cumulative node dirty flags from previous frame

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::Update(), and Dali::Internal::SceneGraph::UpdateManager::UpdateNodes().

Vector<Node*> Dali::Internal::SceneGraph::UpdateManager::Impl::nodes
NotificationManager& Dali::Internal::SceneGraph::UpdateManager::Impl::notificationManager
bool Dali::Internal::SceneGraph::UpdateManager::Impl::previousUpdateScene

True if the scene was updated in the previous frame (otherwise it was optimized out)

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::Update().

PropertyNotificationContainer Dali::Internal::SceneGraph::UpdateManager::Impl::propertyNotifications
PropertyNotifier& Dali::Internal::SceneGraph::UpdateManager::Impl::propertyNotifier

Provides notification to applications when properties are modified.

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::ProcessPropertyNotifications().

ShaderDataBinaryQueue Dali::Internal::SceneGraph::UpdateManager::Impl::renderCompiledShaders

Shaders compiled on Render thread are inserted here for update thread to pass on to event thread.

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::ForwardCompiledShadersToEventThread(), and Dali::Internal::SceneGraph::UpdateManager::SaveBinary().

RenderController& Dali::Internal::SceneGraph::UpdateManager::Impl::renderController

render controller

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

ObjectOwnerContainer<Renderer> Dali::Internal::SceneGraph::UpdateManager::Impl::renderers
RenderInstructionContainer& Dali::Internal::SceneGraph::UpdateManager::Impl::renderInstructions

Used to prepare the render instructions.

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::Update().

RenderManager& Dali::Internal::SceneGraph::UpdateManager::Impl::renderManager
RenderMessageDispatcher Dali::Internal::SceneGraph::UpdateManager::Impl::renderMessageDispatcher

Used for passing messages to the render-thread.

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

RenderQueue& Dali::Internal::SceneGraph::UpdateManager::Impl::renderQueue
RendererSortingHelper Dali::Internal::SceneGraph::UpdateManager::Impl::renderSortingHelper

helper used to sort transparent renderers

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::Update().

bool Dali::Internal::SceneGraph::UpdateManager::Impl::renderTaskWaiting

A REFRESH_ONCE render task is waiting to be rendered.

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::KeepUpdatingCheck(), and Dali::Internal::SceneGraph::UpdateManager::Update().

ResourceManager& Dali::Internal::SceneGraph::UpdateManager::Impl::resourceManager
Layer* Dali::Internal::SceneGraph::UpdateManager::Impl::root
SceneControllerImpl* Dali::Internal::SceneGraph::UpdateManager::Impl::sceneController

scene controller

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::AddShader().

SceneGraphBuffers Dali::Internal::SceneGraph::UpdateManager::Impl::sceneGraphBuffers

Used to keep track of which buffers are being written or read.

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

ShaderContainer Dali::Internal::SceneGraph::UpdateManager::Impl::shaders
ShaderSaver* Dali::Internal::SceneGraph::UpdateManager::Impl::shaderSaver
SortedLayerPointers Dali::Internal::SceneGraph::UpdateManager::Impl::sortedLayers

A container of Layer pointers sorted by depth.

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::SetLayerDepths(), and Dali::Internal::SceneGraph::UpdateManager::Update().

Layer* Dali::Internal::SceneGraph::UpdateManager::Impl::systemLevelRoot
SortedLayerPointers Dali::Internal::SceneGraph::UpdateManager::Impl::systemLevelSortedLayers

A separate container of system-level Layers.

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::SetLayerDepths(), and Dali::Internal::SceneGraph::UpdateManager::Update().

RenderTaskList Dali::Internal::SceneGraph::UpdateManager::Impl::systemLevelTaskList
RenderTaskList Dali::Internal::SceneGraph::UpdateManager::Impl::taskList
TouchResampler& Dali::Internal::SceneGraph::UpdateManager::Impl::touchResampler

Used to resample touch events on every update.

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::Update().

ShaderDataBinaryQueue Dali::Internal::SceneGraph::UpdateManager::Impl::updateCompiledShaders

Shaders to be sent from Update to Event.

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

Referenced by Dali::Internal::SceneGraph::UpdateManager::ForwardCompiledShadersToEventThread().


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