diff options
Diffstat (limited to 'src/Runtime/ogl-runtime/src/system/Qt3DSTimer.h')
m--------- | src/Runtime/ogl-runtime | 0 | ||||
-rw-r--r-- | src/Runtime/ogl-runtime/src/system/Qt3DSTimer.h | 142 |
2 files changed, 0 insertions, 142 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime new file mode 160000 +Subproject 2025912174c4cf99270b7439ec3b021e1d089ae diff --git a/src/Runtime/ogl-runtime/src/system/Qt3DSTimer.h b/src/Runtime/ogl-runtime/src/system/Qt3DSTimer.h deleted file mode 100644 index 278bd4b4..00000000 --- a/src/Runtime/ogl-runtime/src/system/Qt3DSTimer.h +++ /dev/null @@ -1,142 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 1993-2009 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#pragma once - -//============================================================================== -// Includes -//============================================================================== -#include "Qt3DSITimer.h" - -//============================================================================== -// Namespace -//============================================================================== -namespace Q3DStudio { - -//============================================================================== -// Forwards -//============================================================================== - -//============================================================================== -/** - * Time provider interface abstracting time from the usage of time. - */ -class ITimeProvider -{ -protected: - virtual ~ITimeProvider() {} -public: - virtual INT64 GetCurrentTimeMicroSeconds() = 0; -}; - -// Pause in a way that is completely transparent to the underlying system. -class CPausingTimeProvider : public ITimeProvider -{ - ITimeProvider &m_Provider; - INT64 m_PauseOffset; - INT64 m_Offset; - bool m_Paused; - -public: - CPausingTimeProvider(ITimeProvider &inProvider) - : m_Provider(inProvider) - , m_PauseOffset(0) - , m_Offset(0) - , m_Paused(false) - { - } - - INT64 GetCurrentTimeMicroSeconds() override - { - INT64 currentTime = 0; - if (m_Paused) - currentTime = m_PauseOffset; - else - currentTime = m_Provider.GetCurrentTimeMicroSeconds(); - - return currentTime - m_Offset; - } - - void Pause() - { - if (!m_Paused) { - m_Paused = true; - m_PauseOffset = m_Provider.GetCurrentTimeMicroSeconds(); - } - } - - void UnPause() - { - if (m_Paused) { - m_Paused = false; - INT64 timePaused = m_Provider.GetCurrentTimeMicroSeconds() - m_PauseOffset; - m_Offset += timePaused; - } - } - - bool IsPaused() { return m_Paused; } - - void Reset() { m_PauseOffset = m_Offset = 0; } -}; - -//============================================================================== -/** - * @class CTimer - * @brief A very simple platform optimized utility class to return lapsed time - * - * Gets current time based on the time lapsed from the point where timer is started. - */ - -class CTimer : public ITimer -{ - - //============================================================================== - // Fields - //============================================================================== -protected: - ITimeProvider &m_TimeProvider; - INT64 m_StartTime; - BOOL m_IsRunning; // Whether this timer is running or stopped - - //============================================================================== - // Methods - //============================================================================== -public: // Construction - CTimer(ITimeProvider &inProvider); - -public: // Operation - void Start() override; - void Stop() override; - void Reset() override; - TTimeUnit GetTimeMilliSecs() override; - TMicroSeconds GetTimeMicroSecs() override; -}; - -} // namespace Q3DStudio |