private void OnCaptureStop(CapturableControl control)
 {
   switch (control)
   {
     case CapturableControl.ZOOM: this.OnZoomCaptureStop(); break;
     case CapturableControl.ROTATION: this.OnRotationCaptureStop(); break;
     case CapturableControl.LOOKED_POINT: this.OnLookedPointCaptureStop(); break;
   }
 }
 /// <summary>
 ///   Begin the capture of a control.
 /// </summary>
 /// <param name="control"></param>
 public void StartCapture(CapturableControl control)
 {
   if(this._capturedControls.Contains(control))
   {
     return;
   }
   else
   {
     this._capturedControls.Add(control);
     this.OnCaptureStart(control);
   }
 }
 /// <summary>
 ///   Stop the capture of a control.
 /// </summary>
 /// <param name="control"></param>
 public void StopCapture(CapturableControl control)
 {
   if (this._capturedControls.Contains(control))
   {
     this._capturedControls.Remove(control);
     this.OnCaptureStop(control);
   }
   else
   {
     return;
   }
 }
 public bool IsCaptured(CapturableControl control)
 {
   return this._capturedControls.Contains(control);
 }