uint32_t surfaceHeight,
uint32_t horizontalDpi,
uint32_t verticalDpi,
- ResourcePolicy::DataRetention policy)
-: mCore( NULL ),
+ ResourcePolicy::DataRetention policy,
+ bool initialize )
+: mRenderSurface( NULL ),
+ mCore( NULL ),
mSurfaceWidth( surfaceWidth ),
mSurfaceHeight( surfaceHeight ),
mFrame( 0u ),
mLastVSyncTime(0u),
mDataRetentionPolicy( policy )
{
- Initialize();
+ if( initialize )
+ {
+ Initialize();
+ }
}
void TestApplication::Initialize()
{
+ CreateCore();
+ CreateScene();
+ InitializeCore();
+}
+
+void TestApplication::CreateCore()
+{
// We always need the first update!
mStatus.keepUpdating = Integration::KeepUpdating::STAGE_KEEP_RENDERING;
mPlatformAbstraction,
mGlAbstraction,
mGlSyncAbstraction,
- mGestureManager,
+ mGlContextHelperAbstraction,
mDataRetentionPolicy,
Integration::RenderToFrameBuffer::FALSE,
Integration::DepthBufferAvailable::TRUE,
- Integration::StencilBufferAvailable::TRUE );
+ Integration::StencilBufferAvailable::TRUE,
+ Integration::PartialUpdateAvailable::FALSE );
mCore->ContextCreated();
Dali::Integration::Trace::InstallLogContextFunction( logContextFunction );
Dali::Integration::Trace::LogContext( true, "Test" );
+}
+void TestApplication::CreateScene()
+{
mRenderSurface = new TestRenderSurface( Dali::PositionSize( 0, 0, mSurfaceWidth, mSurfaceHeight ) );
- mScene = Dali::Integration::Scene::New( Vector2( static_cast<float>( mSurfaceWidth ), static_cast<float>( mSurfaceHeight ) ) );
- mScene.SetSurface( *mRenderSurface );
-
+ mScene = Dali::Integration::Scene::New( *mRenderSurface );
mScene.SetDpi( Vector2( static_cast<float>( mDpi.x ), static_cast<float>( mDpi.y ) ) );
+}
- mCore->SurfaceResized( mRenderSurface );
-
+void TestApplication::InitializeCore()
+{
mCore->SceneCreated();
mCore->Initialize();
}
return mGlSyncAbstraction;
}
-TestGestureManager& TestApplication::GetGestureManager()
+TestGlContextHelperAbstraction& TestApplication::GetGlContextHelperAbstraction()
{
- return mGestureManager;
+ return mGlContextHelperAbstraction;
}
void TestApplication::ProcessEvent(const Integration::Event& event)
bool TestApplication::Render( uint32_t intervalMilliseconds, const char* location )
{
DoUpdate( intervalMilliseconds, location );
- mCore->Render( mRenderStatus, false );
+ mCore->Render( mRenderStatus, false /*do not force clear*/, false /*do not skip rendering*/ );
mFrame++;
bool TestApplication::RenderOnly( )
{
// Update Time values
- mCore->Render( mRenderStatus, false );
+ mCore->Render( mRenderStatus, false /*do not force clear*/, false /*do not skip rendering*/ );
mFrame++;