コード例 #1
0
        /// <summary>
        /// Rysowanie pikiety
        /// </summary>
        /// <param name="g"></param>
        public override void Rysuj(Graphics g)
        {
            Font font = StylSzkicu.PikietaFont;

            if (!KodTerenu.IsValid(_kodTerenu))
            {
                font = StylSzkicu.InvalidFont;
            }

            string tekst = string.Format("{0} {1}", _numerPrzekroju,
                                         string.IsNullOrEmpty(_kodTerenu) ? "" : "(" + _kodTerenu + ")");

            int size = 4;
            int x    = _x - size / 2;
            int y    = _y - size / 2;

            if (_selected)
            {
                g.DrawString(tekst, font, StylSzkicu.SelectedBrush, _x + size * 2, y, _format);
            }
            else
            {
                g.DrawString(tekst, font, StylSzkicu.PikietaBrush, _x + size * 2, y, _format);
            }

            g.FillEllipse(new SolidBrush(Color.DarkGreen), x, y, size, size); //wypełnienie
            g.DrawEllipse(StylSzkicu.TekstPen, x, y, size, size);             //obwódka punktu
        }
コード例 #2
0
ファイル: Droga.cs プロジェクト: damianhintz/SzkicPrzekroju
        /// <summary>
        /// Rysowanie drogi na szkicu
        /// </summary>
        /// <param name="g"></param>
        /// <param name="szkic"></param>
        public override void Rysuj(Graphics g, Szkic szkic)
        {
            if (!AktualizujPikiety(szkic))
            {
                return;
            }

            int x1 = szkic.Obszar.Left, y1 = _startPikieta.Y;
            int x2 = szkic.Obszar.Right, y2 = _endPikieta.Y;

            int w = x2 - x1;       //szerokość
            int h = y2 - y1;       //wysokość
            int y = (y1 + y2) / 2; //środek wysokości

            if (h < 0)
            {
                h = -h;
            }
            if (h == 0)
            {
                h = 2;
            }

            g.DrawString(KodTerenu.OpisDrogi(_endPikieta.KodFormyTerenu),
                         StylSzkicu.TekstFont, StylSzkicu.TekstBrush, x1, y, _format);

            //Rysowanie przerywanych linii drogi
            for (int x = x1; x < x2; x += h / 2) //przesuwamy się w prawo co jedną wysokość
            {
                int dx = x + h / 4;
                if (dx > x2)
                {
                    dx = x2;
                }

                g.DrawLine(StylSzkicu.TekstPen, x, y1, dx, y1);
                g.DrawLine(StylSzkicu.TekstPen, x, y2, dx, y2);
            }
        }
コード例 #3
0
 /// <summary>
 /// Czy jest drogą
 /// </summary>
 /// <returns></returns>
 public bool JestDroga()
 {
     return(KodTerenu.IsDroga(_kodTerenu));
 }
コード例 #4
0
 /// <summary>
 /// Czy jest korytem
 /// </summary>
 /// <returns></returns>
 public bool JestKorytem()
 {
     return(KodTerenu.IsKoryto(_kodTerenu));
 }