Gnash  0.8.10
ManualClock.h
Go to the documentation of this file.
00001 /* 
00002  *   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
00003  *   Free Software Foundation, Inc.
00004  * 
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 3 of the License, or
00008  * (at your option) any later version.
00009  * 
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  * 
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00018  *
00019  *
00020  */ 
00021 
00022 #ifndef _GNASH_MANUAL_CLOCK_HH
00023 #define _GNASH_MANUAL_CLOCK_HH
00024 
00025 #include "VirtualClock.h" // for inheritance
00026 
00027 namespace gnash {
00028 
00030 class ManualClock : public VirtualClock
00031 {
00032 public:
00033 
00035         ManualClock()
00036                 :
00037                 _elapsed(0)
00038         {}
00039 
00040         // see dox in VirtualClock.h
00041         unsigned long elapsed() const
00042         {
00043                 return _elapsed;
00044         }
00045 
00046         // see dox in VirtualClock.h
00047         void restart()
00048         {
00049                 _elapsed=0;
00050         }
00051 
00053         void advance(unsigned long amount)
00054         {
00055                 _elapsed += amount;
00056         }
00057 
00058 private:
00059 
00060         unsigned long _elapsed;
00061 };
00062 
00063 
00064 } // namespace gnash
00065 
00066 #endif // _GNASH_MANUAL_CLOCK_HH