X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=adaptors%2Fbase%2Fenvironment-options.cpp;h=0866eeb17927693c7fecae8fab011dfbe145540c;hb=4b464f187d39773bb79bd1b00a531af113e0dafd;hp=8344e057d318d26780efd9cec9bec313df9250ae;hpb=538c40a2eee024caedb5f253d48f380ce56d9690;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/adaptors/base/environment-options.cpp b/adaptors/base/environment-options.cpp index 8344e05..0866eeb 100644 --- a/adaptors/base/environment-options.cpp +++ b/adaptors/base/environment-options.cpp @@ -84,26 +84,38 @@ const char * GetCharEnvironmentVariable( const char * variable ) EnvironmentOptions::EnvironmentOptions() : mWindowName(), mWindowClassName(), - mNetworkControl(0), - mFpsFrequency(0), - mUpdateStatusFrequency(0), + mNetworkControl( 0 ), + mFpsFrequency( 0 ), + mUpdateStatusFrequency( 0 ), mObjectProfilerInterval( 0 ), - mPerformanceStatsLevel(0), + mPerformanceStatsLevel( 0 ), mPerformanceStatsFrequency( DEFAULT_STATISTICS_LOG_FREQUENCY ), - mPerformanceTimeStampOutput(0), - mPanGestureLoggingLevel(0), - mPanGesturePredictionMode(-1), - mPanGesturePredictionAmount(-1), ///< only sets value in pan gesture if greater than 0 - mPanGestureMaxPredictionAmount(-1), - mPanGestureMinPredictionAmount(-1), - mPanGesturePredictionAmountAdjustment(-1), - mPanGestureSmoothingMode(-1), - mPanGestureSmoothingAmount(-1.0f), - mPanMinimumDistance(-1), - mPanMinimumEvents(-1), - mGlesCallTime(0), + mPerformanceTimeStampOutput( 0 ), + mPanGestureLoggingLevel( 0 ), + mPanGesturePredictionMode( -1 ), + mPanGesturePredictionAmount( -1 ), ///< only sets value in pan gesture if greater than 0 + mPanGestureMaxPredictionAmount( -1 ), + mPanGestureMinPredictionAmount( -1 ), + mPanGesturePredictionAmountAdjustment( -1 ), + mPanGestureSmoothingMode( -1 ), + mPanGestureSmoothingAmount( -1.0f ), + mPanGestureUseActualTimes( -1 ), + mPanGestureInterpolationTimeRange( -1 ), + mPanGestureScalarOnlyPredictionEnabled( -1 ), + mPanGestureTwoPointPredictionEnabled( -1 ), + mPanGestureTwoPointInterpolatePastTime( -1 ), + mPanGestureTwoPointVelocityBias( -1.0f ), + mPanGestureTwoPointAccelerationBias( -1.0f ), + mPanGestureMultitapSmoothingRange( -1 ), + mPanMinimumDistance( -1 ), + mPanMinimumEvents( -1 ), + mGlesCallTime( 0 ), mWindowWidth( 0 ), - mWindowHeight( 0 ) + mWindowHeight( 0 ), + mThreadingMode( ThreadingMode::COMBINED_UPDATE_RENDER ), + mRenderRefreshRate( 1 ), + mGlesCallAccumulate( false ), + mLogFunction( NULL ) { ParseEnvironmentOptions(); } @@ -199,6 +211,46 @@ float EnvironmentOptions::GetPanGestureSmoothingAmount() const return mPanGestureSmoothingAmount; } +int EnvironmentOptions::GetPanGestureUseActualTimes() const +{ + return mPanGestureUseActualTimes; +} + +int EnvironmentOptions::GetPanGestureInterpolationTimeRange() const +{ + return mPanGestureInterpolationTimeRange; +} + +int EnvironmentOptions::GetPanGestureScalarOnlyPredictionEnabled() const +{ + return mPanGestureScalarOnlyPredictionEnabled; +} + +int EnvironmentOptions::GetPanGestureTwoPointPredictionEnabled() const +{ + return mPanGestureTwoPointPredictionEnabled; +} + +int EnvironmentOptions::GetPanGestureTwoPointInterpolatePastTime() const +{ + return mPanGestureTwoPointInterpolatePastTime; +} + +float EnvironmentOptions::GetPanGestureTwoPointVelocityBias() const +{ + return mPanGestureTwoPointVelocityBias; +} + +float EnvironmentOptions::GetPanGestureTwoPointAccelerationBias() const +{ + return mPanGestureTwoPointAccelerationBias; +} + +int EnvironmentOptions::GetPanGestureMultitapSmoothingRange() const +{ + return mPanGestureMultitapSmoothingRange; +} + int EnvironmentOptions::GetMinimumPanDistance() const { return mPanMinimumDistance; @@ -224,6 +276,11 @@ int EnvironmentOptions::GetGlesCallTime() const return mGlesCallTime; } +bool EnvironmentOptions::GetGlesCallAccumulate() const +{ + return mGlesCallAccumulate; +} + const std::string& EnvironmentOptions::GetWindowName() const { return mWindowName; @@ -234,6 +291,16 @@ const std::string& EnvironmentOptions::GetWindowClassName() const return mWindowClassName; } +ThreadingMode::Type EnvironmentOptions::GetThreadingMode() const +{ + return mThreadingMode; +} + +unsigned int EnvironmentOptions::GetRenderRefreshRate() const +{ + return mRenderRefreshRate; +} + bool EnvironmentOptions::PerformanceServerRequired() const { return ( ( GetPerformanceStatsLoggingOptions() > 0) || @@ -310,6 +377,68 @@ void EnvironmentOptions::ParseEnvironmentOptions() mPanGestureSmoothingAmount = smoothingAmount; } + int useActualTimes( -1 ); + if( GetIntegerEnvironmentVariable( DALI_ENV_PAN_USE_ACTUAL_TIMES, useActualTimes ) ) + { + mPanGestureUseActualTimes = useActualTimes == 0 ? 0 : 1; + } + + int interpolationTimeRange( -1 ); + if( GetIntegerEnvironmentVariable( DALI_ENV_PAN_INTERPOLATION_TIME_RANGE, interpolationTimeRange ) ) + { + if( interpolationTimeRange < 0 ) + { + interpolationTimeRange = 0; + } + mPanGestureInterpolationTimeRange = interpolationTimeRange; + } + + int scalarOnlyPredictionEnabled( -1 ); + if( GetIntegerEnvironmentVariable( DALI_ENV_PAN_SCALAR_ONLY_PREDICTION_ENABLED, scalarOnlyPredictionEnabled ) ) + { + mPanGestureScalarOnlyPredictionEnabled = scalarOnlyPredictionEnabled == 0 ? 0 : 1; + } + + int twoPointPredictionEnabled( -1 ); + if( GetIntegerEnvironmentVariable( DALI_ENV_PAN_TWO_POINT_PREDICTION_ENABLED, twoPointPredictionEnabled ) ) + { + mPanGestureTwoPointPredictionEnabled = twoPointPredictionEnabled == 0 ? 0 : 1; + } + + int twoPointPastInterpolateTime( -1 ); + if( GetIntegerEnvironmentVariable( DALI_ENV_PAN_TWO_POINT_PAST_INTERPOLATE_TIME, twoPointPastInterpolateTime ) ) + { + if( twoPointPastInterpolateTime < 0 ) + { + twoPointPastInterpolateTime = 0; + } + mPanGestureTwoPointInterpolatePastTime = twoPointPastInterpolateTime; + } + + float twoPointVelocityBias = -1.0f; + if( GetFloatEnvironmentVariable( DALI_ENV_PAN_TWO_POINT_VELOCITY_BIAS, twoPointVelocityBias ) ) + { + twoPointVelocityBias = Clamp( twoPointVelocityBias, 0.0f, 1.0f ); + mPanGestureTwoPointVelocityBias = twoPointVelocityBias; + } + + float twoPointAccelerationBias = -1.0f; + if( GetFloatEnvironmentVariable( DALI_ENV_PAN_TWO_POINT_ACCELERATION_BIAS, twoPointAccelerationBias ) ) + { + twoPointAccelerationBias = Clamp( twoPointAccelerationBias, 0.0f, 1.0f ); + mPanGestureTwoPointAccelerationBias = twoPointAccelerationBias; + } + + int multitapSmoothingRange( -1 ); + if( GetIntegerEnvironmentVariable( DALI_ENV_PAN_MULTITAP_SMOOTHING_RANGE, multitapSmoothingRange ) ) + { + if( multitapSmoothingRange < 0 ) + { + multitapSmoothingRange = 0; + } + mPanGestureMultitapSmoothingRange = multitapSmoothingRange; + } + int minimumDistance(-1); if ( GetIntegerEnvironmentVariable(DALI_ENV_PAN_MINIMUM_DISTANCE, minimumDistance )) { @@ -328,6 +457,12 @@ void EnvironmentOptions::ParseEnvironmentOptions() mGlesCallTime = glesCallTime; } + int glesCallAccumulate( 0 ); + if ( GetIntegerEnvironmentVariable( DALI_GLES_CALL_ACCUMULATE, glesCallAccumulate ) ) + { + mGlesCallAccumulate = glesCallAccumulate != 0; + } + int windowWidth(0), windowHeight(0); if ( GetIntegerEnvironmentVariable( DALI_WINDOW_WIDTH, windowWidth ) && GetIntegerEnvironmentVariable( DALI_WINDOW_HEIGHT, windowHeight ) ) { @@ -346,6 +481,31 @@ void EnvironmentOptions::ParseEnvironmentOptions() { mWindowClassName = windowClassName; } + + int threadingMode(0); + if ( GetIntegerEnvironmentVariable( DALI_THREADING_MODE, threadingMode ) ) + { + switch( threadingMode ) + { + case ThreadingMode::SEPARATE_UPDATE_RENDER: + case ThreadingMode::COMBINED_UPDATE_RENDER: + case ThreadingMode::SINGLE_THREADED: + { + mThreadingMode = static_cast< ThreadingMode::Type >( threadingMode ); + break; + } + } + } + + int renderRefreshRate(0); + if ( GetIntegerEnvironmentVariable( DALI_REFRESH_RATE, renderRefreshRate ) ) + { + // Only change it if it's valid + if( renderRefreshRate > 1 ) + { + mRenderRefreshRate = renderRefreshRate; + } + } } } // Adaptor