private void animatePanelIn_Click(object sender, EventArgs ev)
{
// animate in :)
if ((confWebcam.SelectedItem is Webcam) || (sender != confTakePictureButton)) {
if (!m_animator.IsAnimating) {
Control panelIn = (sender == confTakePictureButton ? takePicturePanel : infoPanel);
takePictureSaveButton.Enabled = false;
panelIn.Location = new Point(ClientRectangle.Width, 0);
panelIn.Visible = true;
panelIn.Focus();
if (panelIn == takePicturePanel) {
takePictureDisplacement.Visible = false;
if (confWebcam.SelectedItem is WebcamWithPreview) {
takePictureDisplacement.Visible = true;
takePictureDisplacement.ResetPosition();
}
}
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);
panelIn.Left = newLeft;
confPanel.Left = -(ClientRectangle.Width - newLeft);
if (e.IsLastCall) {
if (panelIn == takePicturePanel) {
Text = Application.ProductName + " - " + Language.FormatString(Language.LanguageString.MainForm_TakePicture_Title);
TakePicture(null, null);
} else {
Text = Application.ProductName + " - " + Language.FormatString(Language.LanguageString.MainForm_Information_Title);
}
confPanel.Visible = false;
}
});
});
}
}
}