OSDN Git Service

enable
[psychlops/silverlight.git] / test4 / PsychlopsMain.cs
1 using Psychlops;\r
2 //Position Bias Program\r
3 namespace PsychlopsSilverlightApp\r
4 {\r
5 \r
6     public class PsychlopsMain\r
7     {\r
8         Canvas cnvs;\r
9         Image img, img2, img3;\r
10         int isize = 80;        \r
11         int frames;\r
12         Psychlops.Widgets.Slider tfreq;\r
13         Psychlops.Widgets.Slider contrast;\r
14         Psychlops.Widgets.Slider lambda;\r
15 \r
16              public void psychlops_main()\r
17         {\r
18             cnvs = new Canvas(300, 600);\r
19             Interval rng = new Interval();\r
20             tfreq = new Psychlops.Widgets.Slider("Temporal Frequency(Hz)", -5 <= rng <= 5, 3.0);\r
21             contrast = new Psychlops.Widgets.Slider("Contrast", 0.0 <= rng <= 1.0, 0.25);\r
22             lambda = new Psychlops.Widgets.Slider("Wave Length", 10.0 <= rng <= 120.0, 30);\r
23 \r
24             img = new Image(isize * 2, isize * 2);\r
25             img2 = new Image(isize * 2, isize * 2);\r
26             img3 = new Image(isize * 2, isize * 2);\r
27 \r
28 \r
29             while (true)\r
30             {\r
31                 cnvs.clear(new Color(0.5));\r
32 \r
33                 Figures.drawGabor(ref img, isize / 6, 1/lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * tfreq / 60);\r
34                                 Figures.drawGabor(ref img2, isize / 6, 1 / lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * -tfreq / 60);\r
35                                 Figures.drawGabor(ref img3, isize / 6, 1 / lambda, contrast, 0.5 * Math.PI, (double)frames * 2.0 * Math.PI * tfreq / 60);\r
36 \r
37                 img.centering().shift(0, -isize * 1.5).draw();\r
38                 img2.centering().draw();\r
39                 img3.centering().shift(0, isize * 1.5).draw();\r
40                 \r
41                 if (!Mouse.left.pressed()) frames++;\r
42 \r
43                 cnvs.flip();\r
44             }\r
45         }\r
46     }\r
47 }