annotate 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
rev   line source
794
a27606be2cab Change modeline
Thinker K.F. Li <thinker@codemud.net>
parents: 793
diff changeset
1 // -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 4; -*-
822
586e50f82c1f Unify coding style tag for emacs and vim.
Shih-Yuan Lee (FourDollars) <fourdollars@gmail.com>
parents: 800
diff changeset
2 // vim: sw=4:ts=8:sts=4
939
a74b4d986a91 Move examples for nodejs into nodejs/examples/ sub-directories.
Thinker K.F. Li <thinker@codemud.net>
parents: 895
diff changeset
3 var mbapp = require("mbapp");
789
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
4 var sys=require("sys");
939
a74b4d986a91 Move examples for nodejs into nodejs/examples/ sub-directories.
Thinker K.F. Li <thinker@codemud.net>
parents: 895
diff changeset
5 var animate=require("animate");
789
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
6
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
7 app = new mbapp.app(":0.0", 320, 480);
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
8 app.loadSVG("phone_ui.svg");
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
9
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
10 var icons = [];
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
11 var r, c;
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
12 var mbname;
796
0b1764cd53b0 Fix missed naming for variables
Thinker K.F. Li <thinker@codemud.net>
parents: 795
diff changeset
13 for(c = 0; c < 4; c++) { // 4 columns
0b1764cd53b0 Fix missed naming for variables
Thinker K.F. Li <thinker@codemud.net>
parents: 795
diff changeset
14 for(r = 0; r < 5; r++) { // 5 rows
0b1764cd53b0 Fix missed naming for variables
Thinker K.F. Li <thinker@codemud.net>
parents: 795
diff changeset
15 mbname = "icon" + c + "" + r;
789
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
16 icons.push(app.get(mbname));
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
17 }
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
18 }
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
19
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
20 var overhint, presshint;
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
21 var overholder, pressholder;
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
22 overhint = app.get("overhint");
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
23 presshint = app.get("presshint");
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
24 overholder = new animate.holder(app, overhint);
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
25 pressholder = new animate.holder(app, presshint);
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
26
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
27 var dock;
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
28 var dockholder;
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
29 dock = app.get("dock");
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
30 dockholder = new animate.holder(app, dock);
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
31
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
32 var i;
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
33 var icon;
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
34 for(i = 0; i < icons.length; i++) {
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
35 icon = icons[i];
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
36 icon.mouse_event.add_event_observer(1, function(evt) {
792
bf2794eed702 Remove redundant code
Thinker K.F. Li <thinker@codemud.net>
parents: 791
diff changeset
37 overholder.go_center(evt.cur_tgt);
789
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
38 });
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
39 icon.mouse_event.add_event_observer(2, function(evt) {
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
40 overholder.home();
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
41 });
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
42 icon.mouse_event.add_event_observer(4, function(evt) {
792
bf2794eed702 Remove redundant code
Thinker K.F. Li <thinker@codemud.net>
parents: 791
diff changeset
43 pressholder.go_center(evt.cur_tgt);
895
3136db0ac01b Merged from default branch
Thinker K.F. Li <thinker@branda.to>
parents: 893
diff changeset
44 var rotate = new animate.rotate(app, evt.cur_tgt, 2 * 3.1415);
3136db0ac01b Merged from default branch
Thinker K.F. Li <thinker@branda.to>
parents: 893
diff changeset
45 animate.run([rotate], 0, 0.7);
789
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
46 });
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
47 }
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
48
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
49 var sw = 0;
895
3136db0ac01b Merged from default branch
Thinker K.F. Li <thinker@branda.to>
parents: 893
diff changeset
50 var dock_up = new animate.shift(app, dock, 0, -300);
3136db0ac01b Merged from default branch
Thinker K.F. Li <thinker@branda.to>
parents: 893
diff changeset
51 var dock_down = new animate.shift(app, dock, 0, 0);
789
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
52 dock.mouse_event.add_event_observer(4, function(evt) {
791
85c5949352bb Slide the dock of phone UI
Thinker K.F. Li <thinker@codemud.net>
parents: 789
diff changeset
53 if(sw == 0) {
895
3136db0ac01b Merged from default branch
Thinker K.F. Li <thinker@branda.to>
parents: 893
diff changeset
54 animate.run([dock_up], 0, 0.5);
791
85c5949352bb Slide the dock of phone UI
Thinker K.F. Li <thinker@codemud.net>
parents: 789
diff changeset
55 } else {
895
3136db0ac01b Merged from default branch
Thinker K.F. Li <thinker@branda.to>
parents: 893
diff changeset
56 animate.run([dock_down], 0, 0.2);
791
85c5949352bb Slide the dock of phone UI
Thinker K.F. Li <thinker@codemud.net>
parents: 789
diff changeset
57 }
793
cad706a8f5b1 Simplify phone.js
Thinker K.F. Li <thinker@codemud.net>
parents: 792
diff changeset
58 sw = sw ^ 1;
789
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
59 });
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
60
9b2d803701e0 Phone UI example
Thinker K.F. Li <thinker@codemud.net>
parents:
diff changeset
61 app.loop();