private void animatePanelOut_Click(object sender, EventArgs ev) { if (!m_animator.IsAnimating) { Control panelOut = (sender == takePictureBackButton ? takePicturePanel : infoPanel); if (m_takePictureWithPreviewAsync != null) { WebcamWithPreview camp = confWebcam.SelectedItem as WebcamWithPreview; if (camp != null) { camp.TakePictureEnd(); } } confPanel.Location = new Point(-ClientRectangle.Width, 0); confPanel.Visible = true; confPanel.Focus(); m_animator.Run((EventHandler <AnimationEventArgs>) delegate(object sendr, AnimationEventArgs e) { Invoke((MethodInvoker) delegate() { int newLeft = (int)(Math.Min(e.PercentRemaining * e.PercentRemaining * e.PercentRemaining, 1) * -ClientRectangle.Width); confPanel.Left = newLeft; panelOut.Left = newLeft + ClientRectangle.Width; if (e.IsLastCall) { Text = Application.ProductName + " - " + Language.FormatString(Language.LanguageString.MainForm_Configuration_Title); panelOut.Visible = false; } }); }); } }
private void mainForm_FormClosing(object sender, FormClosingEventArgs e) { if (m_takePictureWithPreviewAsync != null) { WebcamWithPreview camp = confWebcam.SelectedItem as WebcamWithPreview; if (camp != null) { camp.TakePictureEnd(); } } }
// take picture according to settings right now private void TakePicture(object sender, EventArgs e) { Webcam cam = confWebcam.SelectedItem as Webcam; WebcamWithPreview camp = cam as WebcamWithPreview; if ((m_takePictureWithPreviewAsync != null) && (sender == takePicturePicture) && (camp != null)) { camp.TakePictureEnd(); } if ((m_takePictureAsync == null) && (m_takePictureWithPreviewAsync == null) && (cam != null)) { takePictureSaveButton.Enabled = false; cam.Config(confResolution.Resolution); if (camp != null) { takePicturePicture.Text = string.Empty; BindHelp(takePicturePicture, Language.FormatString(Language.LanguageString.MainForm_Help_VideoStreamFreezeTitle), Language.FormatString(Language.LanguageString.MainForm_Help_VideoStreamFreezeText)); camp.DisplacementMap = null; if ((takePictureDisplacement.CurrentPicture != null) && (takePictureDisplacement.CurrentPicture.Picture.Length > 0)) { camp.DisplacementMap = new Bitmap(takePictureDisplacement.CurrentPicture.Picture); } takePicturePicture.DisplayBitmap = new Bitmap(confResolution.Resolution.Size.Width, confResolution.Resolution.Size.Height, confResolution.Resolution.PixelFormat); m_takePictureWithPreviewAsync = new TakePictureWithPreview(camp.TakePicture); m_takePictureWithPreviewAsync.BeginInvoke(takePicturePicture, (AsyncCallback) delegate(IAsyncResult result) { try { m_takePictureWithPreviewAsync.EndInvoke(result); confAcceptButton.Invoke((MethodInvoker) delegate() { takePictureSaveButton.Enabled = true; }); } catch (Exception ex) { try { confAcceptButton.Invoke((MethodInvoker) delegate() { takePicturePicture.Text = Language.FormatString(Language.LanguageString.MainForm_FailedToTakePicture); }); } catch (Exception) { } } finally { m_takePictureWithPreviewAsync = null; } }, null); } else { BindHelp(takePicturePicture, Language.FormatString(Language.LanguageString.MainForm_Help_PictureTitle), Language.FormatString(Language.LanguageString.MainForm_Help_PictureText)); takePicturePicture.Text = Language.FormatString(Language.LanguageString.MainForm_TakePicture_TakingPicture); m_takePictureAsync = new TakePicture(cam.TakePicture); m_takePictureAsync.BeginInvoke((AsyncCallback) delegate(IAsyncResult result) { try { takePicturePicture.DisplayBitmap = m_takePictureAsync.EndInvoke(result); confAcceptButton.Invoke((MethodInvoker) delegate() { takePictureSaveButton.Enabled = true; takePicturePicture.Text = string.Empty; }); } catch (Exception ex) { try { confAcceptButton.Invoke((MethodInvoker) delegate() { takePicturePicture.Text = Language.FormatString(Language.LanguageString.MainForm_FailedToTakePicture); }); } catch (Exception) { } } finally { m_takePictureAsync = null; } }, null); } } }