]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/Transition.hh
initial network stuff
[chaz/yoink] / src / Moof / Transition.hh
index cf1595c125bb351556b11d720fcbeeeb1c422672..2f468fc4227d8a154f94700f7ce7a7d8c3d5d335 100644 (file)
@@ -1,37 +1,21 @@
 
-/*******************************************************************************
-
- Copyright (c) 2009, Charles McGarvey
- All rights reserved.
- Redistribution   and   use  in  source  and  binary  forms,  with  or  without
- modification, are permitted provided that the following conditions are met:
-   * Redistributions  of  source  code  must retain the above copyright notice,
-     this list of conditions and the following disclaimer.
-   * Redistributions  in binary form must reproduce the above copyright notice,
-     this  list of conditions and the following disclaimer in the documentation
-     and/or other materials provided with the distribution.
- THIS  SOFTWARE  IS  PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND  ANY  EXPRESS  OR  IMPLIED  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED.  IN  NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- FOR  ANY  DIRECT,  INDIRECT,  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES  (INCLUDING,  BUT  NOT  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES;  LOSS  OF  USE,  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-*******************************************************************************/
+/*]  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.
+*
+**************************************************************************/
 
+#define _MOOF_TRANSITION_HH_
 #ifndef _MOOF_TRANSITION_HH_
 #define _MOOF_TRANSITION_HH_
 
 #include <boost/shared_ptr.hpp>
 
-#include <Moof/Engine.hh>
+#include <Moof/Core.hh>
 #include <Moof/Interpolator.hh>
 #include <Moof/Layer.hh>
 #include <Moof/Log.hh>
 namespace Mf {
 
 
-template <typename T>
+template <class T>
 class Transition : public Layer
 {
-       LayerP  to;
-       LayerP  from;
-
-       T               interpolator;
+       LayerP  mTo;
+       LayerP  mFrom;
 
-       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 +50,22 @@ public:
        }
 
 
-       void pushed(Engine& e)
-       {
-               engine = &e;
-       }
-
-       void popped(Engine& e)
+       void removedFromCore(Core& core)
        {
-               if (to) e.push(to);
+               if (mTo) core.push(mTo);
        }
 
-       void update(Scalar t, Scalar dt)
+       void update(Core& core, 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(core, t, dt);
+               if (mTo) mTo->update(core, t, dt);
 
-               if (interpolator.isDone())
+               if (mInterp.isDone())
                {
                        // to should /replace/ this
-                       engine->pop(this);
+                       core.pop(this);
                }
        }
 
@@ -105,15 +81,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 +102,43 @@ public:
                glPopMatrix();
        }
 
-       void draw(Scalar alpha) const
+       void draw(Core& core, Scalar alpha) const
        {
-               Scalar a = interpolator.getState(alpha);
-               logInfo("draw state: %f", a);
+               Scalar a = mInterp.getState(alpha);
+               logInfo << "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(core, 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(core, alpha);
                        glPopMatrix();
                }
                        //drawFade(1.0 - a);
        }
 
-       bool handleEvent(const Event& event)
+       bool handleEvent(Core& core, const Event& event)
        {
-               if (to)
+               if (mTo)
                {
-                       return to->handleEvent(event);
+                       return mTo->handleEvent(core, event);
                }
-               else if (from)
+               else if (mFrom)
                {
-                       return from->handleEvent(event);
+                       return mFrom->handleEvent(core, event);
                }
                return false;
        }
@@ -173,5 +149,3 @@ public:
 
 #endif // _MOOF_TRANSITION_HH_
 
-/** vim: set ts=4 sw=4 tw=80: *************************************************/
-
This page took 0.025106 seconds and 4 git commands to generate.