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

Class to control multiple threads: More...

#include <separate-update-render-controller.h>

Inheritance diagram for Dali::Internal::Adaptor::SeparateUpdateRenderController:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::Adaptor::SeparateUpdateRenderController:
Collaboration graph
[legend]

Public Member Functions

 SeparateUpdateRenderController (AdaptorInternalServices &adaptorInterfaces, const EnvironmentOptions &environmentOptions)
 Constructor. More...
 
 ~SeparateUpdateRenderController ()
 Non virtual destructor. More...
 
void Initialize ()
 Initializes the thread controller. More...
 
void Start ()
  More...
 
void Pause ()
  More...
 
void Resume ()
  More...
 
void Stop ()
  More...
 
void RequestUpdate ()
 Called by the adaptor when core requires another update. More...
 
void RequestUpdateOnce ()
 Called by the adaptor when core requires one update If Adaptor is paused, we do one update and return to pause. More...
 
void ReplaceSurface (RenderSurface *surface)
 Replaces the surface. More...
 
void SetRenderRefreshRate (unsigned int numberOfVSyncsPerRender)
  More...
 
- Public Member Functions inherited from Dali::Internal::Adaptor::ThreadControllerInterface
virtual ~ThreadControllerInterface ()
 Virtual destructor. More...
 

Private Member Functions

 SeparateUpdateRenderController (const SeparateUpdateRenderController &)
 
SeparateUpdateRenderControlleroperator= (const SeparateUpdateRenderController &)
 

Private Attributes

AdaptorInternalServicesmAdaptorInterfaces
 
UpdateThreadmUpdateThread
 The update-thread owned by SeparateUpdateRenderController. More...
 
RenderThreadmRenderThread
 The render-thread owned by SeparateUpdateRenderController. More...
 
VSyncNotifiermVSyncNotifier
 The vsync-thread owned by SeparateUpdateRenderController. More...
 
ThreadSynchronizationmThreadSync
 Used to synchronize all the threads; owned by SeparateUpdateRenderController. More...
 
unsigned int mNumberOfVSyncsPerRender
 Frame skipping count. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Dali::Internal::Adaptor::ThreadControllerInterface
 ThreadControllerInterface ()
 Constructor. More...
 

Detailed Description

Class to control multiple threads:

Definition at line 49 of file separate-update-render-controller.h.

Constructor & Destructor Documentation

Dali::Internal::Adaptor::SeparateUpdateRenderController::SeparateUpdateRenderController ( AdaptorInternalServices adaptorInterfaces,
const EnvironmentOptions environmentOptions 
)
Dali::Internal::Adaptor::SeparateUpdateRenderController::~SeparateUpdateRenderController ( )

Non virtual destructor.

Not intended as base class.

Definition at line 63 of file separate-update-render-controller.cpp.

References mRenderThread, mThreadSync, mUpdateThread, and mVSyncNotifier.

Dali::Internal::Adaptor::SeparateUpdateRenderController::SeparateUpdateRenderController ( const SeparateUpdateRenderController )
private

Member Function Documentation

void Dali::Internal::Adaptor::SeparateUpdateRenderController::Initialize ( void  )
virtual
SeparateUpdateRenderController& Dali::Internal::Adaptor::SeparateUpdateRenderController::operator= ( const SeparateUpdateRenderController )
private
void Dali::Internal::Adaptor::SeparateUpdateRenderController::Pause ( )
virtual

Implements Dali::Internal::Adaptor::ThreadControllerInterface.

Definition at line 87 of file separate-update-render-controller.cpp.

References mThreadSync, and Dali::Internal::Adaptor::ThreadSynchronization::Pause().

Here is the call graph for this function:

void Dali::Internal::Adaptor::SeparateUpdateRenderController::ReplaceSurface ( RenderSurface *  surface)
virtual
void Dali::Internal::Adaptor::SeparateUpdateRenderController::RequestUpdate ( )
virtual

Called by the adaptor when core requires another update.

Implements Dali::Internal::Adaptor::ThreadControllerInterface.

Definition at line 107 of file separate-update-render-controller.cpp.

References mThreadSync, and Dali::Internal::Adaptor::ThreadSynchronization::UpdateRequest().

Here is the call graph for this function:

void Dali::Internal::Adaptor::SeparateUpdateRenderController::RequestUpdateOnce ( )
virtual

Called by the adaptor when core requires one update If Adaptor is paused, we do one update and return to pause.

Implements Dali::Internal::Adaptor::ThreadControllerInterface.

Definition at line 112 of file separate-update-render-controller.cpp.

References mThreadSync, and Dali::Internal::Adaptor::ThreadSynchronization::UpdateOnce().

Here is the call graph for this function:

void Dali::Internal::Adaptor::SeparateUpdateRenderController::Resume ( )
virtual

Implements Dali::Internal::Adaptor::ThreadControllerInterface.

Definition at line 92 of file separate-update-render-controller.cpp.

References mThreadSync, and Dali::Internal::Adaptor::ThreadSynchronization::Resume().

Here is the call graph for this function:

void Dali::Internal::Adaptor::SeparateUpdateRenderController::SetRenderRefreshRate ( unsigned int  numberOfVSyncsPerRender)
virtual
void Dali::Internal::Adaptor::SeparateUpdateRenderController::Start ( )
virtual

Implements Dali::Internal::Adaptor::ThreadControllerInterface.

Definition at line 82 of file separate-update-render-controller.cpp.

References mThreadSync, and Dali::Internal::Adaptor::ThreadSynchronization::Start().

Here is the call graph for this function:

void Dali::Internal::Adaptor::SeparateUpdateRenderController::Stop ( )
virtual

Member Data Documentation

AdaptorInternalServices& Dali::Internal::Adaptor::SeparateUpdateRenderController::mAdaptorInterfaces
private
unsigned int Dali::Internal::Adaptor::SeparateUpdateRenderController::mNumberOfVSyncsPerRender
private

Frame skipping count.

Definition at line 122 of file separate-update-render-controller.h.

Referenced by SeparateUpdateRenderController(), and SetRenderRefreshRate().

RenderThread* Dali::Internal::Adaptor::SeparateUpdateRenderController::mRenderThread
private
ThreadSynchronization* Dali::Internal::Adaptor::SeparateUpdateRenderController::mThreadSync
private
UpdateThread* Dali::Internal::Adaptor::SeparateUpdateRenderController::mUpdateThread
private
VSyncNotifier* Dali::Internal::Adaptor::SeparateUpdateRenderController::mVSyncNotifier
private

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