OSDN Git Service

kb
[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                 public System.ComponentModel.BackgroundWorker main_routine;\r
8                 public System.Windows.Controls.Image master;\r
9                 public PsychlopsMain main;\r
10                 public MainPage()\r
11                 {\r
12                         InitializeComponent();\r
13                         // Show fps counter\r
14                         Canvas.default_buffer_frame = main_buffer;\r
15                         Canvas.default_api_canvas = LayoutRoot;\r
16                         Canvas.default_panel = this;\r
17                         this.IsTabStop = true;\r
18                         this.IsEnabled = true;\r
19                         this.MouseEnter += getFocusMouseEnter;\r
20                         System.Windows.Application.Current.Host.Settings.MaxFrameRate = 60;\r
21                         System.Windows.Application.Current.Host.Settings.EnableFrameRateCounter = true;\r
22                         System.Windows.Application.Current.Host.Settings.EnableCacheVisualization = true;\r
23                         System.Windows.Media.CompositionTarget.Rendering += new System.EventHandler(CompositionTarget_Rendering);\r
24                         //main_routine =  new System.ComponentModel.BackgroundWorker();\r
25                         //main_routine.DoWork += new System.ComponentModel.DoWorkEventHandler(psychlops_main);\r
26                         //main_routine.RunWorkerAsync();\r
27 \r
28         \r
29                         main = new PsychlopsMain();\r
30                         main.initialize();\r
31                 }\r
32                 protected void getFocusMouseEnter(object sender, System.Windows.Input.MouseEventArgs e)\r
33                 {\r
34                         this.Focus();\r
35                 }\r
36                 int background;\r
37                 private void backgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs args)\r
38                 {\r
39                         while (true)\r
40                         {\r
41                                 System.Threading.Thread.Sleep(10);\r
42                                 background++;\r
43                         }\r
44                 }\r
45 \r
46                 int frame;\r
47                 private void CompositionTarget_Rendering(object sender, System.EventArgs e)\r
48                 {\r
49                         frame++;\r
50                         //Canvas.default_buffer.Invalidate();\r
51                         main.each_frames();\r
52                 }\r
53 \r
54                 /*\r
55                 Canvas cnvs;\r
56                 Rectangle[] rects;\r
57                 double tfreq = 1;\r
58 \r
59                 public void initialize()\r
60                 {\r
61                         cnvs = new Canvas(500, 500, image, this);\r
62                         rects = new Rectangle[100];\r
63                         for (int i = 0; i < rects.Length; i++) { rects[i] = new Rectangle(10,10); }\r
64                         cnvs.clear(Color.gray);\r
65                 }\r
66                 public void trial()\r
67                 {\r
68                         cnvs.clear(new Color(Mouse.left.pressed() ? 1.0 : 0.5));\r
69                         foreach (Rectangle rect in rects) { rect.centering().shift(background,0).draw(); }\r
70                         cnvs.flip();\r
71                 }\r
72                 */\r
73         }\r
74 }\r
75 \r