mirror of
https://github.com/Hopiu/fabric.js.git
synced 2026-04-05 23:11:02 +00:00
108 lines
5.3 KiB
HTML
Executable file
108 lines
5.3 KiB
HTML
Executable file
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
<meta name="keywords" content="W3C SVG 1.1 Test Suite testsuite mobile"/>
|
|
<meta name="description" content="W3C SVG 1.2 Tiny Test Suite"/>
|
|
<title>
|
|
SVG 1.2 Tiny test:animate-elem-81-t </title>
|
|
<style type="text/css">
|
|
<!--
|
|
.bodytext { font-family:verdana, helvetica, sans-serif; font-size: 12pt; line-height: 125%; text-align: Left; margin-top: 0; margin-bottom: 0 }
|
|
.pageTitle { line-height: 150%; font-size: 20pt; font-weight : 900; margin-bottom: 20pt }
|
|
.pageSubTitle { color : blue; line-height: 100%; font-size: 24pt; font-weight : 900 }
|
|
.openChapter { color : blue; line-height: 125%; font-weight : 900 }
|
|
.openSection { color : blue; line-height: 125%; font-weight : 900 }
|
|
.info { color : black; line-height: 110%; font-size: 10pt; font-weight : 100 }
|
|
p { margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0 }
|
|
blockquote { margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0 }
|
|
.opscript {margin-left: 3%; margin-right: 3%; }
|
|
.opscript p { margin-top: 0.7em}
|
|
.navbar {background: black; color: white; font-weight: bold}
|
|
-->
|
|
</style>
|
|
</head>
|
|
<body class="bodytext">
|
|
|
|
<div class="linkbar">
|
|
<p>
|
|
<a href="animate-elem-81-t.html">Tiny version</a></p>
|
|
<p>Specification link: <a target="spec" href="http://www.w3.org/TR/SVGMobile12/animate.html">16.2 Animation elements</a></p>
|
|
<p>
|
|
<a href="animate-elem-80-t.html">animate-elem-80-t ←</a>
|
|
<a href="index.html">index</a>
|
|
<a href="animate-elem-82-t.html">→ animate-elem-82-t</a>
|
|
</p></div>
|
|
|
|
<table align="center" border="0" cellspacing="0" cellpadding="10">
|
|
<tr>
|
|
<td align="center" colspan="3">
|
|
<table border="0" cellpadding="8">
|
|
<tr>
|
|
<td align="center" colspan="2" class="pageTitle">
|
|
<h1>animate-elem-81-t</h1>
|
|
</td>
|
|
</tr>
|
|
<tr class="navbar">
|
|
<td align="center">
|
|
SVG Image
|
|
</td>
|
|
<td align="center">
|
|
PNG Image
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">
|
|
<object data="../svggen/animate-elem-81-t.svg" width="480" height="360" type="image/svg+xml"><p style="font-size:300%;color:red">FAIL</p></object>
|
|
</td>
|
|
<td align="left">
|
|
<img alt="raster image of animate-elem-81-t" src="../png/animate-elem-81-t.png" width="480" height="360"/>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
<div class="opscript">
|
|
<p>
|
|
This test validates the operation of the animateTransform's additive behavior, as described in the SVG 1.1
|
|
specification (see http://www.w3.org/TR/SVG11/animate.html#AnimateTransformElement).
|
|
</p>
|
|
<p>
|
|
The first two rectangles, on the top row, show the effect of the additive attribute on animateTransform. The
|
|
left-most animateTransforms have their additive attribute set to replace, so the effect of the two transform
|
|
animation is as if only the highest priority one applied because it replaces the underlying value. The second
|
|
animateTransforms (from left to right) have their additive attribute set to sum, which means the transforms they
|
|
roduce are concatenated.
|
|
</p>
|
|
<p>
|
|
The last two rectangles, on the top row, show the effect of the accumulate attribute on animateTransform. For the
|
|
left one (third on the row, from left to right), the accumulate attribute is set to none. There are two repeats for
|
|
the animateTransform. Therefore, the transform goes twice from a scale(1,1) to a scale(2,2). For the right-most
|
|
animateTransform, the accumulate attribute is set to sum. There are two repeats and the animation goes from scale(1,1)
|
|
to scale(2,2) for the first iteration and then from scale(2,2) to scale(4,4) (because the result of the second
|
|
iteration is concatenated to the scale(2,2) result of the previous, first iteration).
|
|
</p>
|
|
<p>
|
|
The rectangles on the bottom row show the combination of additive and cumulative behavior. The left rectangle's
|
|
animateTransform accumulate behavior is set to none but its additive behavior is set to sum. Therefore, the
|
|
transform's underlying value (skewX(30)) is always pre-concatenated to the animateTransform's result, which goes
|
|
from "skewX(30) scale(1,1)" to "skewX(30) scale(2,2)" in each of its two iterations. The right rectangle's
|
|
animateTransform accumulate behavior is set to sum and the additive behavior is also set to sum. Therefore, the
|
|
transform's underlying value is always pre-concatenated, so is the result of previous animation iterations.
|
|
Consequently, the transform goes from "skewX(30) scale(1,1)" to "skewX(30) scale(2,2)" for the first iteration
|
|
and then from "skewX(30) scale(2,2) scale(1,1)" to "skewX(30) scale(2,2) scale(2,2)" for the second iteration.
|
|
</p>
|
|
|
|
</div>
|
|
<div class="linkbar"> <p>
|
|
<a href="animate-elem-80-t.html">animate-elem-80-t ←</a>
|
|
<a href="index.html">index</a>
|
|
<a href="animate-elem-82-t.html">→ animate-elem-82-t</a>
|
|
</p></div>
|
|
</body>
|
|
</html>
|