Hue Preserving Color Blending
ThreadedDelay.cs
1 using System.Threading;
2 
4 {
5  internal class ThreadedDelay
6  {
7  public int Length { get; set; } // In milliseconds
8  public bool IsDone { get; private set; }
9 
10  public ThreadedDelay(int length = 0)
11  {
12  Length = length;
13  IsDone = false;
14  }
15 
16  public void Start()
17  {
18  if (Length <= 0)
19  {
20  IsDone = true;
21  return;
22  }
23 
24  IsDone = false;
25 
26  Thread newThread = new Thread(() =>
27  {
28  Thread.Sleep(Length);
29  IsDone = true;
30  });
31 
32  newThread.Start();
33  }
34  }
35 }