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(); } } }
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); }
public PenProperties(My_Figure figure, EntityDrawningCore core) { InitializeComponent(); this.pen = figure.pen; this.figure = figure; this.core = core; LoadData(); }
public BrushProperies(My_Figure figure, EntityDrawningCore core) { InitializeComponent(); this.brush = figure.brush; this.figure = figure; this.core = core; LoadData(); }
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); } } } }
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); }
public override void UpdateBrush(My_Figure fig) { Points = fig.Points; Brush = CreateBrush(WrapMode, points, Color1, Color2); }
public virtual void UpdateBrush(My_Figure fig) { }