55 lines
2.4 KiB
C#
55 lines
2.4 KiB
C#
using System.Collections.Generic;
|
|
using SlimDX.DXGI;
|
|
using System.Drawing;
|
|
namespace Aiwaz.Contracts
|
|
{
|
|
public interface IDeviceEnumerator
|
|
{
|
|
bool HasEnumerated { get; }
|
|
List<IDisplayAdapter> DeviceAdapters { get; }
|
|
|
|
bool TryEnumerate(uint? argDesiredWidth, uint? argDesiredHeight, uint? argDesiredRefreshRate, DataFormat? argDesiredFormat);
|
|
IDisplayAdapter FindBestAdapter(bool argAllowToEnumerate, uint? argDesiredWidth, uint? argDesiredHeight, uint? argDesiredRefreshRate, DataFormat? argDesiredFormat);
|
|
IOutputDevice FindBestOutput(bool argAllowToEnumerate, uint? argDesiredWidth, uint? argDesiredHeight, uint? argDesiredRefreshRate, DataFormat? argDesiredFormat);
|
|
IDisplayMode FindBestDisplayMode(bool argAllowToEnumerate, uint? argDesiredWidth, uint? argDesiredHeight, uint? argDesiredRefreshRate, DataFormat? argDesiredFormat);
|
|
|
|
void Verbose();
|
|
};
|
|
|
|
public interface IDisplayAdapter
|
|
{
|
|
long DedicatedSystemMemory { get; }
|
|
long DedicatedVideoMemory { get; }
|
|
long SharedSystemMemory { get; }
|
|
List<IOutputDevice> DeviceOutputs { get; }
|
|
bool HasEnumerated { get; }
|
|
Adapter Adapter { get; }
|
|
string Name { get; }
|
|
|
|
bool TryEnumerate(uint? argDesiredWidth, uint? argDesiredHeight, uint? argDesiredRefreshRate, DataFormat? argDesiredFormat);
|
|
IOutputDevice FindBestOutput(bool argAllowToEnumerate, uint? argDesiredWidth, uint? argDesiredHeight, uint? argDesiredRefreshRate, DataFormat? argDesiredFormat);
|
|
IDisplayMode FindBestDisplayMode(bool argAllowToEnumerate, uint? argDesiredWidth, uint? argDesiredHeight, uint? argDesiredRefreshRate, DataFormat? argDesiredFormat);
|
|
};
|
|
|
|
public interface IOutputDevice
|
|
{
|
|
bool IsAttachedToDesktop { get; }
|
|
object MonitorHandle { get; }
|
|
Rectangle DesktopCoordinates { get; }
|
|
List<IDisplayMode> DisplayModes { get; }
|
|
bool HasEnumerated { get; }
|
|
string Name { get; }
|
|
|
|
bool TryEnumerate(uint? argDesiredWidth, uint? argDesiredHeight, uint? argDesiredRefreshRate, DataFormat? argDesiredFormat);
|
|
IDisplayMode FindBestDisplayMode(bool argAllowToEnumerate, uint? argDesiredWidth, uint? argDesiredHeight, uint? argDesiredRefreshRate, DataFormat? argDesiredFormat);
|
|
};
|
|
|
|
public interface IDisplayMode
|
|
{
|
|
uint Width { get; }
|
|
uint Height { get; }
|
|
uint RefreshRate { get; }
|
|
DataFormat Format { get; }
|
|
};
|
|
}
|