From 0dcd742a3c35527386a93e1b1ef761c2aeff8308 Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Mon, 2 Mar 2020 23:30:34 +0200 Subject: Implemented Tango.RemoteDesktop. Implemented png 8 bit quantization. Implemented RasterFrame bounds clipping. Refactored VectorFrame to use indexed colors. --- .../Tango.RemoteDesktop/IScreenCaptureEngine.cs | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Software/Visual_Studio/Tango.RemoteDesktop/IScreenCaptureEngine.cs (limited to 'Software/Visual_Studio/Tango.RemoteDesktop/IScreenCaptureEngine.cs') 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 +{ + /// + /// 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; } + } +} -- cgit v1.3.1