CCAnimationTestCommon.h [plain text]
#ifndef CCAnimationTestCommon_h
#define CCAnimationTestCommon_h
#include "cc/CCAnimationCurve.h"
#include "cc/CCLayerAnimationController.h"
#include <wtf/OwnPtr.h>
namespace WebCore {
class CCLayerImpl;
class LayerChromium;
}
namespace WebKitTests {
class FakeFloatAnimationCurve : public WebCore::CCFloatAnimationCurve {
public:
FakeFloatAnimationCurve();
virtual ~FakeFloatAnimationCurve();
virtual double duration() const OVERRIDE { return 1; }
virtual float getValue(double now) const OVERRIDE { return 0; }
virtual PassOwnPtr<WebCore::CCAnimationCurve> clone() const OVERRIDE;
};
class FakeTransformTransition : public WebCore::CCTransformAnimationCurve {
public:
FakeTransformTransition(double duration);
virtual ~FakeTransformTransition();
virtual double duration() const OVERRIDE { return m_duration; }
virtual WebCore::TransformationMatrix getValue(double time, const WebCore::IntSize&) const OVERRIDE;
virtual PassOwnPtr<WebCore::CCAnimationCurve> clone() const OVERRIDE;
private:
double m_duration;
};
class FakeFloatTransition : public WebCore::CCFloatAnimationCurve {
public:
FakeFloatTransition(double duration, float from, float to);
virtual ~FakeFloatTransition();
virtual double duration() const OVERRIDE { return m_duration; }
virtual float getValue(double time) const OVERRIDE;
virtual PassOwnPtr<WebCore::CCAnimationCurve> clone() const OVERRIDE;
private:
double m_duration;
float m_from;
float m_to;
};
class FakeLayerAnimationControllerClient : public WebCore::CCLayerAnimationControllerClient {
public:
FakeLayerAnimationControllerClient();
virtual ~FakeLayerAnimationControllerClient();
virtual int id() const OVERRIDE { return 0; }
virtual void setOpacityFromAnimation(float opacity) OVERRIDE { m_opacity = opacity; }
virtual float opacity() const OVERRIDE { return m_opacity; }
virtual void setTransformFromAnimation(const WebCore::TransformationMatrix& transform) OVERRIDE { m_transform = transform; }
virtual const WebCore::TransformationMatrix& transform() const OVERRIDE { return m_transform; }
virtual const WebCore::IntSize& bounds() const OVERRIDE { return m_bounds; }
private:
float m_opacity;
WebCore::TransformationMatrix m_transform;
WebCore::IntSize m_bounds;
};
void addOpacityTransitionToController(WebCore::CCLayerAnimationController&, double duration, float startOpacity, float endOpacity, bool useTimingFunction);
void addAnimatedTransformToController(WebCore::CCLayerAnimationController&, double duration, int deltaX, int deltaY);
void addOpacityTransitionToLayer(WebCore::LayerChromium&, double duration, float startOpacity, float endOpacity, bool useTimingFunction);
void addOpacityTransitionToLayer(WebCore::CCLayerImpl&, double duration, float startOpacity, float endOpacity, bool useTimingFunction);
void addAnimatedTransformToLayer(WebCore::LayerChromium&, double duration, int deltaX, int deltaY);
void addAnimatedTransformToLayer(WebCore::CCLayerImpl&, double duration, int deltaX, int deltaY);
}
#endif // CCAnimationTesctCommon_h