/// <summary>
 /// CreateWindowState and show the overlay window if it is not already created.
 /// </summary>
 public void Launch()
 {
     if (mOverlayWindow == null) {
         mOverlayActive = true;
         mOverlayWindow = new OverlayWindow(this);
         Show();
         mOverlayWindow.FormClosed += new FormClosedEventHandler(mOverlayWindow_FormClosed);
         mOverlayWindow.AlwaysOnTop = mConfig.AlwaysOnTop;
         if (mOverlayFullscreen)
             mOverlayWindow.Fullscreen = true;
         if (OverlayLaunched != null)
             OverlayLaunched(this, null);
         //mOverlayWindow.ForceRedraw();
     }
 }
 void mOverlayWindow_FormClosed(object sender, FormClosedEventArgs e)
 {
     mOverlayActive = false;
     mOverlayWindow = null;
     if (OverlayClosed != null)
         OverlayClosed(this, null);
 }
 /// <summary>
 /// Close the overlay window, if it has been created.
 /// </summary>
 public void Close()
 {
     if (mOverlayWindow != null) {
         mOverlayWindow.Invoke(() => mOverlayWindow.Close());
         mOverlayWindow = null;
     }
 }