mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-18 05:07:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,259 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<head>
|
||||
<title>paths-dom-02-f-manual.svg</title>
|
||||
<meta charset='utf-8'>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Source SVG: paths-dom-02-f-manual.svg</h1>
|
||||
<svg version="1.1" baseProfile="full" onload="CreatePath();setTimeout('AnimatePath();', 500);" id="svg-root"
|
||||
width="100%" height="100%" viewBox="0 0 480 360"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!--======================================================================-->
|
||||
<!--= SVG 1.1 2nd Edition Test Case =-->
|
||||
<!--======================================================================-->
|
||||
<!--= Copyright 2009 World Wide Web Consortium, (Massachusetts =-->
|
||||
<!--= Institute of Technology, European Research Consortium for =-->
|
||||
<!--= Informatics and Mathematics (ERCIM), Keio University). =-->
|
||||
<!--= All Rights Reserved. =-->
|
||||
<!--= See http://www.w3.org/Consortium/Legal/. =-->
|
||||
<!--======================================================================-->
|
||||
|
||||
<title id="test-title">$RCSfile: paths-dom-02-f.svg,v $</title>
|
||||
<defs>
|
||||
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
|
||||
<font-face-src>
|
||||
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
</defs>
|
||||
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
|
||||
<script><![CDATA[
|
||||
var offset_angle = 90;
|
||||
var current_shift = 0;
|
||||
var shift_inc = 1;
|
||||
var THRESHOLD = 60;
|
||||
var segments_added = 0;
|
||||
var seg_diff = 1;
|
||||
var adjust_count = 0;
|
||||
var anim_count = 0;
|
||||
var adjust_count_max = 8;
|
||||
var anim_count_max = 10;
|
||||
var stopped = false;
|
||||
|
||||
function DegToRad(degs)
|
||||
{
|
||||
return (degs * Math.PI) / 180;
|
||||
}
|
||||
|
||||
function CreatePath()
|
||||
{
|
||||
var pathelm = document.getElementById("mypath");
|
||||
var pathlist = pathelm.pathSegList;
|
||||
|
||||
var move = pathelm.createSVGPathSegMovetoAbs(240 + 30 * Math.cos(DegToRad(offset_angle - 30)),
|
||||
180 + 30 * Math.sin(DegToRad(offset_angle - 30)));
|
||||
pathlist.appendItem(move);
|
||||
|
||||
var angle = offset_angle;
|
||||
for (var i = 0; i < 6; i++)
|
||||
{
|
||||
var x, y, xcp, ycp;
|
||||
|
||||
x = 240 + 30 * Math.cos(DegToRad(angle + 30));
|
||||
y = 180 + 30 * Math.sin(DegToRad(angle + 30));
|
||||
|
||||
xcp = 240 + 120 * Math.cos(DegToRad(angle));
|
||||
ycp = 180 + 120 * Math.sin(DegToRad(angle));
|
||||
|
||||
var curve = pathelm.createSVGPathSegCurvetoCubicAbs(x, y,
|
||||
xcp, ycp,
|
||||
xcp, ycp);
|
||||
|
||||
pathlist.appendItem(curve);
|
||||
|
||||
angle += 60;
|
||||
}
|
||||
|
||||
pathlist.appendItem(pathelm.createSVGPathSegClosePath());
|
||||
setTimeout('AdjustPath()', 500);
|
||||
}
|
||||
|
||||
function AddSegment()
|
||||
{
|
||||
var pathelm = document.getElementById("mypath");
|
||||
var pathlist = pathelm.pathSegList;
|
||||
|
||||
var segments = pathlist.numberOfItems - 2; // Not MoveTo and Close
|
||||
var angle = offset_angle;
|
||||
var inc_angle = 360/(segments+1);
|
||||
var shift_v_x, shift_v_y, xcp, ycp;
|
||||
|
||||
var move = pathlist.getItem(0);
|
||||
move.x = 240 + 30 * Math.cos(DegToRad(offset_angle - inc_angle/2));
|
||||
move.y = 180 + 30 * Math.sin(DegToRad(offset_angle - inc_angle/2));
|
||||
|
||||
for (var i = 0; i < segments; i++)
|
||||
{
|
||||
var curve = pathlist.getItem(1+i);
|
||||
|
||||
shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
|
||||
shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
|
||||
|
||||
xcp = 240 + 120 * Math.cos(DegToRad(angle));
|
||||
ycp = 180 + 120 * Math.sin(DegToRad(angle));
|
||||
|
||||
curve.x = 240 + 30 * Math.cos(DegToRad(angle + inc_angle/2));
|
||||
curve.y = 180 + 30 * Math.sin(DegToRad(angle + inc_angle/2));
|
||||
|
||||
curve.x1 = xcp - shift_v_x;
|
||||
curve.y1 = ycp - shift_v_y;
|
||||
|
||||
curve.x2 = xcp + shift_v_x;
|
||||
curve.y2 = ycp + shift_v_y;
|
||||
|
||||
angle += inc_angle;
|
||||
}
|
||||
|
||||
shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
|
||||
shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
|
||||
|
||||
xcp = 240 + 120 * Math.cos(DegToRad(angle));
|
||||
ycp = 180 + 120 * Math.sin(DegToRad(angle));
|
||||
|
||||
var x = 240 + 30 * Math.cos(DegToRad(angle + inc_angle/2));
|
||||
var y = 180 + 30 * Math.sin(DegToRad(angle + inc_angle/2));
|
||||
|
||||
var curve = pathelm.createSVGPathSegCurvetoCubicAbs(x, y,
|
||||
xcp - shift_v_x,
|
||||
ycp - shift_v_y,
|
||||
xcp + shift_v_x,
|
||||
ycp + shift_v_y);
|
||||
|
||||
pathlist.insertItemBefore(curve, pathlist.numberOfItems-1);
|
||||
}
|
||||
|
||||
function RemoveSegment()
|
||||
{
|
||||
var pathelm = document.getElementById("mypath");
|
||||
var pathlist = pathelm.pathSegList;
|
||||
|
||||
var segments = pathlist.numberOfItems - 2; // Not MoveTo and Close
|
||||
var angle = offset_angle;
|
||||
var inc_angle = 360/(segments-1);
|
||||
var shift_v_x, shift_v_y, xcp, ycp;
|
||||
|
||||
var move = pathlist.getItem(0);
|
||||
move.x = 240 + 30 * Math.cos(DegToRad(offset_angle - inc_angle/2));
|
||||
move.y = 180 + 30 * Math.sin(DegToRad(offset_angle - inc_angle/2));
|
||||
|
||||
for (var i = 0; i < segments-1; i++)
|
||||
{
|
||||
var curve = pathlist.getItem(1+i);
|
||||
|
||||
shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
|
||||
shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
|
||||
|
||||
xcp = 240 + 120 * Math.cos(DegToRad(angle));
|
||||
ycp = 180 + 120 * Math.sin(DegToRad(angle));
|
||||
|
||||
curve.x = 240 + 30 * Math.cos(DegToRad(angle + inc_angle/2));
|
||||
curve.y = 180 + 30 * Math.sin(DegToRad(angle + inc_angle/2));
|
||||
|
||||
curve.x1 = xcp - shift_v_x;
|
||||
curve.y1 = ycp - shift_v_y;
|
||||
|
||||
curve.x2 = xcp + shift_v_x;
|
||||
curve.y2 = ycp + shift_v_y;
|
||||
|
||||
angle += inc_angle;
|
||||
}
|
||||
|
||||
pathlist.removeItem(pathlist.numberOfItems-2);
|
||||
}
|
||||
|
||||
function AdjustPath()
|
||||
{
|
||||
if (seg_diff > 0)
|
||||
{
|
||||
AddSegment();
|
||||
}
|
||||
else
|
||||
{
|
||||
RemoveSegment();
|
||||
}
|
||||
|
||||
segments_added += seg_diff;
|
||||
|
||||
if (segments_added > 5)
|
||||
seg_diff = -1;
|
||||
else if (segments_added <= 0)
|
||||
seg_diff = 1;
|
||||
|
||||
if(adjust_count < adjust_count_max)
|
||||
{
|
||||
adjust_count++;
|
||||
setTimeout('AdjustPath()', 500);
|
||||
}
|
||||
}
|
||||
|
||||
function AnimatePath()
|
||||
{
|
||||
var pathelm = document.getElementById("mypath");
|
||||
var pathlist = pathelm.pathSegList;
|
||||
|
||||
var segments = pathlist.numberOfItems - 2; // Not MoveTo and Close
|
||||
var angle = offset_angle;
|
||||
var inc_angle = 360/segments;
|
||||
for (var i = 0; i < segments; i++)
|
||||
{
|
||||
var curve = pathlist.getItem(1+i);
|
||||
|
||||
var shift_v_x, shift_v_y, xcp, ycp;
|
||||
|
||||
shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
|
||||
shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
|
||||
|
||||
xcp = 240 + 120 * Math.cos(DegToRad(angle));
|
||||
ycp = 180 + 120 * Math.sin(DegToRad(angle));
|
||||
|
||||
curve.x1 = xcp - shift_v_x;
|
||||
curve.y1 = ycp - shift_v_y;
|
||||
|
||||
curve.x2 = xcp + shift_v_x;
|
||||
curve.y2 = ycp + shift_v_y;
|
||||
|
||||
angle += inc_angle;
|
||||
}
|
||||
|
||||
current_shift += shift_inc;
|
||||
if (current_shift >= THRESHOLD || current_shift < 0)
|
||||
shift_inc = -shift_inc;
|
||||
|
||||
if(adjust_count >= adjust_count_max)
|
||||
{
|
||||
anim_count++;
|
||||
}
|
||||
|
||||
if(anim_count < anim_count_max)
|
||||
setTimeout('AnimatePath();', 50);
|
||||
else
|
||||
document.getElementById("mypath").addEventListener("click", function func() { adjust_count_max=32768;anim_count_max=32768; AdjustPath(); AnimatePath(); }, false);
|
||||
}
|
||||
|
||||
]]></script>
|
||||
<path d="" id="mypath" stroke="black" fill="blue"/>
|
||||
</g>
|
||||
<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
|
||||
<text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
|
||||
</g>
|
||||
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
|
||||
<!-- comment out this watermark once the test is approved -->
|
||||
<g id="draft-watermark">
|
||||
<rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
|
||||
<text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
|
||||
text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
|
||||
</g>
|
||||
</svg>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue