public void SetTarget(ICaptureTarget target) { try { client.SetTarget(target); } catch (CreateCaptureException e) { Debug.LogWarning("This target cannot be captured!"); } }
public void SetTarget(ICaptureTarget target) { if (IsDisposed) { throw new ObjectDisposedException(nameof(CaptureClient)); } if (CurrentCapture != null) { CurrentCapture.Dispose(); CurrentCapture = null; } if (target != null) { CurrentCapture = new Capture(target); CurrentCapture.Start(); CurrentTarget = target; } }
public Capture(ICaptureTarget target) { switch (target.TargetType) { case CaptureTargetType.Window: SelfPtr = CreateCaptureFromWindow(target.Handle); break; case CaptureTargetType.Monitor: SelfPtr = CreateCaptureFromMonitor(target.Handle); break; default: throw new ArgumentOutOfRangeException(); } if (SelfPtr == IntPtr.Zero) { throw new CreateCaptureException("CreateCapture() returned null. Failed to create Capturing instance."); } }