OSDN Git Service

kb
[psychlops/silverlight.git] / test3 / MainPage.xaml.cs
index d06eb7a..89df586 100644 (file)
@@ -6,12 +6,17 @@ namespace PsychlopsSilverlight3test
        {\r
                public System.ComponentModel.BackgroundWorker main_routine;\r
                public System.Windows.Controls.Image master;\r
+               public PsychlopsMain main;\r
                public MainPage()\r
                {\r
                        InitializeComponent();\r
-                       initialize();\r
                        // Show fps counter\r
-                       Canvas.default_instance = image;\r
+                       Canvas.default_buffer_frame = main_buffer;\r
+                       Canvas.default_api_canvas = LayoutRoot;\r
+                       Canvas.default_panel = this;\r
+                       this.IsTabStop = true;\r
+                       this.IsEnabled = true;\r
+                       this.MouseEnter += getFocusMouseEnter;\r
                        System.Windows.Application.Current.Host.Settings.MaxFrameRate = 60;\r
                        System.Windows.Application.Current.Host.Settings.EnableFrameRateCounter = true;\r
                        System.Windows.Application.Current.Host.Settings.EnableCacheVisualization = true;\r
@@ -19,6 +24,14 @@ namespace PsychlopsSilverlight3test
                        //main_routine =  new System.ComponentModel.BackgroundWorker();\r
                        //main_routine.DoWork += new System.ComponentModel.DoWorkEventHandler(psychlops_main);\r
                        //main_routine.RunWorkerAsync();\r
+\r
+       \r
+                       main = new PsychlopsMain();\r
+                       main.initialize();\r
+               }\r
+               protected void getFocusMouseEnter(object sender, System.Windows.Input.MouseEventArgs e)\r
+               {\r
+                       this.Focus();\r
                }\r
                int background;\r
                private void backgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs args)\r
@@ -35,30 +48,9 @@ namespace PsychlopsSilverlight3test
                {\r
                        frame++;\r
                        //Canvas.default_buffer.Invalidate();\r
-                       trial();\r
+                       main.each_frames();\r
                }\r
 \r
-               Canvas cnvs;\r
-               Image img;\r
-               int isize = 100;\r
-               double tfreq = 1;\r
-               public void initialize()\r
-               {\r
-                       cnvs = new Canvas(500, 500, image, this);\r
-                       img = new Image(isize*2, isize*2);\r
-                       cnvs.clear(Color.gray);\r
-               }\r
-               public void trial()\r
-               {\r
-                       cnvs.clear(new Color(Mouse.left.pressed() ? 1.0 : 0.5));\r
-                       img.field(\r
-                               (x, y) => new Color(.5 + Math.gaussian(Math.radius(x - isize, y - isize), isize / 8.0) * .5 * Math.sin(frame*2*Math.PI/tfreq/60 + x / 3.0))\r
-                                       );\r
-                       img.centering(Mouse.position);\r
-                       //img.shift(1,0);\r
-                       img.draw();\r
-                       cnvs.flip();\r
-               }\r
                /*\r
                Canvas cnvs;\r
                Rectangle[] rects;\r