Bug 599798 - Make rotate attribute of SVG text live. r=longsonr a=roc

This commit is contained in:
Takeshi KUROSAWA 2010-10-17 17:27:49 +01:00
parent 4212366871
commit c6fb9a1749
5 changed files with 81 additions and 2 deletions

View File

@ -0,0 +1,34 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<title>Reference for dynamic changes of rotate attributes</title>
<!-- based on http://www.w3.org/TR/SVG/images/text/tspan05.svg -->
<text id="parent" font-size="32" x="40" y="40" rotate="5,15,25,35,45,55">
Not
<tspan id="child1" rotate="-10,-20,-30,-40">
all characters
<tspan id="child2" rotate="70,60,50,40,30,20,10">
in
<tspan id="child3">
the
</tspan>
</tspan>
<tspan x="40" y="90" id="child4">
text
</tspan>
have a
</tspan>
<tspan id="child5" rotate="-10">
specified
</tspan>
rotation
</text>
</svg>

After

Width:  |  Height:  |  Size: 687 B

View File

@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" onload="setTimeout('go()', 0);">
<title>Testcase for dynamic changes of rotate attributes</title>
<!-- based on http://www.w3.org/TR/SVG/images/text/tspan05.svg -->
<script type="text/javascript">
function go() {
document.getElementById("parent").setAttribute("rotate", "5,15,25,35,45,55");
document.getElementById("child1").setAttribute("rotate", "-10,-20,-30,-40");
document.getElementById("child2").setAttribute("rotate", "70,60,50,40,30,20,10");
document.getElementById("child5").setAttribute("rotate", "-10");
}
</script>
<text id="parent" font-size="32" x="40" y="40">
Not
<tspan id="child1">
all characters
<tspan id="child2">
in
<tspan id="child3">
the
</tspan>
</tspan>
<tspan x="40" y="90" id="child4">
text
</tspan>
have a
</tspan>
<tspan id="child5" rotate="90">
specified
</tspan>
rotation
</text>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -66,6 +66,7 @@ include svg-integration/reftest.list
== dynamic-text-01.svg dynamic-text-01-ref.svg
== dynamic-text-02.svg dynamic-text-02-ref.svg
== dynamic-text-03.svg dynamic-text-03-ref.svg
skip-if(gtk2Widget) == dynamic-text-04.svg dynamic-text-04-ref.svg # bug 569770
== dynamic-textPath-01.svg dynamic-textPath-01-ref.svg
== dynamic-use-01.svg pass.svg
== dynamic-use-02.svg pass.svg

View File

@ -109,7 +109,8 @@ nsSVGTSpanFrame::AttributeChanged(PRInt32 aNameSpaceID,
(aAttribute == nsGkAtoms::x ||
aAttribute == nsGkAtoms::y ||
aAttribute == nsGkAtoms::dx ||
aAttribute == nsGkAtoms::dy)) {
aAttribute == nsGkAtoms::dy ||
aAttribute == nsGkAtoms::rotate)) {
NotifyGlyphMetricsChange();
}

View File

@ -101,7 +101,8 @@ nsSVGTextFrame::AttributeChanged(PRInt32 aNameSpaceID,
} else if (aAttribute == nsGkAtoms::x ||
aAttribute == nsGkAtoms::y ||
aAttribute == nsGkAtoms::dx ||
aAttribute == nsGkAtoms::dy) {
aAttribute == nsGkAtoms::dy ||
aAttribute == nsGkAtoms::rotate) {
NotifyGlyphMetricsChange();
}