-/*] Copyright (c) 2009-2010, Charles McGarvey [**************************
+/*] Copyright (c) 2009-2011, Charles McGarvey [*****************************
**] All rights reserved.
*
-* vi:ts=4 sw=4 tw=75
-*
* Distributable under the terms and conditions of the 2-clause BSD license;
* see the file COPYING for a complete text of the license.
*
-**************************************************************************/
+*****************************************************************************/
#ifndef _MOOF_APPLICATION_HH_
#define _MOOF_APPLICATION_HH_
namespace moof {
+// forward declarations
class settings;
class application : public runloop
{
public:
- application(settings& settings);
+ explicit application(settings& settings);
virtual ~application() {}
virtual void update(scalar t, scalar dt) = 0;
virtual void draw(scalar alpha) const = 0;
virtual void handle_event(const event& event) = 0;
-
private:
void dispatch_update(timer& timer, scalar t);
void dispatch_draw(timer& timer, scalar t);
- scalar next_update_;
- scalar last_update_;
- scalar total_time_;
- scalar accum_;
-
- timer update_timer_;
- timer draw_timer_;
+ scalar last_update_;
+ scalar last_draw_;
+ scalar accum_;
+ game_time game_time_;
+ timer update_timer_;
+ timer draw_timer_;
- scalar timestep_;
- scalar inverse_timestep_;
+ scalar timestep_;
+ scalar inverse_timestep_;
};