AffineTransform::operator SkMatrix() const { SkMatrix result; result.setScaleX(WebCoreDoubleToSkScalar(a())); result.setSkewX(WebCoreDoubleToSkScalar(c())); result.setTranslateX(WebCoreDoubleToSkScalar(e())); result.setScaleY(WebCoreDoubleToSkScalar(d())); result.setSkewY(WebCoreDoubleToSkScalar(b())); result.setTranslateY(WebCoreDoubleToSkScalar(f())); // FIXME: Set perspective properly. result.setPerspX(0); result.setPerspY(0); result.set(SkMatrix::kMPersp2, SK_Scalar1); return result; }
SkMatrix affineTransformToSkMatrix(const AffineTransform& source) { SkMatrix result; result.setScaleX(WebCoreDoubleToSkScalar(source.a())); result.setSkewX(WebCoreDoubleToSkScalar(source.c())); result.setTranslateX(WebCoreDoubleToSkScalar(source.e())); result.setScaleY(WebCoreDoubleToSkScalar(source.d())); result.setSkewY(WebCoreDoubleToSkScalar(source.b())); result.setTranslateY(WebCoreDoubleToSkScalar(source.f())); // FIXME: Set perspective properly. result.setPerspX(0); result.setPerspY(0); result.set(SkMatrix::kMPersp2, SK_Scalar1); return result; }