X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FMoof%2FEngine.hh;h=aa751356f6a81b6ec1712cf1ee7bdf322384d749;hb=a5f0d391406a68275b41448fc3f49e8d8396c497;hp=76120c49c890b45bba4beb618504f3ea76403df2;hpb=72d4af22710317acffab861421c4364b1780b6fe;p=chaz%2Fyoink diff --git a/src/Moof/Engine.hh b/src/Moof/Engine.hh index 76120c4..aa75135 100644 --- a/src/Moof/Engine.hh +++ b/src/Moof/Engine.hh @@ -36,7 +36,6 @@ #include #include #include -#include namespace Mf { @@ -45,11 +44,15 @@ namespace Mf { // forward declaration class Video; -class Engine : public Singleton +class Engine { -public: +protected: + Engine(int argc, char* argv[], const std::string& configFile, const std::string& name, const std::string& iconFile); + +public: + virtual ~Engine(); int run(); @@ -63,7 +66,7 @@ public: Video& getVideo(); long getFrameRate(); - // Override these if you want. + // override these if you want virtual void update(Scalar t, Scalar dt); virtual void draw(Scalar alpha); virtual void handleEvent(const Event& event); @@ -75,8 +78,10 @@ public: }; private: - class EngineImpl; - boost::shared_ptr impl_; + Engine() {} // this class must be subclassed to be useful + + class Impl; + boost::shared_ptr impl_; };