using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Tango.RemoteDesktop { /// /// Represents a screen capture engine. /// /// public interface IScreenCaptureEngine : IDisposable { /// /// Gets or sets the screen capture method. /// ICaptureMethod CaptureMethod { get; set; } /// /// Gets or sets the screen capture region. /// CaptureRegion CaptureRegion { get; set; } /// /// Gets a value indicating whether this instance is currently capturing. /// bool IsStarted { get; } /// /// Gets or sets the frame rate per second. /// int FrameRate { get; set; } /// /// Gets or sets a value indicating whether to include the cursor when capturing. /// bool CaptureCursor { get; set; } /// /// Gets or sets a value indicating whether to enable image comparison. /// bool EnableComparer { get; set; } /// /// Start capturing. /// void Start(); /// /// Stop capturing. /// void Stop(); } /// /// Represents a screen capture engine. /// /// The type of the frame. /// public interface IScreenCaptureEngine : IScreenCaptureEngine where TFrame : IFrame { /// /// Occurs when a new screen frame is available. /// event EventHandler> FrameReceived; /// /// Gets or sets the bitmap comparer. /// IBitmapComparer Comparer { get; set; } } }