annotate client/digitallibrary/jquery/svg/svgBasics.html @ 775:65cdf970934d jquery

minor precisations
author hertzhaft
date Fri, 11 Feb 2011 23:11:04 +0100
parents 6d7c51e4724b
children
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>
775
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
8
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
9 <style type="text/css">
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
10
756
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
11 @import "jquery.svg.css";
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
12
762
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
13 #svgbasics { position: absolute; border: 1px solid blue; }
775
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
14
762
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
15 #img img {width: 400px; }
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
16
775
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
17 </style>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
18
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
19 <script type="text/javascript" src="../dlGeometry.js"></script>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
20 <script type="text/javascript" src="../jquery-1.4.4.js"></script>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
21 <script type="text/javascript" src="jquery.svg.js"></script>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
22 <script type="text/javascript">
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
23
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
24 var $resDiv;
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
25
756
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
26 $(function() {
762
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
27 var geom = dlGeometry();
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
28 var svg = $('#svgbasics');
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
29 var $div = $('#img img');
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
30 var divrect = geom.rectangle($div);
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
31 divrect.addPosition({x: -1, y: -1}).adjustDiv(svg);
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
32 svg.svg({onLoad: drawInitial});
756
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
33 $('button').click(drawShape);
775
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
34 $resDiv = $('div#res');
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
35 console.log($resDiv);
756
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
36 });
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
37
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
38 function drawInitial(svg) {
775
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
39 // svg.configure({viewBox: '0 0 400 300' }, true);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
40 svg.configure({transform: 'scale(0.5)' }, true);
756
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
41 svg.circle(75, 75, 50, {fill: 'none', stroke: 'red', 'stroke-width': 3});
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
42 var g = svg.group({stroke: 'black', 'stroke-width': 2});
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
43 svg.line(g, 15, 75, 135, 75);
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
44 svg.line(g, 75, 15, 75, 135);
775
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
45 var g = svg.group({stroke: 'yellow', 'stroke-width': 4});
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
46 svg.line(g, 0, 0, 400, 0);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
47 svg.line(g, 0, 0, 0, 300);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
48 svg.line(g, 400, 0, 400, 300);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
49 svg.line(g, 400, 300, 0, 300);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
50 // svg.configure({viewPort: '0 0 100 100', overflow: 'visible' }, false);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
51
756
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
52 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
53
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
54 var colours = ['purple', 'red', 'orange', 'yellow', 'lime', 'green', 'blue', 'navy', 'black'];
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
55
775
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
56 var x=0,y=0,w=400,h=300;
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
57
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
58 function setViewBox(svg) {
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
59 var s = [x,y,w,h].join(' ');
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
60 svg.configure({viewBox: s }, true);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
61 $resDiv.text(s);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
62 }
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
63
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
64
756
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
65 function drawShape() {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
66 var shape = this.id;
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
67 var svg = $('#svgbasics').svg('get');
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
68 if (shape == 'rect') {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
69 svg.rect(random(300), random(200), random(100) + 100, random(100) + 100,
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
70 {fill: colours[random(9)], stroke: colours[random(9)],
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
71 'stroke-width': random(5) + 1});
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
72 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
73 else if (shape == 'line') {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
74 svg.line(random(400), random(300), random(400), random(300),
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
75 {stroke: colours[random(9)], 'stroke-width': random(5) + 1});
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
76 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
77 else if (shape == 'circle') {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
78 svg.circle(random(300) + 50, random(200) + 50, random(80) + 20,
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
79 {fill: colours[random(9)], stroke: colours[random(9)],
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
80 'stroke-width': random(5) + 1});
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
81 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
82 else if (shape == 'ellipse') {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
83 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
84 {fill: colours[random(9)], stroke: colours[random(9)],
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
85 'stroke-width': random(5) + 1});
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
86 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
87 else if (shape == 'clear') {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
88 svg.clear();
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
89 }
775
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
90 else if (shape == 'x+') {
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
91 x+=10;
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
92 setViewBox(svg);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
93 }
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
94 else if (shape == 'x-') {
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
95 x-=10;
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
96 setViewBox(svg);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
97 }
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
98 else if (shape == 'y+') {
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
99 y+=10;
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
100 setViewBox(svg);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
101 }
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
102 else if (shape == 'y-') {
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
103 y-=10;
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
104 setViewBox(svg);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
105 }
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
106 else if (shape == 'w+') {
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
107 w+=10;
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
108 setViewBox(svg);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
109 }
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
110 else if (shape == 'w-') {
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
111 w-=10;
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
112 setViewBox(svg);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
113 }
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
114 else if (shape == 'h+') {
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
115 h+=10;
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
116 setViewBox(svg);
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
117 }
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
118 else if (shape == 'h-') {
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
119 h-=10;
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
120 setViewBox(svg);
762
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
121 }
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
122
756
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
123 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
124
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
125 function random(range) {
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
126 return Math.floor(Math.random() * range);
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
127 }
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
128 </script>
762
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
129 </head>
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
130 <body>
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
131 <h1>jQuery SVG</h1>
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
132 <div id="img">
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
133 <img src="peterskuppel.jpg" />
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
134 </div>
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
135 <div id="svgbasics"></div>
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
136 <p>
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
137 <button id="rect">Add rectangle</button>
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
138 <button id="line">Add line</button>
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
139 <button id="circle">Add circle</button>
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
140 <button id="ellipse">Add ellipse</button>
775
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
141 <button id="x+">x+</button>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
142 <button id="x-">x-</button>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
143 <button id="y+">y+</button>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
144 <button id="y-">y-</button>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
145 <button id="w+">w+</button>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
146 <button id="w-">w-</button>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
147 <button id="h+">h+</button>
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
148 <button id="h-">h-</button>
762
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
149 <button id="clear">Clear</button>
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
150 </p>
775
65cdf970934d minor precisations
hertzhaft
parents: 770
diff changeset
151 <div id="res"/>
762
aab01da232ef small preparations for SVG
hertzhaft
parents: 756
diff changeset
152 </body>
756
ccf67eaf97ee added jQuery ui and svg javascripts
hertzhaft
parents:
diff changeset
153 </html>