#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/core/svg/svg_transform.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
#include "ui/gfx/geometry/vector2d_f.h"
namespace blink {
SVGTransform::SVGTransform() : … { … }
SVGTransform::SVGTransform(SVGTransformType transform_type,
ConstructionMode mode)
: … { … }
SVGTransform::SVGTransform(const AffineTransform& matrix)
: … { … }
SVGTransform::~SVGTransform() = default;
SVGTransform* SVGTransform::Clone() const { … }
SVGPropertyBase* SVGTransform::CloneForAnimation(const String&) const { … }
void SVGTransform::SetMatrix(const AffineTransform& matrix) { … }
void SVGTransform::OnMatrixChange() { … }
void SVGTransform::SetTranslate(float tx, float ty) { … }
gfx::Vector2dF SVGTransform::Translate() const { … }
void SVGTransform::SetScale(float sx, float sy) { … }
gfx::Vector2dF SVGTransform::Scale() const { … }
void SVGTransform::SetRotate(float angle, float cx, float cy) { … }
void SVGTransform::SetSkewX(float angle) { … }
void SVGTransform::SetSkewY(float angle) { … }
namespace {
const char* TransformTypePrefixForParsing(SVGTransformType type) { … }
gfx::PointF DecomposeRotationCenter(const AffineTransform& matrix,
float angle) { … }
}
String SVGTransform::ValueAsString() const { … }
void SVGTransform::Add(const SVGPropertyBase*, const SVGElement*) { … }
void SVGTransform::CalculateAnimatedValue(const SMILAnimationEffectParameters&,
float,
unsigned,
const SVGPropertyBase*,
const SVGPropertyBase*,
const SVGPropertyBase*,
const SVGElement*) { … }
float SVGTransform::CalculateDistance(const SVGPropertyBase*,
const SVGElement*) const { … }
}