Mercurial > MadButterfly
annotate nodejs/testcase.js @ 760:5781b2485e38
Fix position issue of stext.
Sometime, stext does not show at correct position. After some study,
it is caused by a typo in the code of create scaled font
(make_scaled_font_face()). The typo causes a fault in compute
transform matrix for scale fonts.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sat, 28 Aug 2010 22:54:07 +0800 |
parents | cceac4ba259e |
children | 61c217f8cec8 |
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"); |
756
cceac4ba259e
Support drawing at root window for X Window
Thinker K.F. Li <thinker@codemud.net>
parents:
749
diff
changeset
|
4 /* process module is still not supported by nodejs v0.1.97 */ |
cceac4ba259e
Support drawing at root window for X Window
Thinker K.F. Li <thinker@codemud.net>
parents:
749
diff
changeset
|
5 /* var process = require("process"); */ |
549
6ec4d7e90480
Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
6 sys.puts(r); |
6ec4d7e90480
Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
7 |
756
cceac4ba259e
Support drawing at root window for X Window
Thinker K.F. Li <thinker@codemud.net>
parents:
749
diff
changeset
|
8 var display_name = ":0.0"; |
cceac4ba259e
Support drawing at root window for X Window
Thinker K.F. Li <thinker@codemud.net>
parents:
749
diff
changeset
|
9 /* if(process.argv.length > 2) |
cceac4ba259e
Support drawing at root window for X Window
Thinker K.F. Li <thinker@codemud.net>
parents:
749
diff
changeset
|
10 display_name = process.argv[2]; */ |
cceac4ba259e
Support drawing at root window for X Window
Thinker K.F. Li <thinker@codemud.net>
parents:
749
diff
changeset
|
11 |
cceac4ba259e
Support drawing at root window for X Window
Thinker K.F. Li <thinker@codemud.net>
parents:
749
diff
changeset
|
12 var mb_rt = new mbfly.mb_rt(display_name, 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
|
13 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
|
14 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
|
15 [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
|
16 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
|
17 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
|
18 [coord[0], coord[1], coord[2], coord[3], coord[4], coord[5]]); |
549
6ec4d7e90480
Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
19 |
643
a65720721c60
Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents:
624
diff
changeset
|
20 /* Testcase for image shapes */ |
a65720721c60
Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents:
624
diff
changeset
|
21 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
|
22 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
|
23 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
|
24 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
|
25 paint.fill(img); |
a65720721c60
Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents:
624
diff
changeset
|
26 root.add_shape(img); |
a65720721c60
Fix issue of exception of internal field.
Thinker K.F. Li <thinker@branda.to>
parents:
624
diff
changeset
|
27 |
734
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
28 /* test linear paint and rectangle */ |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
29 var rect = mb_rt.rect_new(100, 100, 50, 50, 10, 10); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
30 sys.puts(mb_rt.paint_linear_new); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
31 var paint = mb_rt.paint_linear_new(100, 100, 150, 150); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
32 paint.set_stops([[0, 0, 1, 0, 1], [1, 0, 0, 1, 1]]); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
33 paint.fill(rect); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
34 root.add_shape(rect); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
35 |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
36 /* test radial paint and rectangle */ |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
37 var rect = mb_rt.rect_new(150, 100, 50, 50, 10, 10); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
38 sys.puts(mb_rt.paint_radial_new); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
39 var paint = mb_rt.paint_radial_new(175, 125, 25); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
40 paint.set_stops([[0, 0, 1, 0, 1], [1, 0, 0, 1, 1]]); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
41 paint.fill(rect); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
42 root.add_shape(rect); |
5ac257be7bc0
Testcase for linear and radial paint for JS
Thinker K.F. Li <thinker@branda.to>
parents:
733
diff
changeset
|
43 |
690
86c6ebf1de25
Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents:
681
diff
changeset
|
44 /* test alpha blending and rectangle */ |
86c6ebf1de25
Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents:
681
diff
changeset
|
45 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
|
46 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
|
47 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
|
48 paint.fill(rect); |
86c6ebf1de25
Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents:
681
diff
changeset
|
49 root.add_shape(rect); |
86c6ebf1de25
Add JS binding for sh_rect_t
Thinker K.F. Li <thinker@branda.to>
parents:
681
diff
changeset
|
50 |
749
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
51 /* test hide of shapes */ |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
52 var sw = 1; |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
53 setInterval(function() { |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
54 if(sw) { |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
55 rect.hide(); |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
56 sw = 0; |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
57 } else { |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
58 rect.show(); |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
59 sw = 1; |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
60 } |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
61 }, 1000); |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
62 |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
63 /* test hide of coord */ |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
64 var cw = 1; |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
65 setInterval(function() { |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
66 if(sw) { |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
67 coord.hide(); |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
68 cw = 0; |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
69 } else { |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
70 coord.show(); |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
71 cw = 1; |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
72 } |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
73 }, 3000); |
ed59e659a202
Implement binding for hide/show for shapes and coords
Thinker K.F. Li <thinker@codemud.net>
parents:
748
diff
changeset
|
74 |
742
24038e7a365b
Reorder instructions to invalidate coords correctly
Thinker K.F. Li <thinker@codemud.net>
parents:
734
diff
changeset
|
75 /* test removing a coord */ |
24038e7a365b
Reorder instructions to invalidate coords correctly
Thinker K.F. Li <thinker@codemud.net>
parents:
734
diff
changeset
|
76 var rm_coord = mb_rt.coord_new(root); |
748
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
77 var rm_rect1 = mb_rt.rect_new(150, 150, 50, 50, 10, 10); |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
78 paint.fill(rm_rect1); |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
79 rm_coord.add_shape(rm_rect1); |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
80 var rm_rect2 = mb_rt.rect_new(100, 150, 50, 50, 10, 10); |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
81 paint.fill(rm_rect2); |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
82 rm_coord.add_shape(rm_rect2); |
743
dd1f3382d6a4
Create a persistent handle for coords and shapes correctly
Thinker K.F. Li <thinker@codemud.net>
parents:
742
diff
changeset
|
83 setTimeout(function() { |
dd1f3382d6a4
Create a persistent handle for coords and shapes correctly
Thinker K.F. Li <thinker@codemud.net>
parents:
742
diff
changeset
|
84 rm_coord.remove(); |
dd1f3382d6a4
Create a persistent handle for coords and shapes correctly
Thinker K.F. Li <thinker@codemud.net>
parents:
742
diff
changeset
|
85 mb_rt.redraw_changed(); |
dd1f3382d6a4
Create a persistent handle for coords and shapes correctly
Thinker K.F. Li <thinker@codemud.net>
parents:
742
diff
changeset
|
86 mb_rt.flush(); |
dd1f3382d6a4
Create a persistent handle for coords and shapes correctly
Thinker K.F. Li <thinker@codemud.net>
parents:
742
diff
changeset
|
87 }, 3000); |
742
24038e7a365b
Reorder instructions to invalidate coords correctly
Thinker K.F. Li <thinker@codemud.net>
parents:
734
diff
changeset
|
88 |
748
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
89 /* test removing a shape */ |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
90 setTimeout(function() { |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
91 rm_rect1.remove(); |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
92 mb_rt.redraw_changed(); |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
93 mb_rt.flush(); |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
94 }, 2000); |
56a5e08cd8af
Make shapes can be removed from the tree
Thinker K.F. Li <thinker@codemud.net>
parents:
743
diff
changeset
|
95 |
644 | 96 /* Moving a path */ |
565
c0bc60448913
Constructor for path objects in Javascript domain
Thinker K.F. Li <thinker@branda.to>
parents:
563
diff
changeset
|
97 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
|
98 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
|
99 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
|
100 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
|
101 coord.add_shape(path); |
565
c0bc60448913
Constructor for path objects in Javascript domain
Thinker K.F. Li <thinker@branda.to>
parents:
563
diff
changeset
|
102 |
567
a12c3448afb6
Add dummy paint_color templates
Thinker K.F. Li <thinker@branda.to>
parents:
566
diff
changeset
|
103 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
|
104 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
|
105 sys.puts(paint); |
569
f87a368e847a
Functions of stroke and fill a shape
Thinker K.F. Li <thinker@branda.to>
parents:
568
diff
changeset
|
106 paint.stroke(path); |
567
a12c3448afb6
Add dummy paint_color templates
Thinker K.F. Li <thinker@branda.to>
parents:
566
diff
changeset
|
107 |
570
49e79253b6d3
Functions of setting/getting stroke width of a shape
Thinker K.F. Li <thinker@branda.to>
parents:
569
diff
changeset
|
108 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
|
109 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
|
110 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
|
111 |
576
5a68e2bcea17
Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
574
diff
changeset
|
112 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
|
113 var blks = [[5, face, 20]]; |
5a68e2bcea17
Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
574
diff
changeset
|
114 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
|
115 stext.set_style(blks); |
5a68e2bcea17
Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
574
diff
changeset
|
116 paint.fill(stext); |
5a68e2bcea17
Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
574
diff
changeset
|
117 coord.add_shape(stext); |
5a68e2bcea17
Set font styles for stext in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
574
diff
changeset
|
118 |
571
13b15b7a463b
Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
570
diff
changeset
|
119 mb_rt.redraw_all(); |
704
d950487bd9f9
Flush mb_rt, immediately, after redraw_all()
Thinker K.F. Li <thinker@branda.to>
parents:
699
diff
changeset
|
120 mb_rt.flush(); |
571
13b15b7a463b
Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
570
diff
changeset
|
121 |
13b15b7a463b
Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
570
diff
changeset
|
122 var i = 0; |
13b15b7a463b
Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
570
diff
changeset
|
123 setInterval(function() { |
13b15b7a463b
Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
570
diff
changeset
|
124 var deg = (i++) * 0.1; |
699
0b98bdc53215
Add binding for color changing of paint_color_t in JS
Thinker K.F. Li <thinker@branda.to>
parents:
697
diff
changeset
|
125 coord[2] = (i % 40) * 5; |
571
13b15b7a463b
Redraw all and changed in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
570
diff
changeset
|
126 mb_rt.redraw_changed(); |
733
163f0d9e6382
Add binding for linear and radial paints for JS
Thinker K.F. Li <thinker@branda.to>
parents:
725
diff
changeset
|
127 mb_rt.flush(); |
624 | 128 }, 20); |
549
6ec4d7e90480
Nodejs testcase in Javascript
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
129 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
|
130 |
680
a588eefd3f04
Refactor to xnjsmb_coord_mod().
Thinker K.F. Li <thinker@branda.to>
parents:
679
diff
changeset
|
131 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
|
132 var observer; |
f264b50c469c
Bind subject of mouse_event to JS object of coord
Thinker K.F. Li <thinker@branda.to>
parents:
644
diff
changeset
|
133 /* Mouse button pressed */ |
680
a588eefd3f04
Refactor to xnjsmb_coord_mod().
Thinker K.F. Li <thinker@branda.to>
parents:
679
diff
changeset
|
134 observer = root.mouse_event.add_event_observer(4, function(evt) { |
699
0b98bdc53215
Add binding for color changing of paint_color_t in JS
Thinker K.F. Li <thinker@branda.to>
parents:
697
diff
changeset
|
135 var c = 1 - (i % 40) / 40; |
0b98bdc53215
Add binding for color changing of paint_color_t in JS
Thinker K.F. Li <thinker@branda.to>
parents:
697
diff
changeset
|
136 sys.puts(c); |
0b98bdc53215
Add binding for color changing of paint_color_t in JS
Thinker K.F. Li <thinker@branda.to>
parents:
697
diff
changeset
|
137 |
679
799c852b9065
Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents:
676
diff
changeset
|
138 sys.puts("mouse " + evt.x + " " + evt.y); |
699
0b98bdc53215
Add binding for color changing of paint_color_t in JS
Thinker K.F. Li <thinker@branda.to>
parents:
697
diff
changeset
|
139 sys.puts(c); |
0b98bdc53215
Add binding for color changing of paint_color_t in JS
Thinker K.F. Li <thinker@branda.to>
parents:
697
diff
changeset
|
140 sys.puts(paint.set_color); |
0b98bdc53215
Add binding for color changing of paint_color_t in JS
Thinker K.F. Li <thinker@branda.to>
parents:
697
diff
changeset
|
141 paint.set_color(c, 1, 1, 1); |
0b98bdc53215
Add binding for color changing of paint_color_t in JS
Thinker K.F. Li <thinker@branda.to>
parents:
697
diff
changeset
|
142 mb_rt.redraw_changed(); |
0b98bdc53215
Add binding for color changing of paint_color_t in JS
Thinker K.F. Li <thinker@branda.to>
parents:
697
diff
changeset
|
143 mb_rt.flush(); |
676
f264b50c469c
Bind subject of mouse_event to JS object of coord
Thinker K.F. Li <thinker@branda.to>
parents:
644
diff
changeset
|
144 }); |
679
799c852b9065
Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents:
676
diff
changeset
|
145 |
799c852b9065
Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents:
676
diff
changeset
|
146 var kbobserver; |
799c852b9065
Extract event info from C object to JS object
Thinker K.F. Li <thinker@branda.to>
parents:
676
diff
changeset
|
147 /* Keyboard event */ |
681
b601a4d6f7d1
Change kbevent to kbevents and hide X_MB_kbevents()
Thinker K.F. Li <thinker@branda.to>
parents:
680
diff
changeset
|
148 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
|
149 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
|
150 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
|
151 }); |