#include "pch.h"
class IdentityTransform2 : public Transform2 {
public:
IdentityTransform2() :
Transform2()
{
GetValueInternal().SetIdentity();
AddRef();
}
} g_identityTransform2;
Transform2* GetIdentityTransform2()
{
return &g_identityTransform2;
}
TranslateTransform2::TranslateTransform2(PointValue* ppoint) :
Transform2(ppoint)
{
}
void TranslateTransform2::Evaluate()
{
GetValueInternal().SetTranslate(GetTranslate()->GetValue());
}
void TranslateTransform2::SetTranslate(PointValue* ppoint)
{
SetChild(0, ppoint);
}
void TranslateTransform2::SetTranslate(const Point& point)
{
SetTranslate(new PointValue(point));
}
ScaleTransform2::ScaleTransform2(PointValue* ppoint) :
Transform2(ppoint)
{
}
void ScaleTransform2::Evaluate()
{
GetValueInternal().SetScale(GetScale()->GetValue());
}
void ScaleTransform2::SetScale(PointValue* ppoint)
{
SetChild(0, ppoint);
}
void ScaleTransform2::SetScale(const Point& point)
{
SetScale(new PointValue(point));
}
RotateTransform2::RotateTransform2(Number* pangle) :
Transform2(pangle)
{
}
void RotateTransform2::Evaluate()
{
GetValueInternal().SetRotate(GetAngle()->GetValue());
}
void RotateTransform2::SetAngle(Number* pangle)
{
SetChild(0, pangle);
}
void RotateTransform2::SetAngle(float angle)
{
SetAngle(new Number(angle));
}