public ColorManager GetManager(ConcurrentDictionary <Color, ConsoleColor> colorMap, ConcurrentDictionary <ConsoleColor, Color> consoleColorMap, int maxColorChanges, int initialColorChangeCountValue, bool isInCompatibilityMode) { ColorStore colorStore = new ColorStore(colorMap, consoleColorMap); ColorMapper colorMapper = new ColorMapper(); return(new ColorManager(colorStore, colorMapper, maxColorChanges, initialColorChangeCountValue, isInCompatibilityMode)); }
/// <summary> /// Manages the number of different colors that the Windows console is able to display in a given session. /// </summary> /// <param name="colorStore">The ColorStore instance in which the ColorManager will store colors.</param> /// <param name="colorMapper">The ColorMapper instance the ColorManager will use to relate different color /// types to one another.</param> /// <param name="maxColorChanges">The maximum number of color changes allowed by the ColorManager. It's /// necessary to keep track of this, because the Windows console can only display 16 different colors in /// a given session.</param> /// <param name="initialColorChangeCountValue">The number of color changes which have already occurred.</param> public ColorManager(ColorStore colorStore, ColorMapper colorMapper, int maxColorChanges, int initialColorChangeCountValue, bool isInCompatibilityMode) { this.colorStore = colorStore; this.colorMapper = colorMapper; this.colorChangeCount = initialColorChangeCountValue; this.maxColorChanges = maxColorChanges; this.IsInCompatibilityMode = isInCompatibilityMode; }
private static void ReplaceAllColorsWithDefaults(bool isInCompatibilityMode) { Console.colorStore = Console.GetColorStore(); Console.colorManagerFactory = new ColorManagerFactory(); Console.colorManager = Console.colorManagerFactory.GetManager(Console.colorStore, Console.MAX_COLOR_CHANGES, Console.INITIAL_COLOR_CHANGE_COUNT_VALUE, isInCompatibilityMode); // There's no need to do this if in compatibility mode, as more than 16 colors won't be used, anyway. if (!Console.colorManager.IsInCompatibilityMode) { new ColorMapper().SetBatchBufferColors(Console.defaultColorMap); } }
public ColorManager GetManager(ColorStore colorStore, int maxColorChanges, int initialColorChangeCountValue, bool isInCompatibilityMode) { return(new ColorManager(colorStore, new ColorMapper(), maxColorChanges, initialColorChangeCountValue, isInCompatibilityMode)); }