template <typename T>
class Transition : public Layer
{
- LayerP to;
- LayerP from;
+ LayerP mTo;
+ LayerP mFrom;
- T interpolator;
+ T mInterp;
- Engine* engine;
+ Engine* mEngine;
public:
Transition(LayerP t, LayerP f, const T& interp) :
- to(t),
- from(f),
- interpolator(interp),
- engine(0) {}
+ mTo(t),
+ mFrom(f),
+ mInterp(interp),
+ mEngine(0) {}
typedef boost::shared_ptr<Transition> Ptr;
}
- void pushed(Engine& e)
+ void pushed(Engine& engine)
{
- engine = &e;
+ mEngine = &engine;
}
- void popped(Engine& e)
+ void popped(Engine& engine)
{
- if (to) e.push(to);
+ if (mTo) engine.push(mTo);
}
void update(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(t, dt);
+ if (mTo) mTo->update(t, dt);
- if (interpolator.isDone())
+ if (mInterp.isDone())
{
// to should /replace/ this
- engine->pop(this);
+ mEngine->pop(this);
}
}
void draw(Scalar alpha) const
{
- Scalar a = interpolator.getState(alpha);
+ Scalar a = mInterp.getState(alpha);
logInfo("draw state: %f", a);
//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(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(alpha);
glPopMatrix();
}
//drawFade(1.0 - a);
bool handleEvent(const Event& event)
{
- if (to)
+ if (mTo)
{
- return to->handleEvent(event);
+ return mTo->handleEvent(event);
}
- else if (from)
+ else if (mFrom)
{
- return from->handleEvent(event);
+ return mFrom->handleEvent(event);
}
return false;
}