annotate nodejs/testcase.js @ 697:6ddc8b42188f

Merge from HEAD
author wycc
date Mon, 09 Aug 2010 16:43:27 +0800
parents f46a0771fd30 8b7964869f7a
children 0b98bdc53215
rev   line source
549
6ec4d7e90480 Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
1 var mbfly = require("mbfly");
6ec4d7e90480 Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
2 var r = mbfly.Hello(" test");
6ec4d7e90480 Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
3 var sys = require("sys");
6ec4d7e90480 Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
4 sys.puts(r);
6ec4d7e90480 Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
5
558
d61133da2845 New MadButterfly runtime object install of calling function
Thinker K.F. Li <thinker@branda.to>
parents: 556
diff changeset
6 var mb_rt = new mbfly.mb_rt(":0.0", 300, 200);
563
bc207070e3d5 Fix issue of im-properly using persistent handler for coord object template.
Thinker K.F. Li <thinker@branda.to>
parents: 562
diff changeset
7 var root = mb_rt.root;
bc207070e3d5 Fix issue of im-properly using persistent handler for coord object template.
Thinker K.F. Li <thinker@branda.to>
parents: 562
diff changeset
8 sys.puts("root matrix: " +
bc207070e3d5 Fix issue of im-properly using persistent handler for coord object template.
Thinker K.F. Li <thinker@branda.to>
parents: 562
diff changeset
9 [root[0], root[1], root[2], root[3], root[4], root[5]]);
bc207070e3d5 Fix issue of im-properly using persistent handler for coord object template.
Thinker K.F. Li <thinker@branda.to>
parents: 562
diff changeset
10 var coord = mb_rt.coord_new(root);
bc207070e3d5 Fix issue of im-properly using persistent handler for coord object template.
Thinker K.F. Li <thinker@branda.to>
parents: 562
diff changeset
11 sys.puts("coord matrix: " +
bc207070e3d5 Fix issue of im-properly using persistent handler for coord object template.
Thinker K.F. Li <thinker@branda.to>
parents: 562
diff changeset
12 [coord[0], coord[1], coord[2], coord[3], coord[4], coord[5]]);
696
f46a0771fd30 Merge the change frm the HEAD
wycc
parents: 690
diff changeset
13 sys.puts('coord='+coord);
549
6ec4d7e90480 Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
14
643
a65720721c60 Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents: 624
diff changeset
15 /* Testcase for image shapes */
a65720721c60 Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents: 624
diff changeset
16 var img = mb_rt.image_new(10, 10, 50, 50);
a65720721c60 Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents: 624
diff changeset
17 var ldr = mbfly.img_ldr_new(".");
a65720721c60 Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents: 624
diff changeset
18 var img_data = ldr.load("sample.png");
a65720721c60 Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents: 624
diff changeset
19 var paint = mb_rt.paint_image_new(img_data);
a65720721c60 Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents: 624
diff changeset
20 paint.fill(img);
a65720721c60 Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents: 624
diff changeset
21 root.add_shape(img);
a65720721c60 Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents: 624
diff changeset
22
690
86c6ebf1de25 Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents: 681
diff changeset
23 /* test alpha blending and rectangle */
86c6ebf1de25 Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents: 681
diff changeset
24 var rect = mb_rt.rect_new(40, 40, 100, 100, 10, 10);
86c6ebf1de25 Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents: 681
diff changeset
25 sys.puts(mb_rt.paint_color_new);
86c6ebf1de25 Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents: 681
diff changeset
26 var paint = mb_rt.paint_color_new(1, 0.5, 0.5, 0.5);
86c6ebf1de25 Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents: 681
diff changeset
27 paint.fill(rect);
86c6ebf1de25 Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents: 681
diff changeset
28 root.add_shape(rect);
86c6ebf1de25 Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents: 681
diff changeset
29
644
c9f8c7e6f57e Add comment
Thinker K.F. Li <thinker@branda.to>
parents: 643
diff changeset
30 /* Moving a path */
565
c0bc60448913 Constructor for path objects in Javascript domain
Thinker K.F. Li <thinker@branda.to>
parents: 563
diff changeset
31 sys.puts(mb_rt.path_new);
571
13b15b7a463b Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 570
diff changeset
32 var path = mb_rt.path_new("m 100,50 L 120,50 L 200,150 L 180,150 z");
565
c0bc60448913 Constructor for path objects in Javascript domain
Thinker K.F. Li <thinker@branda.to>
parents: 563
diff changeset
33 sys.puts(path);
566
6639d386db78 Function of add a shape to a coord in Javascript.
Thinker K.F. Li <thinker@branda.to>
parents: 565
diff changeset
34 sys.puts(coord.add_shape);
6639d386db78 Function of add a shape to a coord in Javascript.
Thinker K.F. Li <thinker@branda.to>
parents: 565
diff changeset
35 coord.add_shape(path);
565
c0bc60448913 Constructor for path objects in Javascript domain
Thinker K.F. Li <thinker@branda.to>
parents: 563
diff changeset
36
567
a12c3448afb6 Add dummy paint_color templates
Thinker K.F. Li <thinker@branda.to>
parents: 566
diff changeset
37 sys.puts(mb_rt.paint_color_new);
574
a2faee809514 Implement stext type for Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 571
diff changeset
38 var paint = mb_rt.paint_color_new(1, 1, 1, 1);
568
d796e6b8b97e Real initialize a paint_color_t object for paint_color JS obj
Thinker K.F. Li <thinker@branda.to>
parents: 567
diff changeset
39 sys.puts(paint);
569
f87a368e847a Functions of stroke and fill a shape
Thinker K.F. Li <thinker@branda.to>
parents: 568
diff changeset
40 paint.stroke(path);
567
a12c3448afb6 Add dummy paint_color templates
Thinker K.F. Li <thinker@branda.to>
parents: 566
diff changeset
41
570
49e79253b6d3 Functions of setting/getting stroke width of a shape
Thinker K.F. Li <thinker@branda.to>
parents: 569
diff changeset
42 sys.puts(path.stroke_width);
49e79253b6d3 Functions of setting/getting stroke width of a shape
Thinker K.F. Li <thinker@branda.to>
parents: 569
diff changeset
43 path.stroke_width = 2;
49e79253b6d3 Functions of setting/getting stroke width of a shape
Thinker K.F. Li <thinker@branda.to>
parents: 569
diff changeset
44 sys.puts(path.stroke_width);
49e79253b6d3 Functions of setting/getting stroke width of a shape
Thinker K.F. Li <thinker@branda.to>
parents: 569
diff changeset
45
576
5a68e2bcea17 Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 574
diff changeset
46 var face = mb_rt.font_face_query("courier", 2, 100);
5a68e2bcea17 Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 574
diff changeset
47 var blks = [[5, face, 20]];
5a68e2bcea17 Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 574
diff changeset
48 var stext = mb_rt.stext_new("Hello", 100, 50);
5a68e2bcea17 Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 574
diff changeset
49 stext.set_style(blks);
5a68e2bcea17 Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 574
diff changeset
50 paint.fill(stext);
5a68e2bcea17 Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 574
diff changeset
51 coord.add_shape(stext);
5a68e2bcea17 Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 574
diff changeset
52
571
13b15b7a463b Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 570
diff changeset
53 mb_rt.redraw_all();
13b15b7a463b Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 570
diff changeset
54
13b15b7a463b Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 570
diff changeset
55 var i = 0;
13b15b7a463b Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 570
diff changeset
56 setInterval(function() {
13b15b7a463b Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 570
diff changeset
57 var deg = (i++) * 0.1;
13b15b7a463b Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 570
diff changeset
58 coord[2] = (i % 20) * 10;
13b15b7a463b Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents: 570
diff changeset
59 mb_rt.redraw_changed();
693
8b7964869f7a Update window with XImage through XSHM
Thinker K.F. Li <thinker@branda.to>
parents: 690
diff changeset
60 mb_rt.flush();
624
d45c928f6523 Add SVG parser sample code.
wycc
parents: 576
diff changeset
61 }, 20);
549
6ec4d7e90480 Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
62 setTimeout(function() { sys.puts("timeout"); }, 1000);
676
f264b50c469c Bind subject of mouse_event to JS object of coord
Thinker K.F. Li <thinker@branda.to>
parents: 644
diff changeset
63
680
a588eefd3f04 Refactor to xnjsmb_coord_mod().
Thinker K.F. Li <thinker@branda.to>
parents: 679
diff changeset
64 sys.puts(root.mouse_event);
676
f264b50c469c Bind subject of mouse_event to JS object of coord
Thinker K.F. Li <thinker@branda.to>
parents: 644
diff changeset
65 var observer;
f264b50c469c Bind subject of mouse_event to JS object of coord
Thinker K.F. Li <thinker@branda.to>
parents: 644
diff changeset
66 /* Mouse button pressed */
680
a588eefd3f04 Refactor to xnjsmb_coord_mod().
Thinker K.F. Li <thinker@branda.to>
parents: 679
diff changeset
67 observer = root.mouse_event.add_event_observer(4, function(evt) {
679
799c852b9065 Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents: 676
diff changeset
68 sys.puts("mouse " + evt.x + " " + evt.y);
676
f264b50c469c Bind subject of mouse_event to JS object of coord
Thinker K.F. Li <thinker@branda.to>
parents: 644
diff changeset
69 });
679
799c852b9065 Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents: 676
diff changeset
70
799c852b9065 Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents: 676
diff changeset
71 var kbobserver;
799c852b9065 Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents: 676
diff changeset
72 /* Keyboard event */
681
b601a4d6f7d1 Change kbevent to kbevents and hide X_MB_kbevents()
Thinker K.F. Li <thinker@branda.to>
parents: 680
diff changeset
73 kbobserver = mb_rt.kbevents.add_event_observer(6, function(evt) {
679
799c852b9065 Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents: 676
diff changeset
74 sys.puts("keycode = " + evt.keycode);
799c852b9065 Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents: 676
diff changeset
75 sys.puts("sym = " + evt.sym);
799c852b9065 Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents: 676
diff changeset
76 });