{\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
//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