annotate www/mockup/curveedit.html @ 2450:a4052905ca7d default tip

notes about how rdfdb syncs, or should sync
author drewp@bigasterisk.com
date Mon, 03 Jun 2024 23:01:54 -0700
parents bdbf9f3acc6b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1010
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
1 <!doctype html>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
2 <html>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
3 <head>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
4 <title></title>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
5 <meta charset="utf-8" />
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
6 <style>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
7 body {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
8 font-family: sans;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
9 font-size: 8px;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
10 }
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
11 a {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
12 color: #aff;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
13 }
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
14 canvas {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
15
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
16 }
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
17 .curveRow {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
18 border-top: 1px solid rgb(185, 185, 185);
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
19 background: rgb(75, 75, 75);
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
20 }
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
21 </style>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
22 </head>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
23 <body>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
24
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
25 <div>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
26 Editing song: [song1] unlink Player is on song [song2] [x] follow player
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
27 </div>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
28
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
29 <div>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
30 timeline
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
31 <div>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
32 0 10 20 30 40 50 60 70 80 90 100 110 120
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
33 </div>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
34
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
35 <div id="sampleCurveRow">
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
36 <div class="curveRow"> <a href="#">curve1</a> <canvas></canvas> </div>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
37 </div>
1023
bdbf9f3acc6b fix some demo js paths
Drew Perttula <drewp@bigasterisk.com>
parents: 1010
diff changeset
38 <script src="//bigasterisk.com/lib/jquery-2.0.3.min.js"></script>
1010
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
39 <script type="text/javascript">
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
40 window.onload = function () {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
41 var row = $("#sampleCurveRow");
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
42 for (var i=0; i<50; i++) {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
43 row.parent().append(row.clone());
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
44 }
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
45 var expandNear = 0;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
46 var animating = false;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
47 function redrawAll() {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
48 $("canvas").each(function (i, canvas) {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
49 canvas.width = 900;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
50 var near = Math.abs(Math.round(expandNear / 20) - i);
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
51 canvas.height = Math.max(10, Math.min(150, 30 / near ));
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
52
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
53 var ctx = canvas.getContext('2d');
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
54 ctx.strokeStyle = 'white';
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
55 ctx.strokeWidth = 3;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
56 var _rand = i * 13763;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
57 var rand = function() {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
58 _rand = (_rand * 64874) % 7646;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
59 return (_rand % 1000) / 1000;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
60 };
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
61 var ww = Math.pow(rand(), 3) * 900;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
62 var t = (+new Date() / 1000);
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
63 var pts = [];
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
64 var zoom = animating ? (.6 + 4 * (Math.sin(t) + 1)) : 1;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
65 for (var x = 0; x < 900; x += Math.max(1, ww * Math.pow(rand(), 2))) {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
66 var x2 = x * zoom;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
67
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
68 var y = rand();
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
69 if (rand() > .8) {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
70 y = 0;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
71 }
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
72 pts.push([x2, canvas.height * (1 - y)]);
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
73 }
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
74 ctx.beginPath();
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
75 ctx.moveTo(0, canvas.height);
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
76 pts.forEach(function (pt) {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
77 ctx.lineTo(pt[0], pt[1]);
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
78 });
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
79 ctx.lineTo(canvas.width, canvas.height);
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
80 ctx.fill();
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
81 });
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
82 }
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
83 var loop = function () {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
84 redrawAll();
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
85 setTimeout(loop, 50);
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
86 };
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
87 redrawAll();
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
88 $('body').click(function() { animating = true; loop(); });
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
89 $('body').mousemove(function (ev) {
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
90 expandNear = ev.pageY;
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
91 redrawAll();
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
92 });
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
93 };
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
94 </script>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
95 </body>
45290696a438 add new html mockups
drewp@bigasterisk.com
parents:
diff changeset
96 </html>