]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/Engine.hh
big batch of changes
[chaz/yoink] / src / Moof / Engine.hh
index a0c23002080ff5ef65fa1a336cedd1294e101a35..84b1f588f57e41c55d5a185bec8e0d40abcca198 100644 (file)
@@ -31,7 +31,6 @@
 
 #include <boost/shared_ptr.hpp>
 
-#include <Moof/Exception.hh>
 #include <Moof/Layer.hh>
 #include <Moof/Math.hh>
 
@@ -42,8 +41,10 @@ namespace Mf {
 // forward declarations
 class Video;
 
-struct Engine
+class Engine
 {
+public:
+
        Engine(int argc, char* argv[], const std::string& name, 
                        const std::string& iconFile, const std::string& configFile);
        ~Engine() {}
@@ -61,25 +62,16 @@ struct Engine
        Video& getVideo() const;
        long getFrameRate() const;
 
-       void pushLayer(LayerP layer);
-       void popLayer();
-       void popLayer(Layer* layer);
-       void clearLayers();
-
-       struct Exception : public Mf::Exception
-       {
-               explicit Exception(unsigned error) :
-                       Mf::Exception(error) {}
-
-               void raise()
-               {
-                       throw *this;
-               }
-       };
+       void push(LayerP layer);
+       LayerP pop();
+       // pops a specific layer and all layers above it
+       LayerP pop(Layer* layer);
+       void clear();
 
 private:
+
        class Impl;
-       boost::shared_ptr<Impl> impl_;
+       boost::shared_ptr<Impl> mImpl;
 };
 
 
This page took 0.018794 seconds and 4 git commands to generate.