Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        /// <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;
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
 public ColorManager GetManager(ColorStore colorStore, int maxColorChanges, int initialColorChangeCountValue, bool isInCompatibilityMode)
 {
     return(new ColorManager(colorStore, new ColorMapper(), maxColorChanges, initialColorChangeCountValue, isInCompatibilityMode));
 }