#define DALI_INTERNAL_ADAPTOR_ENVIRONMENT_OPTIONS_H
/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
*/
// EXTERNAL INCLUDES
+#include <memory>
#include <dali/integration-api/debug.h>
// INTERNAL INCLUDES
{
namespace Adaptor
{
+class TraceManager;
+class PerformanceInterface;
/**
* This class provides the environment options which define settings as well as
virtual ~EnvironmentOptions();
/**
+ * Create a TraceManager which is used for tracing.
+ * @param PerformanceInterface for using network logging for tracing on Ubuntu
+ */
+ void CreateTraceManager( PerformanceInterface* performanceInterface );
+
+ /**
+ * Initialize TraceManager by installing Trace function.
+ */
+ void InstallTraceFunction() const;
+
+ /**
* @param logFunction logging function
*/
void SetLogFunction( const Dali::Integration::Log::LogFunction& logFunction );
int GetMinimumPanEvents() const;
/**
+ * @return The minimum pixels before a pinch can be started (-1 means it's not set)
+ */
+ float GetMinimumPinchDistance() const;
+
+ /**
* @return The width of the window
*/
unsigned int GetWindowWidth() const;
unsigned int GetMaxTextureSize() const;
/**
- * @return The maximum texture size
- */
- int GetIndicatorVisibleMode() const;
-
- /**
* @brief Retrieves the interval of frames to be rendered into the Frame Buffer Object and the Frame Buffer.
*
* @return The number of frames that are going to be rendered into the Frame Buffer Object but the last one which is going to be rendered into the Frame Buffer.
*/
bool StencilBufferRequired() const;
+ /**
+ * @return whether the partial update is available.
+ */
+ bool PartialUpdateAvailable() const;
+
/// Deleted copy constructor.
EnvironmentOptions( const EnvironmentOptions& ) = delete;
private: // Data
Dali::Integration::Log::LogFunction mLogFunction;
-
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
int mPanGestureMultitapSmoothingRange; ///< The range in time (ms) of points in the history to smooth the final output against.
int mPanMinimumDistance; ///< minimum distance required before pan starts
int mPanMinimumEvents; ///< minimum events required before pan starts
+ float mPinchMinimumDistance; ///< minimum number of pixels moved before a pinch starts
int mGlesCallTime; ///< time in seconds between status updates
int mMultiSamplingLevel; ///< The number of samples required in multisample buffers
- int mIndicatorVisibleMode; ///< Indicator visible mode
ThreadingMode::Type mThreadingMode; ///< threading mode
bool mGlesCallAccumulate; ///< Whether or not to accumulate gles call statistics
bool mDepthBufferRequired; ///< Whether the depth buffer is required
bool mStencilBufferRequired; ///< Whether the stencil buffer is required
+ bool mPartialUpdateAvailable; ///< whether the partial update is available
+ std::unique_ptr<TraceManager> mTraceManager; ///< TraceManager
};
} // Adaptor