OSDN Git Service

flip ok
[psychlops/silverlight.git] / test3 / MainPage.xaml.cs
index 89df586..dcfdd2d 100644 (file)
@@ -4,14 +4,17 @@ namespace PsychlopsSilverlight3test
 {\r
        public partial class MainPage : System.Windows.Controls.UserControl\r
        {\r
-               public System.ComponentModel.BackgroundWorker main_routine;\r
+               System.Collections.Generic.IEnumerator<int> main_routine;\r
                public System.Windows.Controls.Image master;\r
                public PsychlopsMain main;\r
+#if DEBUG\r
+               public System.Windows.Controls.TextBlock DebugConsole;\r
+#endif\r
                public MainPage()\r
                {\r
                        InitializeComponent();\r
                        // Show fps counter\r
-                       Canvas.default_buffer_frame = main_buffer;\r
+                       //Canvas.default_buffer_frame = main_buffer;\r
                        Canvas.default_api_canvas = LayoutRoot;\r
                        Canvas.default_panel = this;\r
                        this.IsTabStop = true;\r
@@ -25,51 +28,31 @@ namespace PsychlopsSilverlight3test
                        //main_routine.DoWork += new System.ComponentModel.DoWorkEventHandler(psychlops_main);\r
                        //main_routine.RunWorkerAsync();\r
 \r
-       \r
                        main = new PsychlopsMain();\r
-                       main.initialize();\r
+                       //main.initialize();\r
+                       //main_routine = new System.Threading.Thread(ThreadTest2);\r
+                       //main_routine.Start();\r
+                       main_routine = main.psychlops_main();\r
+#if DEBUG\r
+                       DebugConsole = new System.Windows.Controls.TextBlock();\r
+                       TotalRoot.Children.Add(DebugConsole);\r
+#endif\r
                }\r
-               protected void getFocusMouseEnter(object sender, System.Windows.Input.MouseEventArgs e)\r
-               {\r
+               protected void getFocusMouseEnter(object sender, System.Windows.Input.MouseEventArgs e) {\r
                        this.Focus();\r
                }\r
-               int background;\r
-               private void backgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs args)\r
-               {\r
-                       while (true)\r
-                       {\r
-                               System.Threading.Thread.Sleep(10);\r
-                               background++;\r
-                       }\r
-               }\r
 \r
-               int frame;\r
+               int nextIntervalFrame = 1;\r
                private void CompositionTarget_Rendering(object sender, System.EventArgs e)\r
                {\r
-                       frame++;\r
-                       //Canvas.default_buffer.Invalidate();\r
-                       main.each_frames();\r
+                       nextIntervalFrame--;\r
+                       if (nextIntervalFrame<=0)\r
+                       {\r
+                               main_routine.MoveNext();\r
+                               nextIntervalFrame = main_routine.Current;\r
+                       }\r
                }\r
 \r
-               /*\r
-               Canvas cnvs;\r
-               Rectangle[] rects;\r
-               double tfreq = 1;\r
-\r
-               public void initialize()\r
-               {\r
-                       cnvs = new Canvas(500, 500, image, this);\r
-                       rects = new Rectangle[100];\r
-                       for (int i = 0; i < rects.Length; i++) { rects[i] = new Rectangle(10,10); }\r
-                       cnvs.clear(Color.gray);\r
-               }\r
-               public void trial()\r
-               {\r
-                       cnvs.clear(new Color(Mouse.left.pressed() ? 1.0 : 0.5));\r
-                       foreach (Rectangle rect in rects) { rect.centering().shift(background,0).draw(); }\r
-                       cnvs.flip();\r
-               }\r
-               */\r
        }\r
 }\r
 \r