3 namespace PsychlopsSilverlight3test
\r
5 public partial class MainPage : System.Windows.Controls.UserControl
\r
7 public System.ComponentModel.BackgroundWorker main_routine;
\r
8 public System.Windows.Controls.Image master;
\r
11 InitializeComponent();
\r
14 Canvas.default_instance = image;
\r
15 System.Windows.Application.Current.Host.Settings.MaxFrameRate = 60;
\r
16 System.Windows.Application.Current.Host.Settings.EnableFrameRateCounter = true;
\r
17 System.Windows.Application.Current.Host.Settings.EnableCacheVisualization = true;
\r
18 System.Windows.Media.CompositionTarget.Rendering += new System.EventHandler(CompositionTarget_Rendering);
\r
19 //main_routine = new System.ComponentModel.BackgroundWorker();
\r
20 //main_routine.DoWork += new System.ComponentModel.DoWorkEventHandler(psychlops_main);
\r
21 //main_routine.RunWorkerAsync();
\r
24 private void backgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs args)
\r
28 System.Threading.Thread.Sleep(10);
\r
34 private void CompositionTarget_Rendering(object sender, System.EventArgs e)
\r
37 //Canvas.default_buffer.Invalidate();
\r
45 public void initialize()
\r
47 cnvs = new Canvas(500, 500, image, this);
\r
48 img = new Image(isize*2, isize*2);
\r
49 cnvs.clear(Color.gray);
\r
53 cnvs.clear(new Color(Mouse.left.pressed() ? 1.0 : 0.5));
\r
55 (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
57 img.centering(Mouse.position);
\r
67 public void initialize()
\r
69 cnvs = new Canvas(500, 500, image, this);
\r
70 rects = new Rectangle[100];
\r
71 for (int i = 0; i < rects.Length; i++) { rects[i] = new Rectangle(10,10); }
\r
72 cnvs.clear(Color.gray);
\r
76 cnvs.clear(new Color(Mouse.left.pressed() ? 1.0 : 0.5));
\r
77 foreach (Rectangle rect in rects) { rect.centering().shift(background,0).draw(); }
\r