public static Tvision2Setup UseDotNetConsoleDriver(this Tvision2Setup tv2, Action <IConsoleDriverOptions> config = null) { var options = new ConsoleDriverOptions(); config?.Invoke(options); var colorManager = new DotNetColorManager(); var driver = new DotNetConsoleDriver(options, colorManager); tv2.Options.UseConsoleDriver(driver); tv2.Builder.ConfigureServices((hc, sc) => { sc.AddSingleton <IConsoleDriver>(driver); sc.AddSingleton <IColorManager>(colorManager); }); return(tv2); }
public static Tvision2Setup UseWin32ConsoleDriver(this Tvision2Setup tv2, Action <IConsoleDriverOptions> config = null) { var options = new ConsoleDriverOptions(); config?.Invoke(options); var driver = new Win32ConsoleDriver(options); var colorManager = driver.SupportsVt100 // TODO: Change for using Win32Vt100ColorManager if allowed ? (IWindowsColorManager) new Win32StdColorManager() : (IWindowsColorManager) new Win32StdColorManager(); driver.AttachColorManager(colorManager); tv2.Options.UseConsoleDriver(driver); tv2.Builder.ConfigureServices((hc, sc) => { sc.AddSingleton <IConsoleDriver>(driver); sc.AddSingleton <IColorManager>(colorManager); }); return(tv2); }