diff options
Diffstat (limited to 'src/declarative/qml')
-rw-r--r-- | src/declarative/qml/qperformancetimer.cpp | 28 | ||||
-rw-r--r-- | src/declarative/qml/qperformancetimer_p.h | 6 |
2 files changed, 31 insertions, 3 deletions
diff --git a/src/declarative/qml/qperformancetimer.cpp b/src/declarative/qml/qperformancetimer.cpp index b7c2f47c..9e2e0734 100644 --- a/src/declarative/qml/qperformancetimer.cpp +++ b/src/declarative/qml/qperformancetimer.cpp @@ -80,6 +80,13 @@ qint64 QPerformanceTimer::elapsed() const return absoluteToNSecs(cpu_time - t1); } +// return number of nsecs elapsed from timer start time till absoluteMonotonicTimeNs +qint64 QPerformanceTimer::elapsedToAbsoluteTime(qint64 absoluteMonotonicTimeNs) const +{ + uint64_t cpu_time = absoluteMonotonicTimeNs; + return absoluteToNSecs(cpu_time - t1); +} + ////////////////////////////// Unix ////////////////////////////// #elif defined(Q_OS_UNIX) @@ -154,6 +161,16 @@ qint64 QPerformanceTimer::elapsed() const return sec * Q_INT64_C(1000000000) + frac; } +qint64 QPerformanceTimer::elapsedToAbsoluteTime(qint64 absoluteMonotonicTimeNs) const +{ + qint64 sec = absoluteMonotonicTimeNs / Q_INT64_C(1000000000); + qint64 frac = absoluteMonotonicTimeNs % Q_INT64_C(1000000000); + sec = sec - t1; + frac = frac - t2; + + return sec * Q_INT64_C(1000000000) + frac; +} + ////////////////////////////// Windows ////////////////////////////// #elif defined(Q_OS_WIN) @@ -179,6 +196,11 @@ qint64 QPerformanceTimer::elapsed() const return getTimeFromTick(li.QuadPart - t1); } +qint64 QPerformanceTimer::elapsedToAbsoluteTime(qint64 absoluteMonotonicTimeNs) const +{ + return absoluteMonotonicTimeNs - t1; +} + ////////////////////////////// Default ////////////////////////////// #else @@ -192,6 +214,12 @@ qint64 QPerformanceTimer::elapsed() const return 0; } +qint64 QPerformanceTimer::elapsedToAbsoluteTime(qint64 absoluteMonotonicTimeNs) const +{ + Q_UNUSED(absoluteMonotonicTimeNs); + return 0; +} + #endif QT_END_NAMESPACE diff --git a/src/declarative/qml/qperformancetimer_p.h b/src/declarative/qml/qperformancetimer_p.h index 7880fa89..98cf9c25 100644 --- a/src/declarative/qml/qperformancetimer_p.h +++ b/src/declarative/qml/qperformancetimer_p.h @@ -53,7 +53,7 @@ // We mean it. // -#include <QtCore/qglobal.h> +#include "qtquick1global.h" QT_BEGIN_HEADER @@ -61,12 +61,12 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) -class Q_AUTOTEST_EXPORT QPerformanceTimer +class Q_QUICK1_EXPORT QPerformanceTimer { public: void start(); qint64 elapsed() const; - + qint64 elapsedToAbsoluteTime(qint64 absoluteMonotonicTimeNs) const; private: qint64 t1; qint64 t2; |