public ImageSaver(IFileNamingTemplate fileNaming, CaptureOptions.ImageContainer container) { _fileNaming = fileNaming; var formatAndExt = CaptureOptions.ToValue(container); _format = formatAndExt.Key; _fileExt = formatAndExt.Value; }
public VideoSaver(IFileNamingTemplate fileNaming, CaptureOptions.VideoSize frameSize, CaptureOptions.VideoFPS FPS, CaptureOptions.VideoCompression compression) { KeyValuePair <int, int> size = CaptureOptions.ToValue(frameSize); _fileNaming = fileNaming; _frameWidth = size.Key; _frameHeight = size.Value; _FPS = CaptureOptions.ToValue(FPS); _compression = compression; _buffer = null; _dxPlay = null; }
public Context(DxRender.DxDeviceContext devices, CaptureSettings settings) { IFileNamingTemplate fnt = new DateTimeFileNamingTemplate(settings.OutDirectory, settings.NamePrefix); KeyValuePair <int, int> iSize = CaptureOptions.ToValue(settings.ImageSize); ImageWidth = iSize.Key; ImageHeight = iSize.Value; ImageSaver = new ImageSaver(fnt, settings.ImageContainer); KeyValuePair <int, int> vSize = CaptureOptions.ToValue(settings.VideoSize); VideoWidth = vSize.Key; VideoHeight = vSize.Value; VideoSaver = new VideoSaver(fnt, settings.VideoSize, settings.VideoFPS, settings.VideoCompression); StateProviders = new List <IStateProvider>(); StateProviders.Add(new DelegateStateProvider <bool>(StateType.IsVideoRecording, IsVideoCapturing)); }
static private void GenerateItems <T>(IEnumerable <T> items, T selectedItem, out List <String> names, out int selectedIndex) where T : struct, IComparable { names = new List <String>(); selectedIndex = 0; int i = 0; foreach (T item in items) { if (item is CaptureOptions.ImageSize) { names.Add(CaptureOptions.ToString((CaptureOptions.ImageSize)(Object) item)); } else if (item is CaptureOptions.ImageContainer) { names.Add(CaptureOptions.ToString((CaptureOptions.ImageContainer)(Object) item)); } else if (item is CaptureOptions.VideoCompression) { names.Add(CaptureOptions.ToString((CaptureOptions.VideoCompression)(Object) item)); } else if (item is CaptureOptions.VideoFPS) { names.Add(CaptureOptions.ToString((CaptureOptions.VideoFPS)(Object) item)); } else if (item is CaptureOptions.VideoSize) { names.Add(CaptureOptions.ToString((CaptureOptions.VideoSize)(Object) item)); } else { throw new ApplicationException("Internal error - unknown enumeration"); } if (item.CompareTo(selectedItem) == 0) { selectedIndex = i; } i += 1; } }