Remotely/Desktop.Win/Models/DirectXOutput.cs

36 lines
1.0 KiB
C#

using Remotely.Shared.Utilities;
using SharpDX.Direct3D11;
using SharpDX.DXGI;
using System;
namespace Remotely.Desktop.Win.Models
{
public class DirectXOutput : IDisposable
{
public DirectXOutput(Adapter1 adapter,
SharpDX.Direct3D11.Device device,
OutputDuplication outputDuplication,
Texture2D texture2D,
DisplayModeRotation rotation)
{
Adapter = adapter;
Device = device;
OutputDuplication = outputDuplication;
Texture2D = texture2D;
Rotation = rotation;
}
public Adapter1 Adapter { get; }
public SharpDX.Direct3D11.Device Device { get; }
public OutputDuplication OutputDuplication { get; }
public DisplayModeRotation Rotation { get; }
public Texture2D Texture2D { get; }
public void Dispose()
{
Disposer.TryDisposeAll(Adapter, Device, OutputDuplication, Texture2D);
GC.SuppressFinalize(this);
}
}
}