Files
better-genshin-impact/Fischless.GameCapture/GameCaptureFactory.cs
2025-04-15 01:45:48 +08:00

22 lines
686 B
C#

namespace Fischless.GameCapture;
public class GameCaptureFactory
{
public static string[] ModeNames()
{
return Enum.GetNames(typeof(CaptureModes));
}
public static IGameCapture Create(CaptureModes mode)
{
return mode switch
{
CaptureModes.BitBlt => new BitBlt.BitBltCapture(),
// CaptureModes.BitBlt => new BitBlt.BitBltOldCapture(),
CaptureModes.WindowsGraphicsCapture => new Graphics.GraphicsCapture(),
CaptureModes.DwmGetDxSharedSurface => new DwmSharedSurface.SharedSurfaceCapture(),
_ => throw new ArgumentOutOfRangeException(nameof(mode), mode, null),
};
}
}