]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/Transition.hh
stream-based logging classes
[chaz/yoink] / src / Moof / Transition.hh
index cf1595c125bb351556b11d720fcbeeeb1c422672..07addc313c8d9fc4093f46e205e352dc563d83c0 100644 (file)
@@ -46,20 +46,17 @@ namespace Mf {
 template <typename T>
 class Transition : public Layer
 {
-       LayerP  to;
-       LayerP  from;
+       LayerP  mTo;
+       LayerP  mFrom;
 
-       T               interpolator;
-
-       Engine* engine;
+       T               mInterp;
 
 public:
 
        Transition(LayerP t, LayerP f, const T& interp) :
-               to(t),
-               from(f),
-               interpolator(interp),
-               engine(0) {}
+               mTo(t),
+               mFrom(f),
+               mInterp(interp) {}
 
        typedef boost::shared_ptr<Transition> Ptr;
 
@@ -69,27 +66,22 @@ public:
        }
 
 
-       void pushed(Engine& e)
-       {
-               engine = &e;
-       }
-
-       void popped(Engine& e)
+       void popped(Engine& engine)
        {
-               if (to) e.push(to);
+               if (mTo) engine.push(mTo);
        }
 
-       void update(Scalar t, Scalar dt)
+       void update(Engine& engine, Scalar t, Scalar dt)
        {
-               interpolator.update(t, dt);
+               mInterp.update(t, dt);
 
-               if (from) from->update(t, dt);
-               if (to) to->update(t, dt);
+               if (mFrom) mFrom->update(engine, t, dt);
+               if (mTo) mTo->update(engine, t, dt);
 
-               if (interpolator.isDone())
+               if (mInterp.isDone())
                {
                        // to should /replace/ this
-                       engine->pop(this);
+                       engine.pop(this);
                }
        }
 
@@ -105,15 +97,15 @@ public:
                glMatrixMode(GL_MODELVIEW);
                glPushMatrix();
                glLoadIdentity();
-               glColor4(1.0, 1.0, 1.0, alpha);
+               glColor(1.0, 1.0, 1.0, alpha);
                Mf::Texture::resetBind();
 
                //glRectf(-1.0f, -1.0f, 1.0f, 1.0f);
                glBegin(GL_QUADS);
-                       glVertex3f(-1.0, -1.0, -0.1);
-                       glVertex3f(1.0, -1.0, -0.1);
-                       glVertex3f(1.0, 1.0, -0.1);
-                       glVertex3f(-1.0, 1.0, -0.1);
+                       glVertex(-1.0, -1.0, -0.1);
+                       glVertex(1.0, -1.0, -0.1);
+                       glVertex(1.0, 1.0, -0.1);
+                       glVertex(-1.0, 1.0, -0.1);
                glEnd();
 
                glDisable(GL_BLEND);
@@ -126,43 +118,43 @@ public:
                glPopMatrix();
        }
 
-       void draw(Scalar alpha) const
+       void draw(Engine& engine, Scalar alpha) const
        {
-               Scalar a = interpolator.getState(alpha);
-               logInfo("draw state: %f", a);
+               Scalar a = mInterp.getState(alpha);
+               logDebug << "transition state: " << a << std::endl;
 
                //glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 
-               if (from)
+               if (mFrom)
                {
                        glPushMatrix();
                        glLoadIdentity();
                        glRotate(180.0 * a, 0.0, 1.0, 0.0);
-                       from->draw(alpha);
+                       mFrom->draw(engine, alpha);
                        glPopMatrix();
                }
                        //drawFade(a);
 
-               if (to)
+               if (mTo)
                {
                        glPushMatrix();
                        glLoadIdentity();
                        glRotate(180.0 * (1.0 - a), 0.0, 1.0, 0.0);
-                       to->draw(alpha);
+                       mTo->draw(engine, alpha);
                        glPopMatrix();
                }
                        //drawFade(1.0 - a);
        }
 
-       bool handleEvent(const Event& event)
+       bool handleEvent(Engine& engine, const Event& event)
        {
-               if (to)
+               if (mTo)
                {
-                       return to->handleEvent(event);
+                       return mTo->handleEvent(engine, event);
                }
-               else if (from)
+               else if (mFrom)
                {
-                       return from->handleEvent(event);
+                       return mFrom->handleEvent(engine, event);
                }
                return false;
        }
This page took 0.021611 seconds and 4 git commands to generate.