Exemplo n.º 1
0
        private ConsoleColor languageBaseColorToConsoleColor(LanguageBaseColor lgb)
        {
            int r = 0;

            if (lgb.B >= 256 / 3)
            {
                r |= 1;
            }
            if (lgb.G >= 256 / 3)
            {
                r |= 2;
            }
            if (lgb.R >= 256 / 3)
            {
                r |= 4;
            }
            int max = Math.Max(lgb.B, Math.Max(lgb.G, lgb.R));

            if (max < 256 / 3)
            {
                r = 0;
            }
            else if (max < 256 / 3 * 2)
            { /* do nothing */
            }
            else
            {
                r += 8;
            }
            return((ConsoleColor)r);
        }
Exemplo n.º 2
0
        private LanguageBaseColor consoleColorToLanguageBaseColor(ConsoleColor cc)
        {
            var  r = new LanguageBaseColor();
            byte v;

            if ((int)cc >= 8)
            {
                v = 255;
            }
            else
            {
                v = 128;
            }
            if (((int)cc & 1) != 0)
            {
                r.B = v;
            }
            if (((int)cc & 2) != 0)
            {
                r.G = v;
            }
            if (((int)cc & 4) != 0)
            {
                r.R = v;
            }
            r.A = 255;
            return(r);
        }
Exemplo n.º 3
0
        public async override Task <LanguageBaseColor> SetBackColorAsync(LanguageBaseColor color)
        {
            await Task.Delay(0);    // dummy

            var old = Console.BackgroundColor;

            if (color != null)
            {
                Console.BackgroundColor = languageBaseColorToConsoleColor(color);
            }
            return(consoleColorToLanguageBaseColor(old));
        }