SkewTransformOperation.cpp [plain text]
#include "config.h"
#include "SkewTransformOperation.h"
#include "AnimationUtilities.h"
namespace WebCore {
bool SkewTransformOperation::operator==(const TransformOperation& o) const
{
if (!isSameType(o))
return false;
const SkewTransformOperation& s = toSkewTransformOperation(o);
return m_angleX == s.m_angleX && m_angleY == s.m_angleY;
}
PassRefPtr<TransformOperation> SkewTransformOperation::blend(const TransformOperation* from, double progress, bool blendToIdentity)
{
if (from && !from->isSameType(*this))
return this;
if (blendToIdentity)
return SkewTransformOperation::create(WebCore::blend(m_angleX, 0.0, progress), WebCore::blend(m_angleY, 0.0, progress), m_type);
const SkewTransformOperation* fromOp = toSkewTransformOperation(from);
double fromAngleX = fromOp ? fromOp->m_angleX : 0;
double fromAngleY = fromOp ? fromOp->m_angleY : 0;
return SkewTransformOperation::create(WebCore::blend(fromAngleX, m_angleX, progress), WebCore::blend(fromAngleY, m_angleY, progress), m_type);
}
}