Esempio n. 1
0
        protected void DrawLine(int x1, int y1, int x2, int y2, Vector4?col = null)
        {
            SetColor(col ?? Vector4.One);
            SDLRender.RenderDrawLine(_renderer, x1, y1, x2, y2);

            //var dx = x2 - x1;
            //var dy = y2 - y1;
            //var dx1 = Math.Abs(dx);
            //var dy1 = Math.Abs(dy);

            //var px = 2 * dy1 - dx1;
            //var py = 2 * dx1 - dy1;

            //int x;
            //int xe;
            //int y;
            //int ye;

            //if (dy1 <= dx1)
            //{
            //    if (dx >= 0)
            //    {
            //        x = x1;
            //        y = y1;
            //        xe = x2;
            //    }
            //    else
            //    {
            //        x = x2;
            //        y = y2;
            //        xe = x1;
            //    }

            //    Draw(x, y, col);

            //    while (x < xe)
            //    {
            //        x++;
            //        if (px < 0)
            //        {
            //            px += 2 * dy1;
            //        }
            //        else
            //        {
            //            if (dx < 0 && dy < 0 || dx > 0 && dy > 0)
            //            {
            //                y += 1;
            //            }
            //            else
            //            {
            //                y -= 1;
            //            }

            //            px += 2 * (dy1 - dx1);
            //        }

            //        Draw(x, y, col);
            //    }
            //}
            //else
            //{
            //    if (dy >= 0)
            //    {
            //        x = x1;
            //        y = y1;
            //        ye = y2;
            //    }
            //    else
            //    {
            //        x = x2;
            //        y = y2;
            //        ye = y1;
            //    }

            //    Draw(x, y, col);

            //    while (y < ye)
            //    {
            //        y += 1;
            //        if (py <= 0)
            //        {
            //            py += 2 * dx1;
            //        }
            //        else
            //        {
            //            if (dx < 0 && dy < 0 || dx > 0 && dy > 0)
            //            {
            //                x += 1;
            //            }
            //            else
            //            {
            //                x -= 1;
            //            }
            //            py += 2 * (dx1 - dy1);
            //        }
            //        Draw(x, y, col);
            //    }
            //}
        }