Bug 540726 - User units for angles should be degrees. r=jwatt

This commit is contained in:
Robert Longson 2010-01-27 10:13:57 +00:00
Родитель 3a13782de3
Коммит 1669296386
2 изменённых файлов: 14 добавлений и 14 удалений

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

@ -223,11 +223,11 @@ nsSVGAngle::GetUnitScaleFactor() const
switch (mSpecifiedUnitType) { switch (mSpecifiedUnitType) {
case nsIDOMSVGAngle::SVG_ANGLETYPE_UNSPECIFIED: case nsIDOMSVGAngle::SVG_ANGLETYPE_UNSPECIFIED:
case nsIDOMSVGAngle::SVG_ANGLETYPE_DEG: case nsIDOMSVGAngle::SVG_ANGLETYPE_DEG:
return static_cast<float>(180.0 / M_PI);
case nsIDOMSVGAngle::SVG_ANGLETYPE_RAD:
return 1; return 1;
case nsIDOMSVGAngle::SVG_ANGLETYPE_RAD:
return static_cast<float>(M_PI / 180.0);
case nsIDOMSVGAngle::SVG_ANGLETYPE_GRAD: case nsIDOMSVGAngle::SVG_ANGLETYPE_GRAD:
return static_cast<float>(100.0 / M_PI); return 100.0f / 180.0f;
default: default:
NS_NOTREACHED("Unknown unit type"); NS_NOTREACHED("Unknown unit type");
return 0; return 0;

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

@ -78,19 +78,19 @@ function runTests()
// angle attribute // angle attribute
marker.setAttribute("orient", "0.5rad"); marker.setAttribute("orient", "90deg");
is(marker.orientAngle.baseVal.value, 0.5, "angle baseVal"); is(marker.orientAngle.baseVal.value, 90, "angle baseVal");
is(marker.orientAngle.animVal.value, 0.5, "angle animVal"); is(marker.orientAngle.animVal.value, 90, "angle animVal");
var baseAngle = marker.orientAngle.baseVal; var baseAngle = marker.orientAngle.baseVal;
var animAngle = marker.orientAngle.animVal; var animAngle = marker.orientAngle.animVal;
marker.setAttribute("orient", "0.75rad"); marker.setAttribute("orient", "45deg");
is(baseAngle.value, 0.75, "angle baseVal"); is(baseAngle.value, 45, "angle baseVal");
is(animAngle.value, 0.75, "angle animVal"); is(animAngle.value, 45, "angle animVal");
marker.orientAngle.baseVal.value = 0.25; marker.orientAngle.baseVal.value = 30;
is(marker.orientAngle.animVal.value, 0.25, "angle animVal"); is(marker.orientAngle.animVal.value, 30, "angle animVal");
is(marker.getAttribute("orient"), "0.25rad", "angle attribute"); is(marker.getAttribute("orient"), "30deg", "angle attribute");
// boolean attribute // boolean attribute