comparison nodejs/examples/phone/phone.js @ 939:a74b4d986a91

Move examples for nodejs into nodejs/examples/ sub-directories. See INSTALL.txt. Use nodejs/examples/run.sh to run examples. For example, cd nodejs/examples; ./run.sh examples/testsvg/testsvg.js
author Thinker K.F. Li <thinker@codemud.net>
date Fri, 12 Nov 2010 17:39:04 +0800
parents nodejs/phone.js@3136db0ac01b
children
comparison
equal deleted inserted replaced
938:13b9acbbe9a3 939:a74b4d986a91
1 // -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*-
2 // vim: sw=4:ts=8:sts=4
3 var mbapp = require("mbapp");
4 var sys=require("sys");
5 var animate=require("animate");
6
7 app = new mbapp.app(":0.0", 320, 480);
8 app.loadSVG("phone_ui.svg");
9
10 var icons = [];
11 var r, c;
12 var mbname;
13 for(c = 0; c < 4; c++) { // 4 columns
14 for(r = 0; r < 5; r++) { // 5 rows
15 mbname = "icon" + c + "" + r;
16 icons.push(app.get(mbname));
17 }
18 }
19
20 var overhint, presshint;
21 var overholder, pressholder;
22 overhint = app.get("overhint");
23 presshint = app.get("presshint");
24 overholder = new animate.holder(app, overhint);
25 pressholder = new animate.holder(app, presshint);
26
27 var dock;
28 var dockholder;
29 dock = app.get("dock");
30 dockholder = new animate.holder(app, dock);
31
32 var i;
33 var icon;
34 for(i = 0; i < icons.length; i++) {
35 icon = icons[i];
36 icon.mouse_event.add_event_observer(1, function(evt) {
37 overholder.go_center(evt.cur_tgt);
38 });
39 icon.mouse_event.add_event_observer(2, function(evt) {
40 overholder.home();
41 });
42 icon.mouse_event.add_event_observer(4, function(evt) {
43 pressholder.go_center(evt.cur_tgt);
44 var rotate = new animate.rotate(app, evt.cur_tgt, 2 * 3.1415);
45 animate.run([rotate], 0, 0.7);
46 });
47 }
48
49 var sw = 0;
50 var dock_up = new animate.shift(app, dock, 0, -300);
51 var dock_down = new animate.shift(app, dock, 0, 0);
52 dock.mouse_event.add_event_observer(4, function(evt) {
53 if(sw == 0) {
54 animate.run([dock_up], 0, 0.5);
55 } else {
56 animate.run([dock_down], 0, 0.2);
57 }
58 sw = sw ^ 1;
59 });
60
61 app.loop();