annotate client/digitallibrary/jquery/svg/svgBasics.html @ 762:aab01da232ef jquery

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