summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml')
-rw-r--r--src/declarative/qml/qperformancetimer.cpp28
-rw-r--r--src/declarative/qml/qperformancetimer_p.h6
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;