+++ /dev/null
-
-/*] Copyright (c) 2009-2010, 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_VIEW_HH_
-#define _MOOF_VIEW_HH_
-
-#include <list>
-#include <string>
-
-#include <boost/shared_ptr.hpp>
-
-#include <Moof/Event.hh>
-#include <Moof/Math.hh>
-
-
-namespace Mf {
-
-
-class Settings;
-class Video;
-
-class View;
-typedef boost::shared_ptr<View> ViewP;
-
-/**
- * The core is essentially a stack of layers. While running, it updates
- * each layer from the bottom up every timestep. It also draws each layer
- * from the bottom up, adhering to the maximum frame-rate. Events are sent
- * to each layer from the top down until a layer signals the event was
- * handled. The core is also responsible for firing timers on time. The
- * core will continue running as long as there are layers on the stack.
- */
-
-class View
-{
-public:
-
- // loads settings: rngseed, timestep, framerate, showfps
- View(Settings& settings, Video& video);
- View();
-
- virtual ~View() {}
-
- virtual void didAddToView() {}
- virtual void willRemoveFromView() {}
-
- virtual void update(Scalar t, Scalar dt);
- virtual void draw(Scalar alpha) const;
- virtual bool handleEvent(const Event& event);
-
-
- void addChild(ViewP view);
- ViewP removeChild(View* view);
- ViewP removeChild(ViewP view);
- void clear();
-
- View& parent() const;
- const std::list<ViewP>& children() const;
-
- // do not call these without adding the view to a hierarchy with a base
- // view constructed with settings and a video context
- Settings& settings() const;
- Video& video() const;
-
- // set this machine in motion
- void run();
- void stop();
- bool isRunning() const;
-
-private:
-
- class Impl;
- boost::shared_ptr<Impl> mImpl;
-};
-
-
-} // namespace Mf
-
-#endif // _MOOF_VIEW_HH_
-