SkewTransformOperation.cpp [plain text]
#include "config.h"
#include "SkewTransformOperation.h"
#include "AnimationUtilities.h"
#include <wtf/text/TextStream.h>
namespace WebCore {
bool SkewTransformOperation::operator==(const TransformOperation& other) const
{
if (!isSameType(other))
return false;
const SkewTransformOperation& s = downcast<SkewTransformOperation>(other);
return m_angleX == s.m_angleX && m_angleY == s.m_angleY;
}
Ref<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), type());
const SkewTransformOperation* fromOp = downcast<SkewTransformOperation>(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), type());
}
void SkewTransformOperation::dump(TextStream& ts) const
{
ts << type() << "(" << TextStream::FormatNumberRespectingIntegers(m_angleX) << "deg, " << TextStream::FormatNumberRespectingIntegers(m_angleY) << "deg)";
}
}