Esempio n. 1
0
 private void canvas(Model.Canvas ToDraw, Model.Canvas Canvas)
 {
     if (!ToDraw.Equals(Canvas))
     {
         multiPoint(ToDraw.getPixelList(), Canvas, true);
     }
 }
Esempio n. 2
0
 public void polygon(Model.Polygon Polygon, Model.Canvas Canvas)
 {
     for (int i = 0; i < Polygon.getPixels().Count; i++)
     {
         lineTo(Polygon.getPixel(i).getPosition(), Canvas);
     }
 }
Esempio n. 3
0
 public void multiPoint(List <Model.Pixel> Pixels, Model.Canvas Canvas, bool relativePositions = false)
 {
     for (int i = 0; i < Pixels.Count; i++)
     {
         Model.Pixel pixel = (relativePositions)?getAbsolutePixel(Pixels[i], Canvas): Pixels[i];
         point(pixel, Canvas);
     }
 }
Esempio n. 4
0
                public void lineTo(Point Point, Model.Canvas Canvas)
                {
                    if (Canvas.isLineInClippingArea(Point))
                    {
                        int x, y, t, deltaX, deltaY, incrementX, incrementY, pdx, pdy, ddx, ddy, es, el, err;
                        deltaX = Point.X - Canvas.getPencil().getPosition().X;
                        deltaY = Point.Y - Canvas.getPencil().getPosition().Y;

                        incrementX = Math.Sign(deltaX);
                        incrementY = Math.Sign(deltaY);
                        if (deltaX < 0)
                        {
                            deltaX = -deltaX;
                        }
                        if (deltaY < 0)
                        {
                            deltaY = -deltaY;
                        }

                        if (deltaX > deltaY)
                        {
                            pdx = incrementX; pdy = 0;
                            ddx = incrementX; ddy = incrementY;
                            es  = deltaY; el = deltaX;
                        }
                        else
                        {
                            pdx = 0; pdy = incrementY;
                            ddx = incrementX; ddy = incrementY;
                            es  = deltaX; el = deltaY;
                        }
                        x   = Canvas.getPencil().getPosition().X;
                        y   = Canvas.getPencil().getPosition().Y;
                        err = el / 2;
                        this.point(new Model.Pixel(new Point(x, y), Canvas.getColor()), Canvas);

                        for (t = 0; t < el; ++t)
                        {
                            err -= es;
                            if (err < 0)
                            {
                                err += el;
                                x   += ddx;
                                y   += ddy;
                            }
                            else
                            {
                                x += pdx;
                                y += pdy;
                            }
                            this.point(new Model.Pixel(new Point(x, y), Canvas.getColor()), Canvas);
                        }
                    }
                    else
                    {
                        moveTo(Point, Canvas);
                    }
                }
Esempio n. 5
0
                private Model.Pixel getAbsolutePixel(Model.Pixel Pixel, Model.Canvas Canvas)
                {
                    int x = Canvas.getPencil().getPosition().X + Pixel.getPosition().X;
                    int y = Canvas.getPencil().getPosition().Y + Pixel.getPosition().Y;

                    Pixel.setPosition(new Point(x, y));

                    return(Pixel);
                }
Esempio n. 6
0
                public void text(string text, Model.Canvas Canvas, Model.Font Font)
                {
                    char[] chars = text.ToCharArray();
                    Point  PencilStartPosition = Canvas.getPencil().getPosition();

                    for (int i = 0; i < chars.Length; i++)
                    {
                        if (i != 0)
                        {
                            moveTo(new Point((i * Font.getDimension().width + PencilStartPosition.X), PencilStartPosition.Y), Canvas);
                        }
                        bitmap(Font.getGlyph(chars[i]), Canvas);
                    }
                }
Esempio n. 7
0
 public void moveTo(Point Point, Model.Canvas Canvas)
 {
     Canvas.getPencil().setPosition(Point);
 }
Esempio n. 8
0
 public void point(Model.Pixel Pixel, Model.Canvas Canvas)
 {
     Canvas.setPixel(Pixel);
 }
Esempio n. 9
0
 public void color(char color, Model.Canvas Canvas)
 {
     Canvas.setColor(color);
 }
Esempio n. 10
0
 public void setImage(Model.Canvas Canvas)
 {
     TextPanel.WritePublicText(Canvas.getWorkspace().ToString());
 }
Esempio n. 11
0
 public void bitmap(Model.Bitmap Bitmap, Model.Canvas Canvas)
 {
     multiPoint(Bitmap.getPixels(), Canvas, true);
 }