Пример #1
0
 public override void MuisVast(SchetsControl s, Point p)
 {
     //Verwijder een element
     s.acties.Gum(p);
     //Redraw vanuit de acties
     s.RedrawFromActions();
 }
Пример #2
0
        public SchetsWin()
        {
            ISchetsTool[] deTools = { new PenTool(),
                                      new LijnTool(),
                                      new RechthoekTool(),
                                      new VolRechthoekTool(),
                                      new EllipseTool(),
                                      new FilledEllipseTool(),
                                      new TekstTool(),
                                      new GumTool(),
                                      new MoveTool() };
            String[] deKleuren = { "Black", "White", "Red", "Green", "Blue"
                                 , "Yellow", "Magenta", "Cyan", "Other"
                                 };

            this.ClientSize = new Size(780, 575);
            huidigeTool = deTools[0];

            schetscontrol = new SchetsControl();
            schetscontrol.Location = new Point(64, 10);
            schetscontrol.MouseDown += (object o, MouseEventArgs mea) =>
                                       {
                                           if(mea.Button != MouseButtons.Left) return;
                                           vast = true;
                                           huidigeTool.MuisVast(schetscontrol, mea.Location);
                                       };
            schetscontrol.MouseMove += (object o, MouseEventArgs mea) =>
                                       {
                                           if(vast)
                                               huidigeTool.MuisDrag(schetscontrol, mea.Location);
                                       };
            schetscontrol.MouseUp += (object o, MouseEventArgs mea) =>
                                       {
                                           if(mea.Button != MouseButtons.Left)
                                           {
                                               if(!vast)
                                                   showContextMenu(mea.Location);
                                               return;
                                           }
                                           vast = false;
                                           huidigeTool.MuisLos(schetscontrol, mea.Location);
                                       };
            schetscontrol.KeyPress += (object o, KeyPressEventArgs kpea) =>
                                       {
                                           huidigeTool.Letter(schetscontrol, kpea.KeyChar);
                                       };
            this.Controls.Add(schetscontrol);

            menuStrip = new MenuStrip();
            menuStrip.Visible = false;
            this.Controls.Add(menuStrip);
            this.maakFileMenu();
            this.maakToolMenu(deTools);
            this.maakAktieMenu(deKleuren);
            this.maakToolButtons(deTools);
            this.maakAktieButtons(deKleuren);
            this.Resize += this.veranderAfmeting;
            this.veranderAfmeting(null, null);
            this.FormClosing += SchetsWin_FormClosing;
        }
Пример #3
0
        public SchetsWin()
        {
            ISchetsTool[] deTools = { new PenTool()
                                    , new LijnTool()
                                    , new RechthoekTool()
                                    , new CirkelTool()
                                    , new VolCirkelTool()
                                    , new VolRechthoekTool()
                                    , new TekstTool()
                                    , new GumTool()
                                    };
            String[] deKleuren = { "Black", "Red", "Green", "Blue"
                                 , "Yellow", "Magenta", "Cyan"
                                 };

            this.ClientSize = new Size(700, 549);
            huidigeTool = deTools[0];

            schetscontrol = new SchetsControl();
            schetscontrol.Location = new Point(64, 10);
            schetscontrol.MouseDown += (object o, MouseEventArgs mea) =>
                                       { veranderd = true; };
            schetscontrol.MouseDown += (object o, MouseEventArgs mea) =>
                                       {
                                           vast = true;
                                           huidigeTool.MuisVast(schetscontrol, mea.Location);
                                       };
            schetscontrol.MouseMove += (object o, MouseEventArgs mea) =>
                                       {
                                           if (vast)
                                               huidigeTool.MuisDrag(schetscontrol, mea.Location);
                                       };
            schetscontrol.MouseUp += (object o, MouseEventArgs mea) =>
                                     {
                                         if (vast)
                                             huidigeTool.MuisLos(schetscontrol, mea.Location);
                                         vast = false;
                                     };
            schetscontrol.KeyPress += (object o, KeyPressEventArgs kpea) =>
                                      {
                                          huidigeTool.Letter(schetscontrol, kpea.KeyChar);
                                      };
            this.Controls.Add(schetscontrol);

            menuStrip = new MenuStrip();
            menuStrip.Visible = false;
            this.Controls.Add(menuStrip);
            this.maakFileMenu();
            this.maakToolMenu(deTools);
            this.maakActieMenu(deKleuren);
            this.maakToolButtons(deTools);
            this.maakActieButtons(deKleuren);
            this.Resize += this.veranderAfmeting;
            this.FormClosing += this.Afsluitvrager;
            this.veranderAfmeting(null, null);
        }
Пример #4
0
 public void MuisVast(SchetsControl s, Point p)
 {
     IElement element = s.Schets.GetElement(p);
     if (p != null)
     {
         s.Schets.Elementen.Remove(element);
         s.Schets.Vernieuw();
         s.Invalidate();
     }
 }
Пример #5
0
        public SchetsWin()
        {
            ISchetsTool[] deTools = { new PenTool()
                                    , new LijnTool()
                                    , new RechthoekTool()
                                    , new VolRechthoekTool()
                                    , new TekstTool()
                                    , new GumTool()
                                    , new OvaalTool()
                                    , new VolOvaalTool()
                                    , new VerplaatsTool()

                                    };

            this.ClientSize = new Size(750, 600);
            huidigeTool = deTools[0];

            schetscontrol = new SchetsControl();
            schetscontrol.Location = new Point(109, 10);
            schetscontrol.MouseDown += (object o, MouseEventArgs mea) =>
                                       {
                                           vast = true;
                                           huidigeTool.MuisVast(schetscontrol, mea.Location);
                                       };
            schetscontrol.MouseMove += (object o, MouseEventArgs mea) =>
                                       {
                                           if (vast)
                                               huidigeTool.MuisDrag(schetscontrol, mea.Location);
                                       };
            schetscontrol.MouseUp += (object o, MouseEventArgs mea) =>
                                     {
                                         if (vast)
                                             huidigeTool.MuisLos(schetscontrol, mea.Location);
                                         vast = false;
                                     };
            schetscontrol.KeyPress += (object o, KeyPressEventArgs kpea) =>
                                      {
                                          huidigeTool.Letter(schetscontrol, kpea.KeyChar);
                                      };
            this.Controls.Add(schetscontrol);

            menuStrip = new MenuStrip();
            menuStrip.Visible = false;
            this.Controls.Add(menuStrip);
            this.maakFileMenu();
            this.maakToolMenu(deTools);
            this.maakAktieMenu();
            this.maakToolButtons(deTools);
            this.maakAktieButtons();
            this.Resize += this.veranderAfmeting;
            this.veranderAfmeting(null, null);
        }
Пример #6
0
 public override void MuisLos(SchetsControl s, Point p)
 {
     for (int i = s.LayerList.Count - 1; i >= 0; i--)
     {
         if (s.LayerList[i].Item1.Collision(s, i, p))
         {
             s.LayerList.RemoveAt(i);
             s.RefreshList();
             s.Invalidate();
             break;
         }
     }
 }
Пример #7
0
 public override void Letter(SchetsControl s, char c)
 {
     LetterElement letter;
     if (c >= 32)
     {
         letter = new LetterElement(startpunt, kwast, c);
         s.VoegElementToe(letter);
         Graphics gr = s.MaakBitmapGraphics();
         letter.teken(gr);
         SizeF sz = letter.Grootte;
         startpunt.X += (int)sz.Width;
     }
 }
Пример #8
0
 public static void SaveActies(string filename, SchetsControl sc)
 {
     List<Element> e = sc.acties.Elementen;
     using (StreamWriter s = new StreamWriter(filename))
     {
         s.WriteLine(sc.Schets.Bitmap.Size.Width.ToString() + "," + sc.Schets.Bitmap.Size.Height.ToString());
         for (int i = 0; i < e.Count; i++)
         {
             //Element naar string converteren
             s.WriteLine(e[i].ToString());
         }
     }
 }
Пример #9
0
        public override void MuisLos(SchetsControl s, Point p)
        {
            base.MuisLos(s, p);

            var buffer = s.Schets.buffer;
            for (var i = buffer.Count - 1; i >= 0; i--)
            {
                var geometry = buffer[i];
                if (geometry.Bevat(p))
                {
                    buffer.RemoveAt(i);
                    s.Schets.Herteken();
                    s.Invalidate();
                    break;
                }
            }
        }
Пример #10
0
        public SchetsWin()
        {
            this.ClientSize = new Size(700, 600);
            huidigeTool = deTools[0];

            schetscontrol = new SchetsControl();
            schetscontrol.Location = new Point(64, 10);
            schetscontrol.MouseDown += (object o, MouseEventArgs mea) =>
                                       {   vast=true;
                                           huidigeTool.MuisVast(schetscontrol, mea.Location);
                                       };
            schetscontrol.MouseMove += (object o, MouseEventArgs mea) =>
                                       {   if (vast)
                                           huidigeTool.MuisDrag(schetscontrol, mea.Location);
                                       };
            schetscontrol.MouseUp   += (object o, MouseEventArgs mea) =>
                                       {   if (vast)
                                           huidigeTool.MuisLos (schetscontrol, mea.Location);
                                           vast = false;
                                       };
            schetscontrol.KeyPress +=  (object o, KeyPressEventArgs kpea) =>
                                       {   huidigeTool.Letter  (schetscontrol, kpea.KeyChar);
                                       };
            this.Controls.Add(schetscontrol);

            menuStrip = new MenuStrip();
            menuStrip.Visible = false;
            this.Controls.Add(menuStrip);
            this.maakFileMenu();
            this.maakEditMenu();
            this.maakToolMenu(deTools);
            this.maakAktieMenu();
            this.maakToolButtons(deTools);
            this.maakAktieButtons();
            this.Resize += this.veranderAfmeting;
            this.veranderAfmeting(null, null);
        }
Пример #11
0
        public override bool Collision(SchetsControl s, int i, Point p)
        {
            double dx, dy, x0, y0, x1, y1, x2, y2, k;
            x0 = s.LayerList[i].Item3.X;
            y0 = s.LayerList[i].Item3.Y;
            x1 = s.LayerList[i].Item4.X;
            y1 = s.LayerList[i].Item4.Y;
            x2 = p.X; y2 = p.Y;
            dx = x1 - x0;
            dy = y1 - y0;

            k = ((x2 - x0) * dx + (y2 - y0) * dy) / (dx * dx + dy * dy);
            if (k > 1)
            {
                k = 1;
            }
            else if (k < 0)
            {
                k = 0;
            }
            dx = (x0 + k * dx) - x2;
            dy = (y0 + k * dy) - y2;
            return dx * dx + dy * dy <= bound * bound * 4;
        }
Пример #12
0
 public override void MuisDrag(SchetsControl s, Point p)
 {
     s.Refresh();
     this.Bezig(s.CreateGraphics(), this.startpunt, p);
 }
Пример #13
0
 //Variant van de startfunctie die geen element toevoegd, voor het verborgen hertekenen
 public void MuisVirtueel(SchetsControl s, Point p)
 {
     startpunt = p;
 }
Пример #14
0
 //Variant die geen element toevoegt
 public override void LetterVirtueel(SchetsControl s, char c)
 {
     if (c >= 32)
     {
         Graphics gr = s.MaakBitmapGraphics();
         Font font = new Font("Tahoma", 40);
         string tekst = c.ToString();
         SizeF sz =
         gr.MeasureString(tekst, font, this.startpunt, StringFormat.GenericTypographic);
         gr.DrawString(tekst, font, kwast,
                                       this.startpunt, StringFormat.GenericTypographic);
         // gr.DrawRectangle(Pens.Black, startpunt.X, startpunt.Y, sz.Width, sz.Height);
         startpunt.X += (int)sz.Width;
         s.Invalidate();
     }
 }
Пример #15
0
 //Variant van de letterfunctie die geen element toevoegd, voor het hertekenen uit acties
 public virtual void LetterVirtueel(SchetsControl s, char c)
 {
 }
Пример #16
0
 public virtual void MuisLos(SchetsControl s, Point p)
 {
     kwast = new SolidBrush(s.PenKleur);
 }
Пример #17
0
 public virtual void MuisVast(SchetsControl s, Point p)
 {
     startpunt = p;
 }
Пример #18
0
 public void MuisRepeat(SchetsControl s, Point p)
 {
     this.MuisVirtueel(s, p);
     //Vul aan element beginpunt toe bij het simuleren van het lijn-tekenen
     s.acties.AddBegin(p);
 }
Пример #19
0
 public override void MuisLos(SchetsControl s, Point p)
 {
     base.MuisLos(s, p);
     this.Compleet(s.MaakBitmapGraphics(), this.startpunt, p);
     s.Invalidate();
 }
Пример #20
0
 public override void Letter(SchetsControl s, char c)
 {
 }
Пример #21
0
 public override void MuisVast(SchetsControl s, Point p)
 {
     base.MuisVast(s, p);
     kwast = Brushes.Gray;
 }
Пример #22
0
 public override void MuisDrag(SchetsControl s, Point p)
 {
     s.Refresh();
     this.Bezig(s.CreateGraphics(), this.startpunt, p);
 }
Пример #23
0
 public abstract void Letter(SchetsControl s, char c);
Пример #24
0
 public abstract void MuisDrag(SchetsControl s, Point p);
Пример #25
0
 public virtual void MuisLos(SchetsControl s, Point p)
 {
     kwast = new SolidBrush(s.PenKleur);
 }
Пример #26
0
 public override void MuisVast(SchetsControl s, Point p)
 {
     base.MuisVast(s, p);
     kwast = Brushes.Gray;
 }
Пример #27
0
 public virtual void MaakLetter(SchetsControl s, Graphics g, Point p1, Point p2, Brush kwast)
 {
 }
Пример #28
0
 public override void MuisDrag(SchetsControl s, Point p)
 {
 }
Пример #29
0
 public override void MuisDrag(SchetsControl s, Point p)
 {
 }
Пример #30
0
        public override void Compleet(SchetsControl s, Point p1, Point p2)
        {
            VolCirkelShape c = new VolCirkelShape(s.PenKleur, Punten2Rechthoek(p1, p2));

            s.AddShape(c);
        }
Пример #31
0
 public override void MuisDrag(SchetsControl s, Point p)
 {
     s.Refresh();
     element.pointB = p;
     element.Draw(s.CreateGraphics(), kwast);
 }
Пример #32
0
 public abstract void Letter(SchetsControl s, char c);
Пример #33
0
 public override void MuisVast(SchetsControl s, Point p)
 {
     base.MuisVast(s, p);
     s.AddShape(new TekstShape(s.PenKleur, startpunt, tekst));
 }
Пример #34
0
 public abstract void MuisDrag(SchetsControl s, Point p);
Пример #35
0
        public override void Compleet(SchetsControl s, Point p1, Point p2)
        {
            RechthoekShape r = new RechthoekShape(s.PenKleur, Punten2Rechthoek(p1, p2));

            s.AddShape(r);
        }
Пример #36
0
 public virtual void MuisVast(SchetsControl s, Point p)
 {
     this.MuisVirtueel(s, p);
     //Maak bij het klikken een nieuw te-gummen element aan
     s.acties.AddElement(this, startpunt, s.PenKleur);
 }
Пример #37
0
        //public override void Bezig(Graphics g, Point p1, Point p2)
        //{
        //    g.DrawLine(MaakPen(Brushes.White, 7), p1, p2);
        //}

        public override void MuisLos(SchetsControl s, Point p)
        {
            s.Schets.VerwijderObject(p, s);
        }
Пример #38
0
 public override void Letter(SchetsControl s, char c)
 {
     this.LetterVirtueel(s, c);
     if (c != ' ')
         s.acties.AddChar(c);
 }
Пример #39
0
 public override void Compleet(SchetsControl s, Point p1, Point p2)
 {
     s.AddShape(new LijnShape(s.PenKleur, p1, p2));
 }
Пример #40
0
 public override void MuisVast(SchetsControl s, Point p)
 {
     //Herplaats een element
     s.acties.Til(p);
     //Redraw vanuit de acties om nieuwe volgorde aan te houden
     s.RedrawFromActions();
 }
Пример #41
0
        public SchetsWin()
        {
            ISchetsTool[] deTools = { new PenTool()
                                      , new LijnTool()
                                      , new RechthoekTool()
                                      , new VolRechthoekTool()
                                      , new TekstTool()
                                      , new GumTool()
                                      , new CirkelTool()
                                      , new VolCirkelTool() };

            List <string> deKleuren = new List <string>();

            foreach (PropertyInfo p in typeof(Color).GetProperties())
            {
                if (p.PropertyType.FullName == "System.Drawing.Color")
                {
                    deKleuren.Add(p.Name);
                }
            }

            int[] Diktes = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20 };

            this.ClientSize = new Size(700, 520);
            huidigeTool     = deTools[0];

            schetscontrol           = new SchetsControl();
            schetscontrol.Location  = new Point(64, 10);
            schetscontrol.BackColor = Color.White;               //!!

            schetscontrol.MouseDown += (object o, MouseEventArgs mea) =>
            {
                vast = true;
                huidigeTool.MuisVast(schetscontrol, mea.Location);
            };
            schetscontrol.MouseMove += (object o, MouseEventArgs mea) =>
            {
                if (vast)
                {
                    huidigeTool.MuisDrag(schetscontrol, mea.Location);
                }
            };
            schetscontrol.MouseUp += (object o, MouseEventArgs mea) =>
            {
                if (vast)
                {
                    huidigeTool.MuisLos(schetscontrol, mea.Location);
                }
                vast = false;
            };
            schetscontrol.KeyPress += (object o, KeyPressEventArgs kpea) =>
            {
                huidigeTool.Letter(schetscontrol, kpea.KeyChar);
            };
            this.Controls.Add(schetscontrol);

            menuStrip         = new MenuStrip();
            menuStrip.Visible = true;
            this.Controls.Add(menuStrip);
            this.maakFileMenu();
            this.maakToolMenu(deTools);
            this.maakAktieMenu(deKleuren, Diktes);          //!
            this.maakToolButtons(deTools);
            this.maakAktieButtons(deKleuren, Diktes);       //!
            this.Resize += this.veranderAfmeting;
            this.veranderAfmeting(null, null);
        }
Пример #42
0
        public override void MuisLos(SchetsControl s, Point p)
        {
            base.MuisLos(s, p);
            this.Compleet(s.MaakBitmapGraphics(), this.startpunt, p);
            s.Invalidate();

            //Voeg een eindpunt toe aan het gemaakte element
            s.acties.AddEind(p);
        }
Пример #43
0
 public virtual void MuisVast(SchetsControl s, Point p)
 {
     startpunt = p;
 }
Пример #44
0
 public override void Letter(SchetsControl s, char c)
 {
 }
Пример #45
0
 public override void MuisLos(SchetsControl s, Point p)
 {
     base.MuisLos(s, p);
     this.Compleet(s.MaakBitmapGraphics(), this.startpunt, p);
     s.Invalidate();
 }
Пример #46
0
 public override void MuisLos(SchetsControl s, Point p)
 {
 }
Пример #47
0
 public override void MuisDrag(SchetsControl s, Point p)
 {
     this.MuisLos(s, p);
     this.MuisVast(s, p);
 }
Пример #48
0
 public override void MuisDrag(SchetsControl s, Point p)
 {
     this.MuisLos(s, p);
     this.MuisRepeat(s, p);
 }
Пример #49
0
 public abstract void Compleet(SchetsControl s, Point p1, Point p2);