Bug 619967 - Resolve percentage filter primitive attributes correctly. r=roc

This commit is contained in:
Robert Longson 2012-01-09 13:18:53 +11:00
Родитель c5bcd20038
Коммит 221c6ca158
1 изменённых файлов: 3 добавлений и 8 удалений

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

@ -43,11 +43,6 @@
#include "nsLayoutUtils.h" #include "nsLayoutUtils.h"
#include "gfxUtils.h" #include "gfxUtils.h"
static double Square(double aX)
{
return aX*aX;
}
float float
nsSVGFilterInstance::GetPrimitiveNumber(PRUint8 aCtxType, float aValue) const nsSVGFilterInstance::GetPrimitiveNumber(PRUint8 aCtxType, float aValue) const
{ {
@ -69,9 +64,9 @@ nsSVGFilterInstance::GetPrimitiveNumber(PRUint8 aCtxType, float aValue) const
return value * mFilterSpaceSize.height / mFilterRect.Height(); return value * mFilterSpaceSize.height / mFilterRect.Height();
case nsSVGUtils::XY: case nsSVGUtils::XY:
default: default:
return value * return value * nsSVGUtils::ComputeNormalizedHypotenuse(
sqrt(Square(mFilterSpaceSize.width) + Square(mFilterSpaceSize.height)) / mFilterSpaceSize.width / mFilterRect.Width(),
sqrt(Square(mFilterRect.Width()) + Square(mFilterRect.Height())); mFilterSpaceSize.height / mFilterRect.Height());
} }
} }