コード例 #1
0
        public void DrawSmileFace(MouseEventArgs e)
        {
            IDrawSmileFace s      = new SmileFace();
            var            points = s.ReturnPoints(e.Location.X, e.Location.Y);

            if (points.Item4.X + IDrawSmileFace.FaceSizeWidth > pictureBox1.Width || points.Item4.X < 0 ||
                points.Item4.Y > pictureBox1.Height ||
                points.Item4.Y < 0)
            {
                MessageBox.Show("Error, Click in another place");
                return;
            }

            var so = new SolidBrush(Color.Black);

            g.DrawEllipse(Pens.Blue, points.Item4.X, points.Item4.Y, IDrawSmileFace.FaceSizeWidth,
                          IDrawSmileFace.FaceSizeWidth);
            g.FillEllipse(so, points.Item1.X, points.Item1.Y, IDrawSmileFace.EyeSizeWidth, IDrawSmileFace.EyeSizeWidth);
            g.FillEllipse(so, points.Item2.X, points.Item2.Y, IDrawSmileFace.EyeSizeWidth, IDrawSmileFace.EyeSizeWidth);
            g.DrawArc(Pens.Blue, points.Item3.X, points.Item3.Y, IDrawSmileFace.FaceSizeWidth,
                      IDrawSmileFace.FaceSizeWidth,
                      IDrawSmileFace.SmileDegree, IDrawSmileFace.SmileDegreeSecond);
            shapes.Add(s);
        }
コード例 #2
0
        public void AddLevel2Control(Point p)
        {
            switch (ControlTag)
            {
            case 21:
            {
                Rectangle rect = new Rectangle();

                rect.Fill   = Brushes.LightGray;
                rect.Stroke = Brushes.Black;

                rect.Width  = 128;
                rect.Height = 128;

                rect.Focusable = true;

                rect.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(rect, -1);
                Canvas.SetLeft(rect, p.X - rect.DesiredSize.Width / 2);
                Canvas.SetTop(rect, p.Y - rect.DesiredSize.Height / 2);

                AddEvents(rect);
                DesignCanvas.Children.Add(rect);
            }
            break;

            case 22:
            {
                Ellipse ellipse = new Ellipse();

                ellipse.Fill   = Brushes.LightGray;
                ellipse.Stroke = Brushes.Black;

                ellipse.Width  = 128;
                ellipse.Height = 128;

                ellipse.Focusable = true;


                ellipse.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(ellipse, -1);
                Canvas.SetLeft(ellipse, p.X - ellipse.DesiredSize.Width / 2);
                Canvas.SetTop(ellipse, p.Y - ellipse.DesiredSize.Height / 2);

                AddEvents(ellipse);
                DesignCanvas.Children.Add(ellipse);
            }
            break;

            case 23:
            {
                Line line = new Line();

                line.Stroke          = Brushes.Black;
                line.StrokeThickness = 3;
                line.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                line.X1 = Math.Round(p.X, 1) - 100;
                line.Y1 = Math.Round(p.Y, 1);
                line.X2 = Math.Round(p.X, 1) + 100;
                line.Y2 = Math.Round(p.Y, 1) + 0;
                Panel.SetZIndex(line, 0);

                AddEvents(line);
                DesignCanvas.Children.Add(line);
            }
            break;


            case 24:
            {
                Hexagon con = new Hexagon();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 144;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 25:
            {
                Controls.Triangle con = new Controls.Triangle();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;


            case 216:
            {
                RightAngledTriangle con = new RightAngledTriangle();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 217:
            {
                RightAngledTriangleSE con = new RightAngledTriangleSE();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 218:
            {
                Chevron con = new Chevron();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 219:
            {
                Drop con = new Drop();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 112;
                con.Height = 192;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 26:
            {
                Star con = new Star();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 128;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 27:
            {
                Diamond con = new Diamond();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 28:
            {
                Heart con = new Heart();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 160;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 29:
            {
                Cloud con = new Cloud();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 210:
            {
                Arrow con = new Arrow();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 211:
            {
                SmileFace con = new SmileFace();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 128;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 212:
            {
                Speech con = new Speech();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 213:
            {
                Ribbon con = new Ribbon();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 128;
                con.Height = 192;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 214:
            {
                CheckMark con = new CheckMark();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 215:
            {
                Cross con = new Cross();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 128;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 220:
            {
                Cogwheel con = new Cogwheel();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 128;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;
            }
        }