X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=adaptors%2Fcommon%2Fadaptor-impl.cpp;h=ff2479b0618251090c4d608b725b0a6ad1873e75;hb=28be57905493bfc096554ee75fc90fd53f27f31c;hp=ff84a6e2c1a432226474288c3cb4d896b6a0fc62;hpb=49005cc5e7475102f2314559e88509c10e4e58a6;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/adaptors/common/adaptor-impl.cpp b/adaptors/common/adaptor-impl.cpp index ff84a6e..ff2479b 100644 --- a/adaptors/common/adaptor-impl.cpp +++ b/adaptors/common/adaptor-impl.cpp @@ -138,7 +138,10 @@ void Adaptor::Initialize( Dali::Configuration::ContextLoss configuration ) mGLES = new GlImplementation(); } - mEglFactory = new EglFactory( mEnvironmentOptions->GetMultiSamplingLevel() ); + const Integration::DepthBufferAvailable depthBufferAvailable = static_cast< Integration::DepthBufferAvailable >( mEnvironmentOptions->DepthBufferRequired() ); + const Integration::StencilBufferAvailable stencilBufferAvailable = static_cast< Integration::StencilBufferAvailable >( mEnvironmentOptions->StencilBufferRequired() ); + + mEglFactory = new EglFactory( mEnvironmentOptions->GetMultiSamplingLevel(), depthBufferAvailable, stencilBufferAvailable ); EglSyncImplementation* eglSyncImpl = mEglFactory->GetSyncImplementation(); @@ -148,7 +151,9 @@ void Adaptor::Initialize( Dali::Configuration::ContextLoss configuration ) *eglSyncImpl, *mGestureManager, dataRetentionPolicy , - 0u != mEnvironmentOptions->GetRenderToFboInterval() ); + ( 0u != mEnvironmentOptions->GetRenderToFboInterval() ) ? Integration::RenderToFrameBuffer::TRUE : Integration::RenderToFrameBuffer::FALSE, + depthBufferAvailable, + stencilBufferAvailable ); const unsigned int timeInterval = mEnvironmentOptions->GetObjectProfilerInterval(); if( 0u < timeInterval ) @@ -195,6 +200,38 @@ void Adaptor::Initialize( Dali::Configuration::ContextLoss configuration ) { Integration::SetPanGestureSmoothingAmount(mEnvironmentOptions->GetPanGestureSmoothingAmount()); } + if( mEnvironmentOptions->GetPanGestureUseActualTimes() >= 0 ) + { + Integration::SetPanGestureUseActualTimes( mEnvironmentOptions->GetPanGestureUseActualTimes() == 0 ? true : false ); + } + if( mEnvironmentOptions->GetPanGestureInterpolationTimeRange() >= 0 ) + { + Integration::SetPanGestureInterpolationTimeRange( mEnvironmentOptions->GetPanGestureInterpolationTimeRange() ); + } + if( mEnvironmentOptions->GetPanGestureScalarOnlyPredictionEnabled() >= 0 ) + { + Integration::SetPanGestureScalarOnlyPredictionEnabled( mEnvironmentOptions->GetPanGestureScalarOnlyPredictionEnabled() == 0 ? true : false ); + } + if( mEnvironmentOptions->GetPanGestureTwoPointPredictionEnabled() >= 0 ) + { + Integration::SetPanGestureTwoPointPredictionEnabled( mEnvironmentOptions->GetPanGestureTwoPointPredictionEnabled() == 0 ? true : false ); + } + if( mEnvironmentOptions->GetPanGestureTwoPointInterpolatePastTime() >= 0 ) + { + Integration::SetPanGestureTwoPointInterpolatePastTime( mEnvironmentOptions->GetPanGestureTwoPointInterpolatePastTime() ); + } + if( mEnvironmentOptions->GetPanGestureTwoPointVelocityBias() >= 0.0f ) + { + Integration::SetPanGestureTwoPointVelocityBias( mEnvironmentOptions->GetPanGestureTwoPointVelocityBias() ); + } + if( mEnvironmentOptions->GetPanGestureTwoPointAccelerationBias() >= 0.0f ) + { + Integration::SetPanGestureTwoPointAccelerationBias( mEnvironmentOptions->GetPanGestureTwoPointAccelerationBias() ); + } + if( mEnvironmentOptions->GetPanGestureMultitapSmoothingRange() >= 0 ) + { + Integration::SetPanGestureMultitapSmoothingRange( mEnvironmentOptions->GetPanGestureMultitapSmoothingRange() ); + } // Set max texture size if( mEnvironmentOptions->GetMaxTextureSize() > 0 ) @@ -308,6 +345,9 @@ void Adaptor::Pause() mThreadController->Pause(); mState = PAUSED; + + // Ensure any messages queued during pause callbacks are processed by doing another update. + RequestUpdateOnce(); } } @@ -447,7 +487,7 @@ bool Adaptor::AddIdle( CallbackBase* callback, bool forceAdd ) bool idleAdded(false); // Only add an idle if the Adaptor is actually running - if( RUNNING == mState || forceAdd ) + if( RUNNING == mState || READY == mState || forceAdd ) { idleAdded = mCallbackManager->AddIdleCallback( callback ); } @@ -691,7 +731,7 @@ void Adaptor::RequestProcessEventsOnIdle( bool forceProcess ) { // Only request a notification if the Adaptor is actually running // and we haven't installed the idle notification - if( ( ! mNotificationOnIdleInstalled ) && ( RUNNING == mState || forceProcess ) ) + if( ( ! mNotificationOnIdleInstalled ) && ( RUNNING == mState || READY == mState || forceProcess ) ) { mNotificationOnIdleInstalled = AddIdle( MakeCallback( this, &Adaptor::ProcessCoreEventsFromIdle ), forceProcess ); }