X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftest-application.cpp;h=f85f14d058f14873d4f949305eda91b0b06d0173;hp=1562d27d1ea031353cf6217418c2fd239abd11d8;hb=7dbe383e1d72909ceb2ef46e33b880243911df7e;hpb=e42dc155f49bacd9635433efafcfe3004392ddcf diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp index 1562d27..f85f14d 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-application.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,20 +26,29 @@ TestApplication::TestApplication( uint32_t surfaceWidth, uint32_t surfaceHeight, uint32_t horizontalDpi, uint32_t verticalDpi, - ResourcePolicy::DataRetention policy) + bool initialize ) : mCore( NULL ), mSurfaceWidth( surfaceWidth ), mSurfaceHeight( surfaceHeight ), mFrame( 0u ), mDpi{ horizontalDpi, verticalDpi }, - mLastVSyncTime(0u), - mDataRetentionPolicy( policy ) + mLastVSyncTime(0u) { - 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; @@ -47,8 +56,7 @@ void TestApplication::Initialize() mPlatformAbstraction, mGlAbstraction, mGlSyncAbstraction, - mGestureManager, - mDataRetentionPolicy, + mGlContextHelperAbstraction, Integration::RenderToFrameBuffer::FALSE, Integration::DepthBufferAvailable::TRUE, Integration::StencilBufferAvailable::TRUE ); @@ -62,15 +70,16 @@ void TestApplication::Initialize() Dali::Integration::Trace::InstallLogContextFunction( logContextFunction ); Dali::Integration::Trace::LogContext( true, "Test" ); +} - mRenderSurface = new TestRenderSurface( Dali::PositionSize( 0, 0, mSurfaceWidth, mSurfaceHeight ) ); - mScene = Dali::Integration::Scene::New( Vector2( static_cast( mSurfaceWidth ), static_cast( mSurfaceHeight ) ) ); - mScene.SetSurface( *mRenderSurface ); - +void TestApplication::CreateScene() +{ + mScene = Dali::Integration::Scene::New( Size( static_cast( mSurfaceWidth ), static_cast( mSurfaceHeight ) ) ); mScene.SetDpi( Vector2( static_cast( mDpi.x ), static_cast( mDpi.y ) ) ); +} - mCore->SurfaceResized( mRenderSurface ); - +void TestApplication::InitializeCore() +{ mCore->SceneCreated(); mCore->Initialize(); } @@ -78,7 +87,6 @@ void TestApplication::Initialize() TestApplication::~TestApplication() { Dali::Integration::Log::UninstallLogFunction(); - delete mRenderSurface; delete mCore; } @@ -141,9 +149,9 @@ TestGlSyncAbstraction& TestApplication::GetGlSyncAbstraction() return mGlSyncAbstraction; } -TestGestureManager& TestApplication::GetGestureManager() +TestGlContextHelperAbstraction& TestApplication::GetGlContextHelperAbstraction() { - return mGestureManager; + return mGlContextHelperAbstraction; } void TestApplication::ProcessEvent(const Integration::Event& event) @@ -179,7 +187,11 @@ void TestApplication::DoUpdate( uint32_t intervalMilliseconds, const char* locat bool TestApplication::Render( uint32_t intervalMilliseconds, const char* location ) { DoUpdate( intervalMilliseconds, location ); - mCore->Render( mRenderStatus, false ); + + mCore->PreRender( mRenderStatus, false /*do not force clear*/, false /*do not skip rendering*/ ); + mCore->RenderScene( mScene, true /*render the off-screen buffers*/); + mCore->RenderScene( mScene, false /*render the surface*/); + mCore->PostRender( false /*do not skip rendering*/ ); mFrame++; @@ -205,7 +217,10 @@ bool TestApplication::GetRenderNeedsUpdate() bool TestApplication::RenderOnly( ) { // Update Time values - mCore->Render( mRenderStatus, false ); + mCore->PreRender( mRenderStatus, false /*do not force clear*/, false /*do not skip rendering*/ ); + mCore->RenderScene( mScene, true /*render the off-screen buffers*/); + mCore->RenderScene( mScene, false /*render the surface*/); + mCore->PostRender( false /*do not skip rendering*/ ); mFrame++;