updated licenses info
[platform/core/uifw/lottie-player.git] / src / vector / velapsedtimer.cpp
1 /*
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved.
3  *
4  * Licensed under the LGPL License, Version 2.1 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.gnu.org/licenses/
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include "velapsedtimer.h"
18
19 void VElapsedTimer::start()
20 {
21     clock = std::chrono::high_resolution_clock::now();
22     m_valid = true;
23 }
24
25 double VElapsedTimer::restart()
26 {
27     double elapsedTime = elapsed();
28     start();
29     return elapsedTime;
30 }
31
32 double VElapsedTimer::elapsed() const
33 {
34     if (!isValid()) return 0;
35     return std::chrono::duration<double, std::milli>(
36                std::chrono::high_resolution_clock::now() - clock)
37         .count();
38 }
39
40 bool VElapsedTimer::hasExpired(double time)
41 {
42     double elapsedTime = elapsed();
43     if (elapsedTime > time) return true;
44     return false;
45 }