mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-30 21:00:30 +00:00
46 lines
1.5 KiB
C#
46 lines
1.5 KiB
C#
//#define COSMOSDEBUG
|
|
using Cosmos.System.Graphics;
|
|
using Cosmos.HAL;
|
|
|
|
namespace Cosmos.System.Graphics
|
|
{
|
|
public static class FullScreenCanvas
|
|
{
|
|
public enum VideoDriver
|
|
{
|
|
VMWareSVGAIIDriver,
|
|
//VGADriver,
|
|
VBEDriver
|
|
}
|
|
|
|
private static Canvas MyVideoDriver;
|
|
|
|
public static Canvas GetFullScreenCanvas(Mode mode, VideoDriver videoDriver)
|
|
{
|
|
Global.mDebugger.SendInternal("GetFullScreenCanvas() with mode " + mode);
|
|
|
|
if (videoDriver == VideoDriver.VMWareSVGAIIDriver)
|
|
return MyVideoDriver = new SVGAIIScreen(mode);
|
|
else if (videoDriver == VideoDriver.VBEDriver)
|
|
return MyVideoDriver = new VBEScreen(mode);
|
|
|
|
/* We have already got a VideoDriver istance simple change its mode */
|
|
MyVideoDriver.Mode = mode;
|
|
return MyVideoDriver;
|
|
}
|
|
|
|
public static Canvas GetFullScreenCanvas(VideoDriver videoDriver)
|
|
{
|
|
Global.mDebugger.SendInternal($"GetFullScreenCanvas() with default mode");
|
|
|
|
if (videoDriver == VideoDriver.VMWareSVGAIIDriver)
|
|
return MyVideoDriver = new SVGAIIScreen();
|
|
else if (videoDriver == VideoDriver.VBEDriver)
|
|
return MyVideoDriver = new VBEScreen();
|
|
|
|
/* We have already got a VideoDriver istance simple reset its mode to DefaultGraphicMode */
|
|
MyVideoDriver.Mode = MyVideoDriver.DefaultGraphicMode;
|
|
return MyVideoDriver;
|
|
}
|
|
}
|
|
}
|