added Timer
This commit is contained in:
parent
a9eebf6266
commit
d070a4495c
74
src/util/Timer.cpp
Normal file
74
src/util/Timer.cpp
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
//This file is part of Photon (http://photon.sourceforge.net)
|
||||||
|
//Copyright (C) 2004-2005 James Turk
|
||||||
|
//
|
||||||
|
// Author:
|
||||||
|
// James Turk (jpt2433@rit.edu)
|
||||||
|
//
|
||||||
|
// Version:
|
||||||
|
// $Id: Timer.cpp,v 1.1 2005/03/02 08:44:16 cozman Exp $
|
||||||
|
|
||||||
|
#include "util/Timer.hpp"
|
||||||
|
|
||||||
|
namespace photon
|
||||||
|
{
|
||||||
|
namespace util
|
||||||
|
{
|
||||||
|
|
||||||
|
Timer::Timer(bool appTimeLinked) :
|
||||||
|
appCore_(AppCore::getInstance()),
|
||||||
|
appTimeLinked_(appTimeLinked)
|
||||||
|
{
|
||||||
|
reset(); //initializes other members
|
||||||
|
}
|
||||||
|
|
||||||
|
Timer::~Timer()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::reset()
|
||||||
|
{
|
||||||
|
lastPause_ = pausedTime_ = appCore_.getTime();
|
||||||
|
paused_ = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::pause()
|
||||||
|
{
|
||||||
|
if(!paused_)
|
||||||
|
{
|
||||||
|
lastPause_ = appCore_.getTime();
|
||||||
|
paused_ = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::unpause()
|
||||||
|
{
|
||||||
|
if(paused_)
|
||||||
|
{
|
||||||
|
//when unpausing update the total paused time by that pause
|
||||||
|
pausedTime_ += (appCore_.getTime()-lastPause_);
|
||||||
|
paused_ = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
double Timer::getTime() const
|
||||||
|
{
|
||||||
|
if(paused_)
|
||||||
|
{
|
||||||
|
//when paused timer adjusted to subtract currently paused time
|
||||||
|
return appCore_.getTime() -
|
||||||
|
(pausedTime_ + (appCore_.getTime() - lastPause_));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//paused time is the total time the program has been paused
|
||||||
|
return appCore_.getTime() - pausedTime_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Timer::isPaused() const
|
||||||
|
{
|
||||||
|
return paused_;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user