зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1061920
- Fix bugs in PrependLocalTransformsTo implementations where we forget to prepend to the matrix that is passed in. r=longsonr
This commit is contained in:
Родитель
e2bfc1e9ea
Коммит
0376ecf416
|
@ -90,7 +90,7 @@ SVGForeignObjectElement::PrependLocalTransformsTo(const gfxMatrix &aMatrix,
|
|||
GetAnimatedLengthValues(&x, &y, nullptr);
|
||||
gfxMatrix toUserSpace = gfxMatrix().Translate(gfxPoint(x, y));
|
||||
if (aWhich == eChildToUserSpace) {
|
||||
return toUserSpace;
|
||||
return toUserSpace * aMatrix;
|
||||
}
|
||||
NS_ABORT_IF_FALSE(aWhich == eAllTransforms, "Unknown TransformTypes");
|
||||
return toUserSpace * fromUserSpace;
|
||||
|
|
|
@ -974,7 +974,7 @@ SVGSVGElement::PrependLocalTransformsTo(const gfxMatrix &aMatrix,
|
|||
return ThebesMatrix(GetViewBoxTransform()) * gfxMatrix().Translate(gfxPoint(x, y)) * fromUserSpace;
|
||||
}
|
||||
NS_ABORT_IF_FALSE(aWhich == eChildToUserSpace, "Unknown TransformTypes");
|
||||
return ThebesMatrix(GetViewBoxTransform()) * gfxMatrix().Translate(gfxPoint(x, y));
|
||||
return ThebesMatrix(GetViewBoxTransform()) * gfxMatrix().Translate(gfxPoint(x, y)) * aMatrix;
|
||||
}
|
||||
|
||||
if (IsRoot()) {
|
||||
|
|
|
@ -439,7 +439,7 @@ SVGUseElement::PrependLocalTransformsTo(const gfxMatrix &aMatrix,
|
|||
const_cast<SVGUseElement*>(this)->GetAnimatedLengthValues(&x, &y, nullptr);
|
||||
gfxMatrix toUserSpace = gfxMatrix().Translate(gfxPoint(x, y));
|
||||
if (aWhich == eChildToUserSpace) {
|
||||
return toUserSpace;
|
||||
return toUserSpace * aMatrix;
|
||||
}
|
||||
NS_ABORT_IF_FALSE(aWhich == eAllTransforms, "Unknown TransformTypes");
|
||||
return toUserSpace * fromUserSpace;
|
||||
|
|
Загрузка…
Ссылка в новой задаче