Пример #1
0
 private void add(TraceEffect sender)
 {
     traces.Add(new Trace(sender));
     if (traces.GroupBy(i => i.Index).All(i => i.Last().Released))
     {
         Task.Run(() => Finished?.Invoke(this, new TraceEventArgs {
             Traces = traces
         }));
         traces.Clear();
     }
 }
Пример #2
0
 public void Layout(double radius, List <Point> traces)
 {
     content.Children.Clear();
     for (var i = 0; i < traces.Count; i++)
     {
         var item = traces[i];
         var eff  = new TraceEffect {
             Index  = i,
             Width  = radius * 2,
             Margin = new Thickness {
                 Left = item.X - radius, Top = item.Y - radius
             },
         };
         content.Children.Add(eff);
     }
 }
Пример #3
0
 private void add(TraceEffect sender)
 {
     traces.Add(new Trace(sender));
     if (traces.GroupBy(i => i.Index).All(i => i.Last().Released))
     {
         if (Async)
         {
             Finished?.BeginInvoke(this, new TraceEventArgs {
                 Traces = traces
             }, null, null);
         }
         else
         {
             Finished?.Invoke(this, new TraceEventArgs {
                 Traces = traces
             });
         }
         traces = new List <ITrace>();
     }
 }