Example #1
0
        void PutLine(int x0, int y0, int x1, int y1)
        {
            var pts = LineTool.GetLinePixels(x0, y0, x1, y1);

            if (Pattern.ContinuousDraw)
            {
                int lstX = x0, lstY = y0;
                for (int i = 1; i < pts.Count; i++)
                {
                    var dx = pts[i].X - x0;
                    var dy = pts[i].Y - y0;
                    if (dx == 0 || dy == 0)
                    {
                        PutPoint(pts[i].X, pts[i].Y, false);
                    }
                    else
                    {
                        PutPoint(x0 + dx, y0, false);
                        PutPoint(pts[i].X, pts[i].Y, false);
                    }
                    x0 = pts[i].X;
                    y0 = pts[i].Y;
                }
            }
            else
            {
                for (int i = 1; i < pts.Count; i++)
                {
                    PutPoint(pts[i].X, pts[i].Y, false);
                }
            }
            Target.UpdateImage();
        }
        void DrawLine()
        {
            var pts = LineTool.GetLinePixels(X1, Y1, X2, Y2);

            for (int i = 0; i < pts.Count; i++)
            {
                PutPoint(pts[i].X, pts[i].Y, false);
            }
            Target.UpdateImage();
        }
        void EraseLine(int x0, int y0, int x1, int y1)
        {
            var pts = LineTool.GetLinePixels(x0, y0, x1, y1);

            for (int i = 1; i < pts.Count; i++)
            {
                ErasePoint(pts[i].X, pts[i].Y, false);
            }
            Target.UpdateImage();
        }