annotate client/digitallibrary/jquery/svg/svgBasics.html @ 755:ee47917540c7 jquery

small preparations for SVG
author hertzhaft
date Thu, 10 Feb 2011 09:20:56 +0100
parents 4b492b7900fb
children cdc0f561d2d0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
755
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
1
749
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
3 "http://www.w3.org/TR/html4/strict.dtd">
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
4 <html>
755
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
5 <head>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
6 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
7 <title>jQuery SVG Basics</title>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
8 <style type="text/css">
749
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
9 @import "jquery.svg.css";
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
10
755
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
11 #svgbasics { position: absolute; border: 1px solid blue; }
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
12 #img img {width: 400px; }
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
13
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
14 </style>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
15 <script type="text/javascript" src="../dlGeometry.js"></script>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
16 <script type="text/javascript" src="../jquery-1.4.4.js"></script>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
17 <script type="text/javascript" src="jquery.svg.js"></script>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
18 <script type="text/javascript">
749
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
19 $(function() {
755
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
20 var geom = dlGeometry();
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
21 var svg = $('#svgbasics');
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
22 var $div = $('#img img');
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
23 var divrect = geom.rectangle($div);
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
24 divrect.addPosition({x: -1, y: -1}).adjustDiv(svg);
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
25 svg.svg({onLoad: drawInitial});
749
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
26 $('button').click(drawShape);
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
27 });
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
28
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
29 function drawInitial(svg) {
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
30 svg.circle(75, 75, 50, {fill: 'none', stroke: 'red', 'stroke-width': 3});
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
31 var g = svg.group({stroke: 'black', 'stroke-width': 2});
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
32 svg.line(g, 15, 75, 135, 75);
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
33 svg.line(g, 75, 15, 75, 135);
755
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
34 svg.configure({viewPort: '0 0 100 100', overflow: 'visible' }, false);
749
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
35 }
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
36
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
37 var colours = ['purple', 'red', 'orange', 'yellow', 'lime', 'green', 'blue', 'navy', 'black'];
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
38
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
39 function drawShape() {
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
40 var shape = this.id;
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
41 var svg = $('#svgbasics').svg('get');
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
42 if (shape == 'rect') {
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
43 svg.rect(random(300), random(200), random(100) + 100, random(100) + 100,
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
44 {fill: colours[random(9)], stroke: colours[random(9)],
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
45 'stroke-width': random(5) + 1});
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
46 }
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
47 else if (shape == 'line') {
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
48 svg.line(random(400), random(300), random(400), random(300),
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
49 {stroke: colours[random(9)], 'stroke-width': random(5) + 1});
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
50 }
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
51 else if (shape == 'circle') {
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
52 svg.circle(random(300) + 50, random(200) + 50, random(80) + 20,
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
53 {fill: colours[random(9)], stroke: colours[random(9)],
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
54 'stroke-width': random(5) + 1});
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
55 }
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
56 else if (shape == 'ellipse') {
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
57 svg.ellipse(random(300) + 50, random(200) + 50, random(80) + 20, random(80) + 20,
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
58 {fill: colours[random(9)], stroke: colours[random(9)],
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
59 'stroke-width': random(5) + 1});
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
60 }
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
61 else if (shape == 'clear') {
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
62 svg.clear();
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
63 }
755
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
64 else if (shape == 'zoom') {
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
65 svg.clear();
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
66 }
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
67
749
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
68 }
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
69
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
70 function random(range) {
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
71 return Math.floor(Math.random() * range);
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
72 }
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
73 </script>
755
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
74 </head>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
75 <body>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
76 <h1>jQuery SVG</h1>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
77 <div id="img">
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
78 <img src="peterskuppel.jpg" />
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
79 </div>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
80 <div id="svgbasics"></div>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
81 <p>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
82 <button id="rect">Add rectangle</button>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
83 <button id="line">Add line</button>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
84 <button id="circle">Add circle</button>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
85 <button id="ellipse">Add ellipse</button>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
86 <button id="zoom">Zoom</button>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
87 <button id="clear">Clear</button>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
88 </p>
ee47917540c7 small preparations for SVG
hertzhaft
parents: 749
diff changeset
89 </body>
749
4b492b7900fb added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
90 </html>