Dali 3D User Interface Engine
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
Dali::Internal::RenderTaskList Class Reference

A proxy for the scene-graph RenderTaskList. More...

#include <render-task-list-impl.h>

Inheritance diagram for Dali::Internal::RenderTaskList:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::RenderTaskList:
Collaboration graph
[legend]

Classes

struct  Exclusive
 

Public Types

typedef std::vector
< Dali::RenderTask
RenderTaskContainer
 

Public Member Functions

Dali::RenderTask CreateTask ()
 Create a new RenderTask. More...
 
void RemoveTask (Dali::RenderTask task)
 Remove a RenderTask from the list of render-tasks. More...
 
unsigned int GetTaskCount () const
 Query the number of render-tasks in the list. More...
 
Dali::RenderTask GetTask (unsigned int index) const
 Retrieve a render-task. More...
 
RenderTaskContainerGetTasks ()
 Retrieve the container of render-tasks. More...
 
void SetExclusive (RenderTask *task, bool exclusive)
 Mark a rendertask as having exclusive access to its source actor. More...
 
const Vector< Exclusive > & GetExclusivesList () const
 Return the list of rendertasks that exclusively own their source actor. More...
 
void RecoverFromContextLoss ()
 This method refreshes all render tasks that have a frame buffer and a refresh rate of RefreshOnce. More...
 
- Public Member Functions inherited from Dali::BaseObject
template<class T >
bool ConnectSignal (ConnectionTrackerInterface *connectionTracker, const std::string &signalName, const T &functor)
 Connects a void() functor to a specified signal. More...
 
bool DoAction (const std::string &actionName, const Property::Map &attributes)
 Perform action on this object with the given action name and attributes. More...
 
const std::string & GetTypeName () const
 Returns the type name for the Handle. More...
 
bool GetTypeInfo (Dali::TypeInfo &info) const
 Returns the type info for the Handle. More...
 
bool DoConnectSignal (ConnectionTrackerInterface *connectionTracker, const std::string &signalName, FunctorDelegate *functorDelegate)
 Not intended for application developers. More...
 
- Public Member Functions inherited from Dali::RefObject
void Reference ()
 Increment the object's reference count. More...
 
void Unreference ()
 Decrement the object's reference count. More...
 
int ReferenceCount ()
 Retrieve the object's reference count. More...
 

Static Public Member Functions

static RenderTaskListNew (EventThreadServices &eventServices, RenderTaskDefaults &defaults, bool systemLevel)
 Create a RenderTaskList. More...
 
static void NotifyFinished (void *object)
 Provide notification signals for a "Finished" render task. More...
 

Protected Member Functions

 RenderTaskList (EventThreadServices &eventThreadServices, RenderTaskDefaults &defaults, bool systemLevel)
 Construct a new RenderTaskList. More...
 
virtual ~RenderTaskList ()
 A reference counted object may only be deleted by calling Unreference() More...
 
void Initialize (SceneGraph::UpdateManager &updateManager)
 2nd-phase construction More...
 
- Protected Member Functions inherited from Dali::BaseObject
 BaseObject ()
 Default constructor. More...
 
virtual ~BaseObject ()
 A reference counted object may only be deleted by calling Unreference(). More...
 
void RegisterObject ()
 Registers the object as created with the Object registry. More...
 
void UnregisterObject ()
 Unregisters the object from Object registry. More...
 
- Protected Member Functions inherited from Dali::RefObject
 RefObject ()
 Default constructor. More...
 
virtual ~RefObject ()
 RefObject is intended as a base class. More...
 
 RefObject (const RefObject &rhs)
 Copy constructor. More...
 
RefObjectoperator= (const RefObject &rhs)
 Assignment operator. More...
 
- Protected Member Functions inherited from Dali::Internal::CompleteNotificationInterface
 CompleteNotificationInterface ()
 Constructor, not to be directly instantiated. More...
 
virtual ~CompleteNotificationInterface ()
 Virtual destructor as this is an interface, no deletion through this interface though. More...
 

Private Member Functions

virtual void NotifyCompleted ()
 This method is called by Notification Manager. More...
 

Private Attributes

EventThreadServicesmEventThreadServices
 
RenderTaskDefaultsmDefaults
 
bool mIsSystemLevel
 True if the layers are added via the SystemLevel API. More...
 
SceneGraph::RenderTaskListmSceneObject
 Raw-pointer to the scene-graph object; not owned. More...
 
RenderTaskContainer mTasks
 Reference counted render-tasks. More...
 
Vector< ExclusivemExclusives
 List of rendertasks with exclusively owned source actors. More...
 

Detailed Description

A proxy for the scene-graph RenderTaskList.

A separate LayerList is maintained for actors added via the SystemLevel::Add().

Definition at line 48 of file render-task-list-impl.h.

Member Typedef Documentation

Definition at line 52 of file render-task-list-impl.h.

Constructor & Destructor Documentation

Dali::Internal::RenderTaskList::RenderTaskList ( EventThreadServices eventThreadServices,
RenderTaskDefaults defaults,
bool  systemLevel 
)
protected

Construct a new RenderTaskList.

Parameters
[in]eventThreadServicesUsed for creating render-tasks in the scene graph.
[in]defaultsProvides the default source & camera actors.
[in]systemLevelTrue if this is the system-level list.

Definition at line 153 of file render-task-list-impl.cpp.

Referenced by New().

Here is the caller graph for this function:

Dali::Internal::RenderTaskList::~RenderTaskList ( )
protectedvirtual

A reference counted object may only be deleted by calling Unreference()

Definition at line 161 of file render-task-list-impl.cpp.

Member Function Documentation

Dali::RenderTask Dali::Internal::RenderTaskList::CreateTask ( )
const Vector< Exclusive >& Dali::Internal::RenderTaskList::GetExclusivesList ( ) const
inline

Return the list of rendertasks that exclusively own their source actor.

Returns
[description]

Definition at line 111 of file render-task-list-impl.h.

References mExclusives.

Referenced by Dali::Internal::HitTestAlgorithm::HitTest(), and Dali::Internal::HitTestAlgorithm::anonymous_namespace{hit-test-algorithm-impl.cpp}::HitTestForEachRenderTask().

Here is the caller graph for this function:

Dali::RenderTask Dali::Internal::RenderTaskList::GetTask ( unsigned int  index) const

Retrieve a render-task.

.0

Parameters
[in]indexThe index of the render task to retrieve
Returns
A handle to the render-task.
Precondition
index should be in range i.e. less than GetTaskCount().

Definition at line 117 of file render-task-list-impl.cpp.

References DALI_ASSERT_ALWAYS, and mTasks.

Referenced by Dali::Internal::Actor::ScreenToLocal().

Here is the caller graph for this function:

unsigned int Dali::Internal::RenderTaskList::GetTaskCount ( ) const

Query the number of render-tasks in the list.

This is ordered i.e. the task with index 0 is the first to be processed each frame. .0

Returns
The number of render-tasks.

Definition at line 112 of file render-task-list-impl.cpp.

References mTasks.

Referenced by Dali::Internal::Actor::ScreenToLocal().

Here is the caller graph for this function:

RenderTaskContainer& Dali::Internal::RenderTaskList::GetTasks ( )
inline

Retrieve the container of render-tasks.

Returns
The container.

Definition at line 93 of file render-task-list-impl.h.

References mTasks.

Referenced by Dali::Internal::HitTestAlgorithm::anonymous_namespace{hit-test-algorithm-impl.cpp}::HitTestForEachRenderTask().

Here is the caller graph for this function:

void Dali::Internal::RenderTaskList::Initialize ( SceneGraph::UpdateManager updateManager)
protected

2nd-phase construction

Definition at line 165 of file render-task-list-impl.cpp.

References DALI_ASSERT_DEBUG, Dali::Internal::SceneGraph::UpdateManager::GetRenderTaskList(), mIsSystemLevel, mSceneObject, and Dali::Internal::SceneGraph::RenderTaskList::SetCompleteNotificationInterface().

Referenced by New().

Here is the call graph for this function:

Here is the caller graph for this function:

RenderTaskList * Dali::Internal::RenderTaskList::New ( EventThreadServices eventServices,
RenderTaskDefaults defaults,
bool  systemLevel 
)
static

Create a RenderTaskList.

Parameters
[in]eventServicesUsed for sending message to the scene graph.
[in]defaultsProvides the default source & camera actors.
[in]systemLevelTrue if this is the LayerList for actors added via the SystemLevel::Add().
Returns
A newly allocated RenderTaskList; the caller takes ownership.

Definition at line 46 of file render-task-list-impl.cpp.

References Dali::Internal::EventThreadServices::GetUpdateManager(), Initialize(), and RenderTaskList().

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

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::RenderTaskList::NotifyCompleted ( )
privatevirtual

This method is called by Notification Manager.

Implements Dali::Internal::CompleteNotificationInterface.

Definition at line 176 of file render-task-list-impl.cpp.

References DALI_LOG_TRACE_METHOD, Dali::GetImplementation(), and mTasks.

Here is the call graph for this function:

static void Dali::Internal::RenderTaskList::NotifyFinished ( void *  object)
static

Provide notification signals for a "Finished" render task.

This method should be called in the event-thread Queue NotifyFinishedMessage() from update-thread

Parameters
objectpointer to this class instance
void Dali::Internal::RenderTaskList::RecoverFromContextLoss ( )

This method refreshes all render tasks that have a frame buffer and a refresh rate of RefreshOnce.

Definition at line 203 of file render-task-list-impl.cpp.

References Dali::RenderTask::GetRefreshRate(), Dali::RenderTask::GetTargetFrameBuffer(), mTasks, Dali::RenderTask::REFRESH_ONCE, and Dali::RenderTask::SetRefreshRate().

Here is the call graph for this function:

void Dali::Internal::RenderTaskList::RemoveTask ( Dali::RenderTask  task)

Remove a RenderTask from the list of render-tasks.

.0

Parameters
[in]taskThe render-task to remove.

Definition at line 78 of file render-task-list-impl.cpp.

References DALI_ASSERT_DEBUG, Dali::Internal::RenderTask::DiscardSceneObject(), Dali::GetImplementation(), Dali::Internal::RenderTask::GetRenderTaskSceneObject(), mEventThreadServices, mExclusives, mSceneObject, mTasks, and Dali::Internal::SceneGraph::RemoveTaskMessage().

Here is the call graph for this function:

void Dali::Internal::RenderTaskList::SetExclusive ( RenderTask task,
bool  exclusive 
)

Mark a rendertask as having exclusive access to its source actor.

Parameters
[in]taskPointer to the rendertask.
[in]exclusiveIf a rendertask is to have exclusive acesss to its source actor.

Definition at line 124 of file render-task-list-impl.cpp.

References Dali::Internal::RenderTaskList::Exclusive::actorPtr, Dali::Internal::RenderTask::GetSourceActor(), mExclusives, and Dali::Internal::RenderTaskList::Exclusive::renderTaskPtr.

Referenced by Dali::Internal::RenderTask::Connector::ObjectDestroyed(), Dali::Internal::RenderTask::SetExclusive(), and Dali::Internal::RenderTask::SetSourceActor().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

RenderTaskDefaults& Dali::Internal::RenderTaskList::mDefaults
private

Definition at line 160 of file render-task-list-impl.h.

Referenced by CreateTask().

EventThreadServices& Dali::Internal::RenderTaskList::mEventThreadServices
private

Definition at line 159 of file render-task-list-impl.h.

Referenced by CreateTask(), and RemoveTask().

Vector< Exclusive > Dali::Internal::RenderTaskList::mExclusives
private

List of rendertasks with exclusively owned source actors.

Definition at line 167 of file render-task-list-impl.h.

Referenced by GetExclusivesList(), RemoveTask(), and SetExclusive().

bool Dali::Internal::RenderTaskList::mIsSystemLevel
private

True if the layers are added via the SystemLevel API.

Definition at line 162 of file render-task-list-impl.h.

Referenced by CreateTask(), and Initialize().

SceneGraph::RenderTaskList* Dali::Internal::RenderTaskList::mSceneObject
private

Raw-pointer to the scene-graph object; not owned.

Definition at line 164 of file render-task-list-impl.h.

Referenced by CreateTask(), Initialize(), and RemoveTask().

RenderTaskContainer Dali::Internal::RenderTaskList::mTasks
private

Reference counted render-tasks.

Definition at line 166 of file render-task-list-impl.h.

Referenced by CreateTask(), GetTask(), GetTaskCount(), GetTasks(), NotifyCompleted(), RecoverFromContextLoss(), and RemoveTask().


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