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=d89d4d23f5e86486cbcd005fd095010a08414a5d;hp=995e117af3ab1aca101900740bd765200bdda63b;hb=675f5551ef3c7ca20ec45c36b865a5092883af43;hpb=8e237937b6f2445f672d5d930c1111da25f82617 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 995e117..d89d4d2 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 @@ -59,6 +59,9 @@ TestApplication::TestApplication( bool initialize, void TestApplication::Initialize() { + // We always need the first update! + mStatus.keepUpdating = Integration::KeepUpdating::STAGE_KEEP_RENDERING; + mCore = Dali::Integration::Core::New( mRenderController, mPlatformAbstraction, @@ -151,19 +154,33 @@ void TestApplication::SetSurfaceWidth( unsigned int width, unsigned height ) mCore->SurfaceResized( mSurfaceWidth, mSurfaceHeight ); } -void TestApplication::DoUpdate( unsigned int intervalMilliseconds ) +void TestApplication::SetTopMargin( unsigned int margin ) { + mCore->SetTopMargin( margin ); +} + +void TestApplication::DoUpdate( unsigned int intervalMilliseconds, const char* location ) +{ + if( GetUpdateStatus() == 0 && + mRenderStatus.NeedsUpdate() == false && + ! GetRenderController().WasCalled(TestRenderController::RequestUpdateFunc) ) + { + fprintf(stderr, "WARNING - Update not required :%s\n", location==NULL?"NULL":location); + } + unsigned int nextVSyncTime = mLastVSyncTime + intervalMilliseconds; float elapsedSeconds = intervalMilliseconds / 1e3f; mCore->Update( elapsedSeconds, mLastVSyncTime, nextVSyncTime, mStatus ); + GetRenderController().Initialize(); + mLastVSyncTime = nextVSyncTime; } -bool TestApplication::Render( unsigned int intervalMilliseconds ) +bool TestApplication::Render( unsigned int intervalMilliseconds, const char* location ) { - DoUpdate( intervalMilliseconds ); + DoUpdate( intervalMilliseconds, location ); mCore->Render( mRenderStatus ); mFrame++; @@ -182,6 +199,11 @@ bool TestApplication::UpdateOnly( unsigned int intervalMilliseconds ) return mStatus.KeepUpdating(); } +bool TestApplication::GetRenderNeedsUpdate() +{ + return mRenderStatus.NeedsUpdate(); +} + bool TestApplication::RenderOnly( ) { // Update Time values @@ -195,8 +217,21 @@ bool TestApplication::RenderOnly( ) void TestApplication::ResetContext() { mCore->ContextDestroyed(); + mGlAbstraction.Initialize(); mCore->ContextCreated(); } +unsigned int TestApplication::Wait( unsigned int durationToWait ) +{ + int time = 0; + + for(unsigned int i = 0; i <= ( durationToWait / RENDER_FRAME_INTERVAL); i++) + { + SendNotification(); + Render(RENDER_FRAME_INTERVAL); + time += RENDER_FRAME_INTERVAL; + } + return time; +} } // Namespace dali