예제 #1
0
        /// <summary>
        /// SetBinaire
        /// </summary>
        /// <param name="caracteres"></param>
        public void SetBinaire(PoliceList caracteres)
        {
            Couleur couleur = Couleur.Get(31, 64, 127);
            Couleur noir    = Couleur.Get(1, 1, 1);

            string heure   = Convert.ToString(DateTime.Now.Hour, 2).PadLeft(6, '0');
            string minute  = Convert.ToString(DateTime.Now.Minute, 2).PadLeft(6, '0');
            string seconde = Convert.ToString(DateTime.Now.Second, 2).PadLeft(6, '0');

            for (int h = 0; h < 6; h++)
            {
                if (heure[h] == '1')
                {
                    GetCoordonnee(Coordonnee.Get(2, h * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(3, h * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(4, h * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                }
                else
                {
                    GetCoordonnee(Coordonnee.Get(2, h * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(3, h * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(4, h * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                }
            }

            for (int m = 0; m < 6; m++)
            {
                if (minute[m] == '1')
                {
                    GetCoordonnee(Coordonnee.Get(9, m * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(10, m * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(11, m * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                }
                else
                {
                    GetCoordonnee(Coordonnee.Get(9, m * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(10, m * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(11, m * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                }
            }

            for (int s = 0; s < 6; s++)
            {
                if (seconde[s] == '1')
                {
                    GetCoordonnee(Coordonnee.Get(16, s * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(17, s * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                    GetCoordonnee(Coordonnee.Get(18, s * 2 + 1, Largeur, Hauteur)).SetColor(couleur);
                }
                else
                {
                    GetCoordonnee(Coordonnee.Get(16, s * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(17, s * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                    GetCoordonnee(Coordonnee.Get(18, s * 2 + 1, Largeur, Hauteur)).SetColor(noir);
                }
            }

            Print(caracteres, 2, 14, couleur);
        }
예제 #2
0
        /// <summary>
        /// SetDate
        /// </summary>
        /// <param name="policeLists"></param>
        /// <param name="heure"></param>
        public void SetDate(PoliceList caracteres)
        {
            Couleur couleur = Couleur.Get(0, 0, 127);

            Print(DateTime.Now.ToString("yyyy"), 4, 1, couleur);
            Print(DateTime.Now.ToString("MM-dd"), 1, 7, couleur);
            Print(caracteres, 2, 13, couleur);
        }
예제 #3
0
        /// <summary>
        /// SetNouvelle
        /// </summary>
        public void SetNouvelle(PoliceList caracteres, string heure)
        {
            Couleur couleur = Couleur.Get(64, 0, 0);

            Print(caracteres, 0, 1, Couleur.Get(32, 32, 127));
            Print(DateTime.Now.ToString("MM-dd"), 1, 7, couleur);
            Print(heure, 2, 13, couleur);
            BackGround();
        }
예제 #4
0
        /// <summary>
        /// SetHorloge
        /// </summary>
        /// <returns></returns>
        public decimal SetHorloge(PoliceList caracteres, decimal cycle, int bg)
        {
            Couleur minuteCouleur = new Couleur {
                R = 39 / 2, G = 144 / 2, B = 176 / 2
            };                                                                     //39,144,176
            Couleur heureCouleur = new Couleur {
                R = 148 / 2, G = 200 / 2, B = 80 / 2
            };                                                                    //148,186,101
            Couleur pointCouleur = new Couleur {
                R = 148 / 5, G = 200 / 5, B = 80 / 5
            };                                                                    //148,186,101

            //5 minutes
            for (int i = 0; i < 60; i += 5)
            {
                GetCoordonnee(GetTempsCoord(i, 10)).SetColor(pointCouleur);
            }

            GetCoordonnee(Coordonnee.Get(9, 0, Largeur, Hauteur)).SetColor(pointCouleur);
            GetCoordonnee(Coordonnee.Get(9, 19, Largeur, Hauteur)).SetColor(pointCouleur);

            cycle = BackGround(bg, cycle);

            Print(caracteres, 1, 13, Couleur.Noir);

            //Aiguille
            int minute = DateTime.Now.Minute;
            int heure  = DateTime.Now.Hour;

            for (int i = 0; i < 9; i++)
            {
                GetCoordonnee(GetTempsCoord(DateTime.Now.Second + DateTime.Now.Millisecond / (double)1000, i)).SetColor(new Couleur {
                    R = 80 / 2, G = 78 / 2, B = 114 / 2
                });                                                                                                                                                  //43,78,114
            }
            for (int i = 0; i < 8; i++)
            {
                GetCoordonnee(GetTempsCoord(minute + DateTime.Now.Second * 1.6 / 100, i)).SetColor(minuteCouleur);
            }

            for (int i = 0; i < 6; i++)
            {
                GetCoordonnee(GetHeureCoord(heure, minute, i)).SetColor(heureCouleur);
            }

            for (int i = 0; i < 9; i++)
            {
                GetCoordonnee(GetTempsCoord((DateTime.Now.Millisecond / (double)100 * 6) - i, 9)).SetColor(new Couleur {
                    R = new List <byte> {
                        128, 64, 32, 16, 8, 8, 8, 4, 4
                    }[i], B = 5
                });
            }

            return(cycle);
        }
예제 #5
0
 /// <summary>
 /// Print
 /// </summary>
 /// <param name="caracteres"></param>
 /// <param name="x"></param>
 /// <param name="y"></param>
 /// <param name="couleur"></param>
 public void Print(PoliceList caracteres, int x, int y, Couleur couleur)
 {
     if (caracteres != null)
     {
         foreach (Police lettre in caracteres.Where(c => c.Point))
         {
             if (GetCoordonnee(lettre.X + x, lettre.Y + y) is Pixel pixel)
             {
                 pixel.SetColor(couleur);
             }
         }
     }
 }
예제 #6
0
        /// <summary>
        /// Caracteres
        /// </summary>
        /// <param name="debut"></param>
        /// <param name="fin"></param>
        /// <returns></returns>
        public PoliceList GetCaracteres(int debut = 0)
        {
            int        i        = 0;
            int        position = 0;
            PoliceList polices  = new PoliceList();

            //Définir le offset de la fraction de lettre qui disparait du coté gauche
            while (position < debut && Count > i)
            {
                if (this[i++].Polices(0, position) is PoliceList lettre)
                {
                    position      += lettre.Largeur;
                    polices.Offset = lettre.Largeur - (position - debut);
                }
            }

            position = 0;

            if (polices.Offset != 0)
            {
                i--;
            }

            //Espace du coté gauche au début du défilement
            while (debut++ < 0)
            {
                polices.AddRange(PoliceList.GetPolice(0, position++, ' '));
            }

            while (position <= Largeur && Count > i)
            {
                if (this[i++].Polices(polices.Offset, position) is PoliceList lettre)
                {
                    polices.AddRange(lettre);
                    position += lettre.Largeur;
                }
            }

            //Fraction de la derniere lettre du coté droit
            if (Count > i && this[i++].Polices(polices.Offset, position) is PoliceList derniereLettre)
            {
                polices.AddRange(derniereLettre);
            }

            return(polices);
        }