Bug 360050 backed-out for bustage on Win32

This commit is contained in:
masayuki%d-toybox.com 2006-11-26 14:25:00 +00:00
Родитель 241c5f943f
Коммит 32d7d1a704
1 изменённых файлов: 13 добавлений и 33 удалений

Просмотреть файл

@ -62,9 +62,6 @@ public:
protected: protected:
float mA, mB, mC, mD, mE, mF; float mA, mB, mC, mD, mE, mF;
// implementation helpers:
nsresult RotateRadians(float rad, nsIDOMSVGMatrix **_retval);
}; };
//---------------------------------------------------------------------- //----------------------------------------------------------------------
@ -255,36 +252,34 @@ NS_IMETHODIMP nsSVGMatrix::ScaleNonUniform(float scaleFactorX, float scaleFactor
/* nsIDOMSVGMatrix rotate (in float angle); */ /* nsIDOMSVGMatrix rotate (in float angle); */
NS_IMETHODIMP nsSVGMatrix::Rotate(float angle, nsIDOMSVGMatrix **_retval) NS_IMETHODIMP nsSVGMatrix::Rotate(float angle, nsIDOMSVGMatrix **_retval)
{ {
RotateRadians(angle*radPerDegree, _retval); double ca = cos( angle*radPerDegree );
double sa = sin( angle*radPerDegree );
return NS_NewSVGMatrix(_retval,
(float) (mA*ca + mC*sa), (float) (mB*ca + mD*sa),
(float) (mC*ca - mA*sa), (float) (mD*ca - mB*sa),
mE, mF);
} }
/* nsIDOMSVGMatrix rotateFromVector (in float x, in float y); */ /* nsIDOMSVGMatrix rotateFromVector (in float x, in float y); */
NS_IMETHODIMP nsSVGMatrix::RotateFromVector(float x, float y, nsIDOMSVGMatrix **_retval) NS_IMETHODIMP nsSVGMatrix::RotateFromVector(float x, float y, nsIDOMSVGMatrix **_retval)
{ {
if (x == 0.0 || y == 0.0) NS_NOTYETIMPLEMENTED("nsSVGMatrix::RotateFromVector");
return NS_ERROR_DOM_SVG_INVALID_VALUE_ERR; return NS_ERROR_NOT_IMPLEMENTED;
double rad = atan2(y, x);
RotateRadians(rad, _retval);
} }
/* nsIDOMSVGMatrix flipX (); */ /* nsIDOMSVGMatrix flipX (); */
NS_IMETHODIMP nsSVGMatrix::FlipX(nsIDOMSVGMatrix **_retval) NS_IMETHODIMP nsSVGMatrix::FlipX(nsIDOMSVGMatrix **_retval)
{ {
return NS_NewSVGMatrix(_retval, NS_NOTYETIMPLEMENTED("nsSVGMatrix::FlipX");
-mA, -mB, return NS_ERROR_NOT_IMPLEMENTED;
mC, mD,
mE, mF);
} }
/* nsIDOMSVGMatrix flipY (); */ /* nsIDOMSVGMatrix flipY (); */
NS_IMETHODIMP nsSVGMatrix::FlipY(nsIDOMSVGMatrix **_retval) NS_IMETHODIMP nsSVGMatrix::FlipY(nsIDOMSVGMatrix **_retval)
{ {
return NS_NewSVGMatrix(_retval, NS_NOTYETIMPLEMENTED("nsSVGMatrix::FlipY");
mA, mB, return NS_ERROR_NOT_IMPLEMENTED;
-mC, -mD,
mE, mF);
} }
/* nsIDOMSVGMatrix skewX (in float angle); */ /* nsIDOMSVGMatrix skewX (in float angle); */
@ -325,18 +320,3 @@ nsSVGMatrix::GetValueString(nsAString& aValue)
NS_NOTYETIMPLEMENTED("nsSVGMatrix::GetValueString"); NS_NOTYETIMPLEMENTED("nsSVGMatrix::GetValueString");
return NS_ERROR_NOT_IMPLEMENTED; return NS_ERROR_NOT_IMPLEMENTED;
} }
//----------------------------------------------------------------------
// Implementation helpers:
nsresult
nsSVGMatrix::RotateRadians(float rad, nsIDOMSVGMatrix **_retval)
{
double ca = cos(rad);
double sa = sin(rad);
return NS_NewSVGMatrix(_retval,
(float) (mA*ca + mC*sa), (float) (mB*ca + mD*sa),
(float) (mC*ca - mA*sa), (float) (mD*ca - mB*sa),
mE, mF);
}