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

Helper class for EGL, surface, pre & post rendering. More...

#include <render-helper.h>

Collaboration diagram for Dali::Internal::Adaptor::RenderHelper:
Collaboration graph
[legend]

Public Member Functions

 RenderHelper (AdaptorInternalServices &adaptorInterfaces)
 Create a RenderHelper. More...
 
 ~RenderHelper ()
 Non-virtual Destructor. More...
 
void Start ()
 Sets up all render related objects to start rendering. More...
 
void Stop ()
 Sets up all render related objects to stop rendering. More...
 
void ConsumeEvents ()
 Consumes any pending events to avoid memory leaks. More...
 
void InitializeEgl ()
 Initializes EGL. More...
 
void ReplaceSurface (RenderSurface *newSurface)
 Replaces the rendering surface. More...
 
void ShutdownEgl ()
 Shuts down EGL. More...
 
bool PreRender ()
 Called before core renders the scene. More...
 
void PostRender ()
 Called after core has rendered the scene. More...
 

Private Member Functions

 RenderHelper (const RenderHelper &RenderHelper)
 
RenderHelperoperator= (const RenderHelper &RenderHelper)
 

Private Attributes

Integration::GlAbstractionmGLES
 GL abstraction reference. More...
 
EglFactoryInterfacemEglFactory
 Factory class to create EGL implementation. More...
 
EglInterface * mEGL
 Interface to EGL implementation. More...
 
RenderSurface * mSurface
 Current surface. More...
 
Dali::DisplayConnectionmDisplayConnection
 Display connection. More...
 
bool mSurfaceReplaced
 True when new surface has been initialized. More...
 

Detailed Description

Helper class for EGL, surface, pre & post rendering.

Definition at line 47 of file render-helper.h.

Constructor & Destructor Documentation

Dali::Internal::Adaptor::RenderHelper::RenderHelper ( AdaptorInternalServices adaptorInterfaces)

Create a RenderHelper.

Parameters
[in]adaptorInterfacesbase adaptor interface

Definition at line 37 of file render-helper.cpp.

References Dali::Internal::Adaptor::AdaptorInternalServices::GetRenderSurfaceInterface(), mDisplayConnection, mSurface, and Dali::DisplayConnection::New().

Here is the call graph for this function:

Dali::Internal::Adaptor::RenderHelper::~RenderHelper ( )

Non-virtual Destructor.

Definition at line 49 of file render-helper.cpp.

References Dali::Internal::Adaptor::EglFactoryInterface::Destroy(), mDisplayConnection, and mEglFactory.

Here is the call graph for this function:

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

Member Function Documentation

void Dali::Internal::Adaptor::RenderHelper::ConsumeEvents ( )

Consumes any pending events to avoid memory leaks.

Note
Called from rendering thread

Definition at line 80 of file render-helper.cpp.

References Dali::DisplayConnection::ConsumeEvents(), and mDisplayConnection.

Referenced by Dali::Internal::Adaptor::RenderThread::Run(), Dali::Internal::Adaptor::SingleThreadController::UpdateRender(), and Dali::Internal::Adaptor::CombinedUpdateRenderController::UpdateRenderThread().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Adaptor::RenderHelper::InitializeEgl ( )
RenderHelper& Dali::Internal::Adaptor::RenderHelper::operator= ( const RenderHelper RenderHelper)
private
void Dali::Internal::Adaptor::RenderHelper::PostRender ( )
bool Dali::Internal::Adaptor::RenderHelper::PreRender ( )

Called before core renders the scene.

Returns
true if successful and Core::Render should be called.
Note
Called from render thread

Definition at line 136 of file render-helper.cpp.

References mEGL, mGLES, mSurface, and Dali::Integration::GlAbstraction::PreRender().

Referenced by Dali::Internal::Adaptor::SingleThreadController::RequestUpdateOnce(), Dali::Internal::Adaptor::RenderThread::Run(), Dali::Internal::Adaptor::SingleThreadController::UpdateRender(), and Dali::Internal::Adaptor::CombinedUpdateRenderController::UpdateRenderThread().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Adaptor::RenderHelper::ReplaceSurface ( RenderSurface *  newSurface)

Replaces the rendering surface.

Used for replacing pixmaps due to resizing

Parameters
newSurfaceto use
Note
Called from render thread

Definition at line 105 of file render-helper.cpp.

References DALI_ASSERT_ALWAYS, Dali::DisplayConnection::InitializeEgl(), mDisplayConnection, mEGL, mSurface, and mSurfaceReplaced.

Referenced by Dali::Internal::Adaptor::RenderThread::ProcessRequest(), Dali::Internal::Adaptor::SingleThreadController::ReplaceSurface(), and Dali::Internal::Adaptor::CombinedUpdateRenderController::UpdateRenderThread().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Adaptor::RenderHelper::ShutdownEgl ( )

Shuts down EGL.

Note
Called from render thread

Definition at line 124 of file render-helper.cpp.

References mEGL, and mSurface.

Referenced by Dali::Internal::Adaptor::RenderThread::Run(), Dali::Internal::Adaptor::SingleThreadController::StopRendering(), and Dali::Internal::Adaptor::CombinedUpdateRenderController::UpdateRenderThread().

Here is the caller graph for this function:

void Dali::Internal::Adaptor::RenderHelper::Start ( )

Sets up all render related objects to start rendering.

Definition at line 60 of file render-helper.cpp.

References mSurface.

Referenced by Dali::Internal::Adaptor::SingleThreadController::Start(), Dali::Internal::Adaptor::RenderThread::Start(), and Dali::Internal::Adaptor::CombinedUpdateRenderController::Start().

Here is the caller graph for this function:

void Dali::Internal::Adaptor::RenderHelper::Stop ( )

Sets up all render related objects to stop rendering.

Definition at line 68 of file render-helper.cpp.

References mSurface.

Referenced by Dali::Internal::Adaptor::RenderThread::Stop(), Dali::Internal::Adaptor::CombinedUpdateRenderController::Stop(), and Dali::Internal::Adaptor::SingleThreadController::StopRendering().

Here is the caller graph for this function:

Member Data Documentation

Dali::DisplayConnection* Dali::Internal::Adaptor::RenderHelper::mDisplayConnection
private

Display connection.

Definition at line 141 of file render-helper.h.

Referenced by ConsumeEvents(), InitializeEgl(), PostRender(), RenderHelper(), ReplaceSurface(), and ~RenderHelper().

EglInterface* Dali::Internal::Adaptor::RenderHelper::mEGL
private

Interface to EGL implementation.

Definition at line 139 of file render-helper.h.

Referenced by InitializeEgl(), PostRender(), PreRender(), ReplaceSurface(), and ShutdownEgl().

EglFactoryInterface* Dali::Internal::Adaptor::RenderHelper::mEglFactory
private

Factory class to create EGL implementation.

Definition at line 138 of file render-helper.h.

Referenced by InitializeEgl(), and ~RenderHelper().

Integration::GlAbstraction& Dali::Internal::Adaptor::RenderHelper::mGLES
private

GL abstraction reference.

Definition at line 137 of file render-helper.h.

Referenced by PostRender(), and PreRender().

RenderSurface* Dali::Internal::Adaptor::RenderHelper::mSurface
private

Current surface.

Definition at line 140 of file render-helper.h.

Referenced by InitializeEgl(), PostRender(), PreRender(), RenderHelper(), ReplaceSurface(), ShutdownEgl(), Start(), and Stop().

bool Dali::Internal::Adaptor::RenderHelper::mSurfaceReplaced
private

True when new surface has been initialized.

Definition at line 142 of file render-helper.h.

Referenced by PostRender(), and ReplaceSurface().


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