OSDN Git Service

a303773f294ec39c31116c123fff9ccb559377d1
[psychlops/silverlight.git] / test4 / MainPage.xaml.cs
1 using Psychlops;\r
2 \r
3 namespace PsychlopsSilverlight4test\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 \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 = false;\r
26                         //System.Windows.Application.Current.Host.Settings.EnableGPUAcceleration = false;\r
27                         //<param name="enableGPUAcceleration" value="true"/>\r
28                         System.Windows.Media.CompositionTarget.Rendering += new System.EventHandler(CompositionTarget_Rendering);\r
29                         //main_routine =  new System.ComponentModel.BackgroundWorker();\r
30                         //main_routine.DoWork += new System.ComponentModel.DoWorkEventHandler(psychlops_main);\r
31                         //main_routine.RunWorkerAsync();\r
32 \r
33                         main = new PsychlopsMain();\r
34 //                      Psychlops.AppState.statusBar.\r
35                         Psychlops.Internal.Main.routine = new System.Threading.Thread(main.psychlops_main);\r
36                         Psychlops.Internal.Main.routine.Start();\r
37                         //main.initialize();\r
38                         //main_routine = main.psychlops_main();\r
39 \r
40                         Psychlops.Internal.Main.statusBar = AppStatusBar;\r
41                         //Psychlops.Internal.Main.widgetStack = Controller;\r
42                         AppStatusBar.Text = "Now starting Psychlops environment... please wait a minute";\r
43 \r
44 \r
45                         var ur = new System.Uri("Resources/logo.png", System.UriKind.RelativeOrAbsolute);\r
46                         var bitmap = new System.Windows.Media.Imaging.BitmapImage(ur);\r
47                         var img = new System.Windows.Controls.Image();\r
48                         img.Source = bitmap;\r
49                         System.Windows.Controls.Canvas.SetLeft(img, 100);\r
50                         System.Windows.Controls.Canvas.SetTop(img, 100);\r
51                         LayoutRoot.Children.Add(img);\r
52 \r
53                 }\r
54                 protected void getFocusMouseEnter(object sender, System.Windows.Input.MouseEventArgs e) {\r
55                         this.Focus();\r
56                 }\r
57 \r
58                 private void CompositionTarget_Rendering(object sender, System.EventArgs e)\r
59                 {\r
60                         if (Main.canvas != null) Main.canvas.executeFlip();\r
61                         //if (nextIntervalFrame-- <= 0)\r
62                         //{\r
63                         //      main_routine.MoveNext();\r
64                         //      nextIntervalFrame = main_routine.Current;\r
65                         //}\r
66                 }\r
67 \r
68         }\r
69 }\r
70 \r