diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-03-02 23:30:34 +0200 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-03-02 23:30:34 +0200 |
| commit | 0dcd742a3c35527386a93e1b1ef761c2aeff8308 (patch) | |
| tree | d5adb3fee35e73af95fa5d68b5316d25522471de /Software/Visual_Studio/Tango.RemoteDesktop/IScreenCaptureEngine.cs | |
| parent | 1a7fb274158f8a0e279aef26206a65fefac8c4c3 (diff) | |
| download | Tango-0dcd742a3c35527386a93e1b1ef761c2aeff8308.tar.gz Tango-0dcd742a3c35527386a93e1b1ef761c2aeff8308.zip | |
Implemented Tango.RemoteDesktop.
Implemented png 8 bit quantization.
Implemented RasterFrame bounds clipping.
Refactored VectorFrame to use indexed colors.
Diffstat (limited to 'Software/Visual_Studio/Tango.RemoteDesktop/IScreenCaptureEngine.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.RemoteDesktop/IScreenCaptureEngine.cs | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.RemoteDesktop/IScreenCaptureEngine.cs b/Software/Visual_Studio/Tango.RemoteDesktop/IScreenCaptureEngine.cs new file mode 100644 index 000000000..6b5db2fbe --- /dev/null +++ b/Software/Visual_Studio/Tango.RemoteDesktop/IScreenCaptureEngine.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.RemoteDesktop +{ + /// <summary> + /// Represents a screen capture engine. + /// </summary> + /// <seealso cref="System.IDisposable" /> + public interface IScreenCaptureEngine : IDisposable + { + /// <summary> + /// Gets or sets the screen capture method. + /// </summary> + ICaptureMethod CaptureMethod { get; set; } + + /// <summary> + /// Gets or sets the screen capture region. + /// </summary> + CaptureRegion CaptureRegion { get; set; } + + /// <summary> + /// Gets a value indicating whether this instance is currently capturing. + /// </summary> + bool IsStarted { get; } + + /// <summary> + /// Gets or sets the frame rate per second. + /// </summary> + int FrameRate { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether to include the cursor when capturing. + /// </summary> + bool CaptureCursor { get; set; } + + /// <summary> + /// Gets or sets a value indicating whether to enable image comparison. + /// </summary> + bool EnableComparer { get; set; } + + /// <summary> + /// Start capturing. + /// </summary> + void Start(); + + /// <summary> + /// Stop capturing. + /// </summary> + void Stop(); + } + + /// <summary> + /// Represents a screen capture engine. + /// </summary> + /// <typeparam name="TFrame">The type of the frame.</typeparam> + /// <seealso cref="System.IDisposable" /> + public interface IScreenCaptureEngine<TFrame> : IScreenCaptureEngine where TFrame : IFrame + { + /// <summary> + /// Occurs when a new screen frame is available. + /// </summary> + event EventHandler<ScreenCaptureFrameReceivedEventArgs<TFrame>> FrameReceived; + + /// <summary> + /// Gets or sets the bitmap comparer. + /// </summary> + IBitmapComparer<TFrame> Comparer { get; set; } + } +} |
