Example #1
0
 public override void MuisLos(SchetsControl s, Point p)
 {
     base.MuisLos(s, p); //Gebruik de methode muislos van startpunttool
     Boolean hasErased = false;  //Zet de bool hasErased op false zodat er nog niet gegumt is
     int i;  //Declareer int i voor een latere for-loop
     if(s.schets.actionEraseLimit == -1)
     {
         i = s.schets.actions.Count - 1; //Zetten van int i
     }
     else
     {
         i = s.schets.actionEraseLimit;  //Zetten van int i
     }
     for (; i >= 0; i--)
     {
         if (!(s.schets.actions[i] is FancyEraserAction) && s.schets.actions[i].isInClick(p.X, p.Y)) //Zeggen wat er moet gebeuren als je ergens op klikt en dit geen fancyEraser object is
         {
             if (!s.schets.actions[i].drawAction)    //Kijken of het een tekenactie is of niet, indien niet dan continue
             {
                 continue;
             }
             s.schets.actions[i].drawAction = false; //Zet drawaction op false
             ((FancyEraserAction)s.currentAction).erasedAction = s.schets.actions[i];    //Gum deze action weg
             hasErased = true;   //Zet hasErased op true, dus er is gegumt
             break;  //Break uit de loop
         }
     }
     if (!hasErased) //Als hasErased nog valt is, dan zet currentAction = null
     {
         s.currentAction = null;
     }
 }
Example #2
0
        //Functie die bij indrukken muis variabelen zet
        public void onMouseDown(SchetsControl s, int x, int y, int lineT, Color color)
        {
            startPoint[0] = x;
            startPoint[1] = y;

            lineThickness = lineT;
            actionColor = color;
        }
        // Constructor aangeroepen wanneer een tab in een nieuw window geopend wordt.
        public SchetsWindow(SchetsControl control)
        {
            InitializeComponent();
            tabControl.ItemsSource = tabItems;

            addExistingSchetsControl(control);

            App.schetsWindows.Add(this);
        }
Example #4
0
 public override void MuisDrag(SchetsControl s, Point p)
 {
 }
Example #5
0
 public override void Letter(SchetsControl s, char c)
 {
 }
 // Nieuwe schets aanmaken en toevoegen
 private void addNewSchets()
 {
     currentSchetsControl = new SchetsControl("new(" + schetsControls.Count + ").schep");
     addCurrentSchetsControl();
 }
Example #7
0
 //Functie waarmee wordt bepaald waar er getekend moet worden
 public override void draw(SchetsControl s)
 {
     base.draw(s);
     App.availableTools[4].MuisVast(s, new Point(startPoint[0], startPoint[1]));
     App.availableTools[4].MuisLos(s, new Point(endPoint[0], endPoint[1]));
 }
Example #8
0
 //Functie waarmee wordt bepaald waar er getekend moet worden
 public override void draw(SchetsControl s)
 {
     base.draw(s);
     s.schets.Roteer(cw);
 }
Example #9
0
 public virtual void MuisLos(SchetsControl s, Point p)
 {
 }
Example #10
0
 public abstract void MuisDrag(SchetsControl s, Point p);
Example #11
0
        protected Point startpunt; //Aanmaken van het startpunt en van de kleur waarmee getekent wordt

        #endregion Fields

        #region Methods

        public abstract void Letter(SchetsControl s, char c);
Example #12
0
 //Teken kleine lijntjes tussen de losse punten van de pen
 public override void MuisDrag(SchetsControl s, Point p)
 {
     this.MuisLos(s, p); //Gebruik de methode muislos van lijntool -> dus van tweepunttool
     this.MuisVast(s, p);    //Gebruik de methode muisvast van lijntool -> dus van tweepunttool
 }
 // A user changed tabs, set current control
 private void tabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     // and resize it, just in case.
     if(tabControl.SelectedIndex != -1)                                                  // -1 == no tabs
     {
         currentSchetsControl = schetsControls[tabControl.SelectedIndex];
         currentHost = hosts[tabControl.SelectedIndex];
         MetroWindow_SizeChanged_1(null, null);
         App.colorPickerWindow.refreshColors();
         App.historyWindow.updateHistoryListSource();
     }
 }
Example #14
0
 public override void MuisVast(SchetsControl s, Point p)
 {
     base.MuisVast(s, p);    //Gebruik de methode muisvast uit tweepunttool
 }
Example #15
0
 public virtual void MuisVast(SchetsControl s, Point p)
 {
     kwast = new SolidBrush(s.schets.primaryColor);  //Zeggen welke kleur de kwast is
     startpunt = p;  //Zeggen wat het startpunt is, dus het punt waarop muis ingedrukt wordt
 }
Example #16
0
        public int[] startPoint = new int[2]; //Het declareren van de waarde die als punt wordt gebruikt bij indrukken muis

        #endregion Fields

        #region Methods

        //Functie die de kleur waarmee getekend wordt zet
        public virtual void draw(SchetsControl s)
        {
            s.schets.primaryColor = actionColor;
        }
Example #17
0
        string enteredText; //Declareren van de ingevoerde tekst

        #endregion Fields

        #region Methods

        public override void Letter(SchetsControl s, char c)
        {
            enteredText += c;   //Zeggen dat de ingevoerde tekst een char erbij krijgt

            Graphics g = s.MaakBitmapGraphics();    //Aanmaken graphics voor het tekenen

            Font font = new Font("Tahoma", 40);     //Zeggen welk lettertyp en grootte
            string tekst = c.ToString();
            SizeF sz = g.MeasureString(enteredText, font, this.startpunt, StringFormat.GenericTypographic); //De grootte berekenen
            g.DrawString(enteredText, font, kwast, this.startpunt, StringFormat.GenericTypographic);    //De string tekenen op het scherm

            s.currentAction.endPoint[0] = (int) (s.currentAction.startPoint[0] + sz.Width);     //De endpoint.X variabel maken aan de hoeveelheid ingevulde tekst
            s.currentAction.endPoint[1] = (int)(s.currentAction.startPoint[1] + sz.Height);     //De endpoint.Y variabel maken aan de hoeveelheid ingevulde tekst
            s.Invalidate(); //Teken het scherm opnieuw
        }
Example #18
0
        public List<int[]> points = new List<int[]>(); //Aanmaken van de list waarin de punten staan waarover de lijn is gegaan

        #endregion Fields

        #region Methods

        //Functie waarmee wordt bepaald waar er getekend moet worden
        public override void draw(SchetsControl s)
        {
            base.draw(s);
            App.availableTools[0].MuisVast(s, new Point(startPoint[0], startPoint[1]));
            for(int i = 1; i < points.Count; i++)
            {
                App.availableTools[0].MuisDrag(s, new Point(points[i][0], points[i][1]));
            }
            App.availableTools[0].MuisLos(s, new Point(endPoint[0], endPoint[1]));
        }
Example #19
0
 public override void MuisVast(SchetsControl s, Point p)
 {
     base.MuisVast(s, p);    //Aanroepen van de muisvastmethode van startpunttool
     enteredText = "";   //Zetten dat ingevoerde tekst standaard niks is
 }
Example #20
0
        public string enteredText = ""; //Het declareren en op leeg zetten van de ingevoerde text

        #endregion Fields

        #region Methods

        //Functie waarmee wordt bepaald waar er getekend moet worden
        public override void draw(SchetsControl s)
        {
            App.availableTools[6].MuisVast(s, new Point(startPoint[0], startPoint[1]));
            for (int i = 0; i < enteredText.Length; i++ )
            {
                App.availableTools[6].Letter(s, enteredText[i]);
            }
        }
Example #21
0
        public override void MuisLos(SchetsControl s, Point p)
        {
            base.MuisLos(s, p); //Gebruik de methode muislos van startpunttool

            s.MaakOverlayBitmapGraphics().Clear(Color.Transparent);
            this.Bezig(s.MaakBitmapGraphics(), startpunt, p);   //Roep de methode bezig aan
            s.Invalidate(); //Teken het scherm opnieuw
        }
Example #22
0
        // Tekenen via acties
        public void TekenFromActions(SchetsControl s)
        {
            Color tempPrimary = primaryColor;               // Tijdelijke primaire kleur vastleggen, zodat deze naderhand weer teruggezet kan worden
            App.currentSchetsWindow.currentSchetsControl.Schoon();

            for (int i = 0; i < actions.Count; i++)                             // Starten met alles tekenen
            {
                actions[i].drawAction = true;
            }
            for (int i = 0; i <= actionDrawLimit && i < actions.Count; i++)     // Weggegumde objecten binnen bereik niet tekenen
            {
                if (actions[i] is FancyEraserAction)
                {
                    s.currentAction = actions[i];

                    s.schets.actionEraseLimit = i;
                    ((FancyEraserAction)actions[i]).draw(s);
                    s.schets.actionEraseLimit = -1;
                }
            }
            for (int i = 0; i <= actionDrawLimit && i < actions.Count; i++)     // Overgebleven objecten wèl tekenen
            {
                s.currentAction = actions[i];
                if (actions[i].drawAction && !(actions[i] is FancyEraserAction))
                {
                    actions[i].draw(s);
                }
            }
        }
 // bestaande schets toe laten voegen aan lijst
 private void addExistingSchetsControl(SchetsControl schetsControl)
 {
     currentSchetsControl = schetsControl;
     addCurrentSchetsControl();
 }