Mercurial > MadButterfly
annotate nodejs/phone.js @ 856:88f4916a0691 abs_n_rel_center
Compute y position according center of lightbar and text
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Mon, 20 Sep 2010 22:43:43 +0800 |
parents | 586e50f82c1f |
children | 23dffb564ace |
rev | line source |
---|---|
794 | 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 |
789 | 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; | |
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 | 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) { | |
792
bf2794eed702
Remove redundant code
Thinker K.F. Li <thinker@codemud.net>
parents:
791
diff
changeset
|
37 overholder.go_center(evt.cur_tgt); |
789 | 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) { | |
792
bf2794eed702
Remove redundant code
Thinker K.F. Li <thinker@codemud.net>
parents:
791
diff
changeset
|
43 pressholder.go_center(evt.cur_tgt); |
800
76470d692bb9
Rotate an icon when it is pressed
Thinker K.F. Li <thinker@codemud.net>
parents:
797
diff
changeset
|
44 var rotate = new animate.rotate(app, evt.cur_tgt, 2 * 3.1415, 0.7); |
76470d692bb9
Rotate an icon when it is pressed
Thinker K.F. Li <thinker@codemud.net>
parents:
797
diff
changeset
|
45 rotate.start(); |
789 | 46 }); |
47 } | |
48 | |
49 var sw = 0; | |
793 | 50 var dock_up = new animate.linear(app, dock, 0, -300, 0.5); |
795
46a4cd4d382b
Remove dependent on system time to gain frame rate
Thinker K.F. Li <thinker@codemud.net>
parents:
794
diff
changeset
|
51 var dock_down = new animate.linear(app, dock, 0, 0, 0.2); |
789 | 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) { |
793 | 54 dock_up.start(); |
791
85c5949352bb
Slide the dock of phone UI
Thinker K.F. Li <thinker@codemud.net>
parents:
789
diff
changeset
|
55 } else { |
793 | 56 dock_down.start(); |
791
85c5949352bb
Slide the dock of phone UI
Thinker K.F. Li <thinker@codemud.net>
parents:
789
diff
changeset
|
57 } |
793 | 58 sw = sw ^ 1; |
789 | 59 }); |
60 | |
61 app.loop(); |