OSDN Git Service

123123
[psychlops/cpp.git] / win32gl / test / compilenew.cpp
index 28faba3..521b3a9 100644 (file)
@@ -1,3 +1,47 @@
+#include <psychlops.h>\r
+using namespace Psychlops;\r
+\r
+Psychlops::Polygon Poly;\r
+\r
+int radius = 100;\r
+int v_n = 6;\r
+double bg_lum =0.0;\r
+double Poly_lum = 0.5;\r
+\r
+void StimDisplay()\r
+{\r
+\r
+    Range rng;\r
+    Independent << Poly_lum | "Poly lum" | 0 <= rng <= 1.0 | 0.05 | 0.1;\r
+\r
+    for(int i=0; i<v_n; i++)\r
+    {\r
+        double angle = (double)i/v_n * 2*PI;\r
+        Poly.append(radius*cos(angle), radius*sin(angle));\r
+    }\r
+    Poly.Shape::centering();\r
+\r
+    while(!Keyboard::esc.pushed()){\r
+        Display::clear(bg_lum);\r
+        Poly.draw(Poly_lum);\r
+        Display::flip();\r
+    }\r
+}\r
+\r
+void psychlops_main()\r
+{\r
+    Canvas canvas(Canvas::window, Display::secondary);\r
+    canvas.showFPS();\r
+    canvas.watchFPS();\r
+\r
+    Procedure p;\r
+    p.setDesign(Procedure::DEMO);\r
+    p.setProcedure(&StimDisplay);\r
+    p.run();\r
+}\r
+\r
+\r
+#if 0\r
 \r
 // Motion with glass patterns.\r
 // Ross, J., Badcock, D. R., and Hayes, A. (2000)\r
@@ -22,25 +66,52 @@ void psychlops_main() {
        Psychlops::Ellipse rect(100,100);\r
        rect.fill = Color::red;\r
 \r
-       Devices::GenericParallelPort trigger("USB_PARALLEL", 1+8);\r
+       char data[100] = {\r
+               0,0,0,0,0,0,0,0,0,0,\r
+               0,0,0,0,0,0,0,0,0,0,\r
+               0,0,0,0,0,0,0,0,0,0,\r
+               0,0,0,0,0,0,0,0,0,0,\r
+               0,0,0,0,0,0,0,0,0,0,\r
+               0,0,0,0,0,0,0,0,0,0,\r
+               -128,-128,-128,-128,-128,-128,-128,-128,\r
+               -128,-128,-128,-128,-128,-128,-128,-128,\r
+               -128,-128,-128,-128,-128,-128,-128,-128,\r
+               -128,-128,-128,-128,-128,-128,-128,-128,\r
+       };\r
+       Devices::GenericParallelPort trigger0("USB_PARALLEL", 0);\r
+       Devices::GenericParallelPort trigger1("USB_PARALLEL", Devices::GenericParallelPort::D0 + Devices::GenericParallelPort::D2);\r
+\r
+       trigger0.trigger();\r
+       trigger1.trigger();\r
+\r
+\r
+       int trigger_ticks = 100, a;\r
+       Interval rng;\r
+       Widgets::Slider slide;\r
+       slide.link(trigger_ticks, "trigger_ticks", 1<=rng<=1000, 20.0, 100.0);\r
 \r
        int t=0;\r
 \r
        while(!Keyboard::esc.pushed()) {\r
                t++;\r
-               Display::clear(); //Clear window\r
+               if(t%2==0) Display::clear(); //Clear window\r
+               else  Display::clear(Color::gray); //Clear window\r
 \r
                //if(t%100 == 0)\r
                //      rs = CreateProcess("C:\\Windows\\System32\\print.exe",(LPTSTR)" /D:LPT1 D:\\Users\\hskwk\\Desktop\\zzz.txt",NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi);\r
 \r
-               if(t%120==0) trigger.trigger();\r
+               //if(t%300==0) trigger1.trigger(data,100);\r
+               if(t%150==0) trigger0.trigger(trigger_ticks);\r
                rect.draw();\r
 \r
+               slide.draw();\r
+\r
                Display::flip(); // Flip frame buffers\r
        }\r
 }\r
 ///- Stimulus drawing function\r
 \r
+#endif\r
 \r
 \r
 #if 0\r