Remotely/Desktop.Core/Interfaces/IScreenCapturer.cs

34 lines
765 B
C#

using Remotely.Shared;
using SkiaSharp;
using System;
using System.Collections.Generic;
using System.Drawing;
namespace Remotely.Desktop.Core.Interfaces
{
public interface IScreenCapturer : IDisposable
{
event EventHandler<Rectangle> ScreenChanged;
bool CaptureFullscreen { get; set; }
Rectangle CurrentScreenBounds { get; }
string SelectedScreen { get; }
IEnumerable<string> GetDisplayNames();
SKRect GetFrameDiffArea();
Result<SKBitmap> GetImageDiff();
Result<SKBitmap> GetNextFrame();
int GetScreenCount();
int GetSelectedScreenIndex();
Rectangle GetVirtualScreenBounds();
void Init();
void SetSelectedScreen(string displayName);
}
}