Color Animation

// Color animation.
class RVAPI ColorAnim : public AnimFloat
{
public:
    // Animate color. Returns normalized animation time T.
    float Animate();

    // Set color animation to animate color from [colorA] to [colorB] over [span] seconds using animation mode [mode].
    // Set [reverse] to true to play animation in reverse.
    void Set(const Color &colorA, const Color &colorB, float span, Mode mode = Mode::CLAMP, bool reverse = false);

    // Internal.
    void *operator () () const { return (void *)wobj; }

    // Construct animation using animated material [animMat].
    ColorAnim(AnimMat &animMat);

    // Destructor
    ~ColorAnim();

private:
    byte wobj[128];
};