public void Export() { try { AviExportComponent.Launch(this.Context.DesktopWindow, (ClipboardItem)this.Context.SelectedClipboardItems[0]); } catch (Exception e) { ExceptionHandler.Report(e, SR.MessageExportToVideoFailed, Context.DesktopWindow); } }
internal static void Launch(IDesktopWindow desktopWindow, ClipboardItem clipboardItem) { Platform.CheckForNullReference(clipboardItem, "clipboardItem"); IDisplaySet displaySet = clipboardItem.Item as IDisplaySet; if (displaySet == null) { throw new ArgumentException("The item being exported must be a display set."); } if (_progressComponentShelf != null) { desktopWindow.ShowMessageBox(SR.MessageVideoExportStillRunning, MessageBoxActions.Ok); return; } if (displaySet.PresentationImages.Count <= 1) { desktopWindow.ShowMessageBox(SR.MessageDisplaySetTooFewImagesForVideo, MessageBoxActions.Ok); return; } AviExportComponent component = new AviExportComponent(clipboardItem); component.LoadSettings(); if (component.SelectedCodec == null) { desktopWindow.ShowMessageBox(SR.MessageNoAcceptableCodecsInstalled, MessageBoxActions.Ok); return; } // give the width and height values from the item to be exported foreach (IPresentationImage image in (displaySet.PresentationImages)) { if (image is IImageGraphicProvider) { IImageGraphicProvider imageGraphicProvider = (IImageGraphicProvider)image; component.Height = imageGraphicProvider.ImageGraphic.Rows; component.Width = imageGraphicProvider.ImageGraphic.Columns; break; } } if (ApplicationComponentExitCode.Accepted != LaunchAsDialog(desktopWindow, component, SR.TitleExportToVideo)) { return; } component.Export(); }