public static void SpawnAnimationThread(LayoutEngine layoutEngine, Form form, int interFrameSleepTimeMillis) { BackgroundWorker animationThread = new BackgroundWorker(); animationThread.WorkerReportsProgress = true; animationThread.WorkerSupportsCancellation = true; animationThread.DoWork += new DoWorkEventHandler(delegate(object sender, DoWorkEventArgs e) { while (true) { layoutEngine.incrementLayout(); Thread.Sleep(interFrameSleepTimeMillis); //Console.Out.WriteLine("Animating " + i); animationThread.ReportProgress(0); } }); animationThread.ProgressChanged += new ProgressChangedEventHandler(delegate(object sender, ProgressChangedEventArgs e) { form.Refresh(); }); animationThread.RunWorkerAsync(); }
/** * Generates a layout engine which will act on the given pedigree model. */ public static LayoutEngine generateLayoutEngine(PedigreeModel model) { LayoutEngine layoutEngine = new LayoutEngine(); return layoutEngine; }