OSDN Git Service

dcfdd2d69030792b06e92990144c5fd7e3f680fd
[psychlops/silverlight.git] / test3 / MainPage.xaml.cs
1 using Psychlops;\r
2 \r
3 namespace PsychlopsSilverlight3test\r
4 {\r
5         public partial class MainPage : System.Windows.Controls.UserControl\r
6         {\r
7                 System.Collections.Generic.IEnumerator<int> main_routine;\r
8                 public System.Windows.Controls.Image master;\r
9                 public PsychlopsMain main;\r
10 #if DEBUG\r
11                 public System.Windows.Controls.TextBlock DebugConsole;\r
12 #endif\r
13                 public MainPage()\r
14                 {\r
15                         InitializeComponent();\r
16                         // Show fps counter\r
17                         //Canvas.default_buffer_frame = main_buffer;\r
18                         Canvas.default_api_canvas = LayoutRoot;\r
19                         Canvas.default_panel = this;\r
20                         this.IsTabStop = true;\r
21                         this.IsEnabled = true;\r
22                         this.MouseEnter += getFocusMouseEnter;\r
23                         System.Windows.Application.Current.Host.Settings.MaxFrameRate = 60;\r
24                         System.Windows.Application.Current.Host.Settings.EnableFrameRateCounter = true;\r
25                         System.Windows.Application.Current.Host.Settings.EnableCacheVisualization = true;\r
26                         System.Windows.Media.CompositionTarget.Rendering += new System.EventHandler(CompositionTarget_Rendering);\r
27                         //main_routine =  new System.ComponentModel.BackgroundWorker();\r
28                         //main_routine.DoWork += new System.ComponentModel.DoWorkEventHandler(psychlops_main);\r
29                         //main_routine.RunWorkerAsync();\r
30 \r
31                         main = new PsychlopsMain();\r
32                         //main.initialize();\r
33                         //main_routine = new System.Threading.Thread(ThreadTest2);\r
34                         //main_routine.Start();\r
35                         main_routine = main.psychlops_main();\r
36 #if DEBUG\r
37                         DebugConsole = new System.Windows.Controls.TextBlock();\r
38                         TotalRoot.Children.Add(DebugConsole);\r
39 #endif\r
40                 }\r
41                 protected void getFocusMouseEnter(object sender, System.Windows.Input.MouseEventArgs e) {\r
42                         this.Focus();\r
43                 }\r
44 \r
45                 int nextIntervalFrame = 1;\r
46                 private void CompositionTarget_Rendering(object sender, System.EventArgs e)\r
47                 {\r
48                         nextIntervalFrame--;\r
49                         if (nextIntervalFrame<=0)\r
50                         {\r
51                                 main_routine.MoveNext();\r
52                                 nextIntervalFrame = main_routine.Current;\r
53                         }\r
54                 }\r
55 \r
56         }\r
57 }\r
58 \r