Ejemplo n.º 1
0
        private new void MouseMoveCreateNew(object sender, MouseEventArgs e)
        {
            My_Figure fig = core.Picture.GetSelectedFigure(new Point(e.X, e.Y));

            if (((selected_figure == null) || (selected_figure != fig)) && (fig != null))
            {
                if (selected_figure != null)
                {
                    selected_figure.selected = false;
                }
                selected_figure          = fig;
                selected_figure.selected = true;
                core.Form.Invalidate();
            }
            else
            {
                if (selected_figure != null)
                {
                    if (selected_figure == fig)
                    {
                        return;
                    }

                    selected_figure.selected = false;
                    selected_figure          = null;
                    core.Form.Invalidate();
                }
            }
        }
Ejemplo n.º 2
0
        public Point GetNearestPoint(My_Figure figure, Point pt)
        {
            Point res          = pt;
            int?  Min_Distance = null;

            foreach (My_Figure fig in FigureList)
            {
                if (fig.Equals(figure))
                {
                    continue;
                }
                if (fig is My_Path)
                {
                    continue;
                }

                foreach (Point p in fig.Points)
                {
                    int Distance = ((p.X - pt.X) * (p.X - pt.X) + (p.Y - pt.Y) * (p.Y - pt.Y));
                    if ((Min_Distance == null) || (Min_Distance > Distance))
                    {
                        Min_Distance = Distance;
                        res          = p;
                    }
                }
            }
            if (Min_Distance >= 100)
            {
                res = pt;
            }
            return(res);
        }
        public override void UpdateBrush(My_Figure fig)
        {
            Point[]   points = fig.Points;
            Rectangle rect   = new Rectangle(points[0], new Size(0, 0));

            foreach (Point p in points)
            {
                if (p.X < rect.X)
                {
                    rect.X = p.X;
                }
                if (p.Y < rect.Y)
                {
                    rect.Y = p.Y;
                }
                if (p.X > rect.Right)
                {
                    rect.Width = p.X - rect.X;
                }
                if (p.Y > rect.Bottom)
                {
                    rect.Height = p.Y - rect.Y;
                }
            }
            this.Rect = rect;
            Brush     = new LinearGradientBrush(Rect, Color1, Color2, LinearGradientMode);
        }
Ejemplo n.º 4
0
 public PenProperties(My_Figure figure, EntityDrawningCore core)
 {
     InitializeComponent();
     this.pen    = figure.pen;
     this.figure = figure;
     this.core   = core;
     LoadData();
 }
Ejemplo n.º 5
0
 public BrushProperies(My_Figure figure, EntityDrawningCore core)
 {
     InitializeComponent();
     this.brush  = figure.brush;
     this.figure = figure;
     this.core   = core;
     LoadData();
 }
Ejemplo n.º 6
0
        private new void MouseDownCreateNew(object sender, MouseEventArgs e)
        {
            Point pt = new Point(e.X, e.Y);

            if (e.Button == MouseButtons.Left)
            {
                My_Figure fig = core.Picture.GetSelectedFigure(pt);
                if ((fig != null) && (fig != this))
                {
                    if (Figures.Contains(fig) == false)
                    {
                        Figures.Add(fig);
                    }
                }
            }
        }
Ejemplo n.º 7
0
        public My_Figure GetSelectedFigure(Point pt)
        {
            for (int i = FigureList.Count - 1; i >= 0; i--)
            {
                My_Figure figure = FigureList[i];
                bool      res    = figure.IsSelected(pt);
                if (res == true)
                {
                    return(figure);
                }

                if (figure is My_Port)
                {
                    res = (figure as My_Port).TextLabel.IsSelected(pt);
                    if (res == true)
                    {
                        return((figure as My_Port).TextLabel);
                    }
                }
            }
            return(null);
        }
Ejemplo n.º 8
0
 public override void UpdateBrush(My_Figure fig)
 {
     Points = fig.Points;
     Brush  = CreateBrush(WrapMode, points, Color1, Color2);
 }
Ejemplo n.º 9
0
 public virtual void UpdateBrush(My_Figure fig)
 {
 }