X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=adaptors%2Fbase%2Fenvironment-options.h;h=2d2300decf267899daa1d4dfca8fa19dc6d7602d;hb=3e0170db1aa381d3a26f0c2b54f924dfda2dccc8;hp=5d107d3e7382cbb38df568fe14839ba2089212bf;hpb=9c12155cb6ec5bf1005881d9a29c29a9ced23d90;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/adaptors/base/environment-options.h b/adaptors/base/environment-options.h index 5d107d3..2d2300d 100644 --- a/adaptors/base/environment-options.h +++ b/adaptors/base/environment-options.h @@ -2,7 +2,7 @@ #define __DALI_INTERNAL_ADAPTOR_ENVIRONMENT_OPTIONS_H__ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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. @@ -18,8 +18,12 @@ * */ +// EXTERNAL INCLUDES #include +// INTERNAL INCLUDES +#include + namespace Dali { namespace Internal @@ -28,11 +32,12 @@ namespace Adaptor { /** - * Contains environment options which define settings and the ability to install a log function. + * This class provides the environment options which define settings as well as + * the ability to install a log function. + * */ class EnvironmentOptions { - public: /** @@ -47,17 +52,8 @@ public: /** * @param logFunction logging function - * @param logFilterOptions bitmask of the logging options defined in intergration/debug.h (e.g. - * @param logFrameRateFrequency frequency of how often FPS is logged out (e.g. 0 = off, 2 = every 2 seconds). - * @param logupdateStatusFrequency frequency of how often the update status is logged in number of frames - * @param logPerformanceLevel performance logging, 0 = disabled, 1+ = enabled - * @param logPanGestureLevel pan-gesture logging, 0 = disabled, 1 = enabled */ - void SetLogOptions( const Dali::Integration::Log::LogFunction& logFunction, - unsigned int logFrameRateFrequency, - unsigned int logupdateStatusFrequency, - unsigned int logPerformanceLevel, - unsigned int logPanGestureLevel ); + void SetLogFunction( const Dali::Integration::Log::LogFunction& logFunction ); /** * Install the log function for the current thread. @@ -70,6 +66,11 @@ public: void UnInstallLogFunction() const; /** + * @return whether network control is enabled or not ( 0 = off, 1 = on ) + */ + unsigned int GetNetworkControlMode() const; + + /** * @return frequency of how often FPS is logged out (e.g. 0 = off, 2 = every 2 seconds). */ unsigned int GetFrameRateLoggingFrequency() const; @@ -80,9 +81,24 @@ public: unsigned int GetUpdateStatusLoggingFrequency() const; /** - * @return logPerformanceLevel performance log level ( 0 = off ) + * @return object profiler status interval ( 0 == off ) + */ + unsigned int GetObjectProfilerInterval() const; + + /** + * @return performance statistics log level ( 0 == off ) + */ + unsigned int GetPerformanceStatsLoggingOptions() const; + + /** + * @return performance statistics log frequency in seconds + */ + unsigned int GetPerformanceStatsLoggingFrequency() const; + + /** + * @return performance time stamp output ( 0 == off) */ - unsigned int GetPerformanceLoggingLevel() const; + unsigned int GetPerformanceTimeStampOutput() const; /** * @return pan-gesture logging level ( 0 == off ) @@ -110,6 +126,13 @@ public: int GetPanGestureMinimumPredictionAmount() const; /** + * @brief Gets the prediction amount to adjust when the pan velocity is changed. + * + * If the pan velocity is accelerating, the prediction amount will be increased + * by the specified amount until it reaches the upper bound. If the pan velocity + * is decelerating, the prediction amount will be decreased by the specified + * amount until it reaches the lower bound. + * * @return pan-gesture prediction amount adjustment */ int GetPanGesturePredictionAmountAdjustment() const; @@ -135,101 +158,103 @@ public: int GetMinimumPanEvents() const; /** - * @brief Sets the mode used to predict pan gesture movement - * - * @param[in] mode The prediction mode to use + * @return The width of the window */ - void SetPanGesturePredictionMode( unsigned int mode ); + unsigned int GetWindowWidth() const; /** - * @brief Sets the prediction amount of the pan gesture - * - * @param[in] amount The prediction amount in milliseconds + * @return The height of the window */ - void SetPanGesturePredictionAmount( unsigned int amount ); + unsigned int GetWindowHeight() const; /** - * @brief Sets the upper bound of the prediction amount for clamping - * - * @param[in] amount The prediction amount in milliseconds + * @brief Get the graphics status time */ - void SetPanGestureMaximumPredictionAmount( unsigned int amount ); + int GetGlesCallTime() const; /** - * @brief Sets the lower bound of the prediction amount for clamping - * - * @param[in] amount The prediction amount in milliseconds + * @brief Get whether or not to accumulate gles call statistics */ - void SetPanGestureMinimumPredictionAmount( unsigned int amount ); + bool GetGlesCallAccumulate() const; /** - * @brief Sets the prediction amount to adjust when the pan velocity is changed. - * If the pan velocity is accelerating, the prediction amount will be increased - * by the specified amount until it reaches the upper bound. If the pan velocity - * is decelerating, the prediction amount will be decreased by the specified - * amount until it reaches the lower bound. - * - * @param[in] amount The prediction amount in milliseconds + * @return true if performance server is required */ - void SetPanGesturePredictionAmountAdjustment( unsigned int amount ); + bool PerformanceServerRequired() const; /** - * @brief Called to set how pan gestures smooth input - * - * @param[in] mode The smoothing mode to use + * @return Gets the window name. */ - void SetPanGestureSmoothingMode( unsigned int mode ); + const std::string& GetWindowName() const; /** - * @brief Sets the mode used to smooth pan gesture movement properties calculated on the Update thread - * - * @param[in] amount The smoothing amount [0.0f,1.0f] - 0.0f would be no smoothing, 1.0f maximum smoothing + * @return Gets the window class. */ - void SetPanGestureSmoothingAmount( float amount ); + const std::string& GetWindowClassName() const; /** - * @brief Sets the minimum distance required before a pan starts - * - * @param[in] distance The minimum distance before a pan starts + * @return The thread mode that DALi should use. */ - void SetMinimumPanDistance( int distance ); + ThreadingMode::Type GetThreadingMode() const; /** - * @brief Sets the minimum number of events required before a pan starts - * - * @param[in] events The minimum events before a pan starts + * @return The render refresh rate. */ - void SetMinimumPanEvents( int events ); + unsigned int GetRenderRefreshRate() const; /** - * @brief Sets how often the gles call logging occurs - * - * @param[in] time the number of seconds between logging output + * @return The number of samples required in multisample buffers */ - void SetGlesCallTime( int time ); + int GetMultiSamplingLevel() const; /** - * @brief Get the graphics status time + * @return The maximum texture size + */ + unsigned int GetMaxTextureSize() const; + + /** + * @return The maximum texture size */ - int GetGlesCallTime(); + int GetIndicatorVisibleMode() const; + +private: // Internal + /** + * Parses the environment options. + * Called from the constructor + */ + void ParseEnvironmentOptions(); -private: +private: // Data + std::string mWindowName; ///< name of the window + std::string mWindowClassName; ///< name of the class the window belongs to + unsigned int mNetworkControl; ///< whether network control is enabled unsigned int mFpsFrequency; ///< how often fps is logged out in seconds unsigned int mUpdateStatusFrequency; ///< how often update status is logged out in frames - unsigned int mPerformanceLoggingLevel; ///< performance log level + unsigned int mObjectProfilerInterval; ///< how often object counts are logged out in seconds + unsigned int mPerformanceStatsLevel; ///< performance statistics logging bitmask + unsigned int mPerformanceStatsFrequency; ///< performance statistics logging frequency (seconds) + unsigned int mPerformanceTimeStampOutput; ///< performance time stamp output ( bitmask) unsigned int mPanGestureLoggingLevel; ///< pan-gesture log level int mPanGesturePredictionMode; ///< prediction mode for pan gestures int mPanGesturePredictionAmount; ///< prediction amount for pan gestures int mPanGestureMaxPredictionAmount; ///< maximum prediction amount for pan gestures int mPanGestureMinPredictionAmount; ///< minimum prediction amount for pan gestures int mPanGesturePredictionAmountAdjustment; ///< adjustment of prediction amount for pan gestures - int mPanGestureSmoothingMode; ///< prediction mode for pan gestures - float mPanGestureSmoothingAmount; ///< prediction amount for pan gestures + int mPanGestureSmoothingMode; ///< prediction mode for pan gestures + float mPanGestureSmoothingAmount; ///< prediction amount for pan gestures int mPanMinimumDistance; ///< minimum distance required before pan starts int mPanMinimumEvents; ///< minimum events required before pan starts int mGlesCallTime; ///< time in seconds between status updates + unsigned int mWindowWidth; ///< width of the window + unsigned int mWindowHeight; ///< height of the window + ThreadingMode::Type mThreadingMode; ///< threading mode + unsigned int mRenderRefreshRate; ///< render refresh rate + bool mGlesCallAccumulate; ///< Whether or not to accumulate gles call statistics + int mMultiSamplingLevel; ///< The number of samples required in multisample buffers + unsigned int mMaxTextureSize; ///< The maximum texture size that GL can handle + int mIndicatorVisibleMode; ///< Indicator visible mode Dali::Integration::Log::LogFunction mLogFunction;