<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js" type="text/javascript"></script>
<style media="screen">
body {
background: #333;
color: #fff;
font: 300 100.1% "Helvetica Neue", Helvetica, "Arial Unicode MS", Arial, sans-serif;
}
#holder {
height: 480px;
left: 50%;
margin: -240px 0 0 -320px;
position: absolute;
top: 50%;
width: 640px;
}
#copy {
bottom: 0;
font: 300 .7em "Helvetica Neue", Helvetica, "Arial Unicode MS", Arial, sans-serif;
position: absolute;
right: 1em;
text-align: right;
}
#copy a {
color: #fff;
}
body {margin: 0;padding: 0;text-align: center;}
h1 {font-weight: 400;height: 5%;}
#canvas {height: 400px;margin: 0 auto;text-align: left;width: 640px;}
#code {font-family: Consolas, Monaco, "Lucida Console", monospace;height: 4em;margin: 10px;padding: 0;width: 90%;}
#run {font-size: 2em;}
</style>
<script type="text/javascript">
<?php
include_once("../d3.classes.inc.php"); // download the required d3 package
include_once("../raphael.class.inc.php");
func()
->add( raphael(array( raphael::escape("canvas"), 640, 400))->createVar("paper")->registerStack() )
->add( document()->getElementById("run")->createVar("btn",false)->registerStack() )
->add( document()->getElementById("code")->createVar("cd",false)->registerStack() )
->add( func()
->add( stack()->get("paper")->get()
->clear()->colon()
)
->add( stack()->get("paper")->get()
->rect(0, 0, 640, 400, 10)
->attr(obj(array("fill" => "#fff", "stroke" => "none")))
->colon()
)->add(
raphael()->trycatch(
raphael(
f( array(
raphael::escape("paper"),
raphael::escape("window"),
raphael::escape("document"),
stack()->get("cd")->get()->value(document::property)
)
)
->createVar(null, true)->enclose())
->call(
raphael::unescape("paper"),
raphael::unescape("paper")
),
console()->log(raphael::unescape("e.message"))
)
)
->createVar( stack()->get("btn")->get()->onclick(document::property) )
->autoexec()
)
->createVar(window()->onload(window::property))->toStack();
echo stack()->getInstance();
?>
</script>
</head>
<body>
<div id="canvas"></div>
<div><textarea id="code">paper.circle(320, 240, 60).animate({fill: "#223fa3", stroke: "#000", "stroke-width": 80, "stroke-opacity": 0.5}, 2000);</textarea></div>
<div><button id="run" type="button">Run</button></div>
</body>
</html>
|