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