private void DrawVerticalLine(int x) { Point lineStartPoint = PointToScreen(new Point(x, 0)); Point lineEndPoint = PointToScreen(new Point(x, Height)); ControlPaint.DrawReversibleLine(lineStartPoint, lineEndPoint, Color.Black); }
public override void OnMouseUp(int x, int y) { Point scrollOffset = Ctrl.ScrollOffset; Point startPoint = Ctrl.PointToScreen(new Point(startMouseX - scrollOffset.X + 20, startMouseY - scrollOffset.Y + 20)); ControlPaint.DrawReversibleLine(startPoint, Ctrl.PointToScreen(new Point(endMouseX - scrollOffset.X + 20, endMouseY - scrollOffset.Y + 20)), Color.Black); HitTestResult end = Ctrl.Document.HitTest(x, y); if ((end == null) || (!(end.activity is BaseActivity))) { MessageBox.Show("流向没有结束在节点上"); } else if (end.activity is StartActivity) { MessageBox.Show("流向不能结束于开始节点"); } else { LineActivity line = new LineActivity(startActivity, end.activity as BaseActivity); line.AlignToGrid(); this.Ctrl.Document.ActivityList.Add(line); this.Ctrl.Document.Lines.Add(line); } Ctrl.RedrawAll(); Ctrl.CurrentTool = new SelectorTool(); }
private static void DrawReversibleLineEx(Point A, Point B, Color backColor, int spacing) { float offsetX, offsetY; offsetX = B.X - A.X; offsetY = B.Y - A.Y; float distance = (float)Math.Sqrt(offsetX * offsetX + offsetY * offsetY); float deltaX, deltaY; deltaX = offsetX / distance * spacing; deltaY = offsetY / distance * spacing; for (int i = 0; i < distance / spacing; ++i) { if (i / 2 * 2 != i) { continue; } PointF a, b; a = new PointF(A.X + deltaX * i, A.Y + deltaY * i); b = new PointF(A.X + deltaX * (i + 1), A.Y + deltaY * (i + 1)); ControlPaint.DrawReversibleLine(Point.Round(a), Point.Round(b), backColor); } }
private void OnMouseUp(Object sender, MouseEventArgs e) { var thisform = this.target; Graphics g = thisform.CreateGraphics(); Pen p = new Pen(Color.Blue, 2); if (drawAction == DrawAction.Line) { ControlPaint.DrawReversibleLine(thisform.PointToScreen(ps), thisform.PointToScreen(pe), Color.Black); g.DrawLine(p, ps, pe); } else { ControlPaint.DrawReversibleFrame(thisform.RectangleToScreen(SelectRect), Color.Black, FrameStyle.Dashed); g.DrawRectangle(p, SelectRect); } g.Dispose(); if (OnFinished != null) { OnFinished(this, new RectangleArgs() { Rectangle = SelectRect }); } }
private void c1Chart1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { if (moving) { double x = 0, y = 0; if (trendChart.ChartGroups[0].CoordToDataCoord(e.X, e.Y, ref x, ref y)) { if (y > 100) { y = 100; } else if (y < 0) { y = 0; } trendChart.ChartGroups[0].ChartData[move_si].X[move_pi] = x; trendChart.ChartGroups[0].ChartData[move_si].Y[move_pi] = y; CalculateErrors(); } trendChart.Cursor = Cursors.Default; moving = false; if (!prev.IsEmpty) { Point pt1 = trendChart.PointToScreen(move_pt); ControlPaint.DrawReversibleLine(pt1, prev, trendChart.ChartArea.PlotArea.BackColor); prev = Point.Empty; } } }
private void DrawVerticalLine(int x) { ControlPaint.DrawReversibleLine( PointToScreen(new Point(x, 0)), PointToScreen(new Point(x, Height)), Color.Black); }
private void DrawTerminalSegments(System.Drawing.Point prevPoint, System.Drawing.Point curPoint) { if (m_Points.Count == 2) { var graph = MapImage.CreateGraphics(); graph.DrawLine(new Pen(Color.Black), m_Points[0], m_Points[1]); } if (curPoint != System.Drawing.Point.Empty) { ControlPaint.DrawReversibleLine(MapImage.PointToScreen(curPoint), MapImage.PointToScreen(m_Points[0]), Color.Black); if (m_Points.Count > 1) { ControlPaint.DrawReversibleLine(MapImage.PointToScreen(curPoint), MapImage.PointToScreen(m_Points[m_Points.Count - 1]), Color.Black); } } if (prevPoint != System.Drawing.Point.Empty) { ControlPaint.DrawReversibleLine(MapImage.PointToScreen(prevPoint), MapImage.PointToScreen(m_Points[0]), Color.Black); if (m_Points.Count > 1) { ControlPaint.DrawReversibleLine(MapImage.PointToScreen(prevPoint), MapImage.PointToScreen(m_Points[m_Points.Count - 1]), Color.Black); } } }
public override void MouseMove(object sender, MouseEventArgs e) { if (IsMouseDown) { Panel panel = (Panel)sender; if (this.Step == 0) { } else if (this.Step == 1) { if (!this.ToPoint.IsEmpty) { ControlPaint.DrawReversibleLine(panel.PointToScreen(FromPoint), panel.PointToScreen(ToPoint), Color.Red); } ToPoint = new Point(e.X, e.Y); ControlPaint.DrawReversibleLine(panel.PointToScreen(FromPoint), panel.PointToScreen(ToPoint), Color.Red); } else if (this.Step == 2) { if (!this.Point3.IsEmpty) { ControlPaint.DrawReversibleLine(panel.PointToScreen(FromPoint), panel.PointToScreen(Point3), Color.Red); ControlPaint.DrawReversibleLine(panel.PointToScreen(ToPoint), panel.PointToScreen(Point3), Color.Red); } Point3 = new Point(e.X, e.Y); ControlPaint.DrawReversibleLine(panel.PointToScreen(FromPoint), panel.PointToScreen(Point3), Color.Red); ControlPaint.DrawReversibleLine(panel.PointToScreen(ToPoint), panel.PointToScreen(Point3), Color.Red); } } }
public override void OnMouseUp(int x, int y) { Point scrollOffset = Ctrl.ScrollOffset; Point startPoint = Ctrl.PointToScreen(new Point(startMouseX - scrollOffset.X + 20, startMouseY - scrollOffset.Y + 20)); ControlPaint.DrawReversibleLine(startPoint, Ctrl.PointToScreen(new Point(endMouseX - scrollOffset.X + 20, endMouseY - scrollOffset.Y + 20)), Color.Black); HitTestResult end = Ctrl.Document.HitTest(x, y); //if ((end == null) || (!(end.control is BaseControl))) //{ // MessageBox.Show("流向没有结束在节点上"); //} //else //{ Point sPoint = new Point(startMouseX - scrollOffset.X, startMouseY - scrollOffset.Y); Point ePoint = new Point(endMouseX - scrollOffset.X, endMouseY - scrollOffset.Y); LineControl line = new LineControl(sPoint, ePoint); line.AlignToGrid(); this.Ctrl.Document.ControlList.Add(line); this.Ctrl.Document.Lines.Add(line); //} Ctrl.RedrawAll(); Ctrl.CurrentTool = new SelectorTool(); }
public override void OnMouseMove(int x, int y) { if (x == startMouseX || y == startMouseY) { //在屏幕上画线 Point scrollOffset = Ctrl.ScrollOffset; Point startPoint = Ctrl.PointToScreen(new Point(startMouseX - scrollOffset.X + 20, startMouseY - scrollOffset.Y + 20)); ControlPaint.DrawReversibleLine(startPoint, Ctrl.PointToScreen(new Point(endMouseX - scrollOffset.X + 20, endMouseY - scrollOffset.Y + 20)), Color.Black); Point endPoint = Ctrl.PointToScreen(new Point(x - scrollOffset.X + 20, y - scrollOffset.Y + 20)); ControlPaint.DrawReversibleLine(startPoint, endPoint, Color.Black); } else { //擦除 ControlPaint.DrawReversibleFrame(theRectangle, Color.Black, FrameStyle.Dashed); //在屏幕上画虚线框 Point scrollOffset = Ctrl.ScrollOffset; Point startPoint = Ctrl.PointToScreen(new Point(startMouseX - scrollOffset.X + 20, startMouseY - scrollOffset.Y + 20)); Point endPoint = Ctrl.PointToScreen(new Point(x - scrollOffset.X + 20, y - scrollOffset.Y + 20)); int width = endPoint.X - startPoint.X; int height = endPoint.Y - startPoint.Y; theRectangle = new Rectangle(startPoint.X, startPoint.Y, width, height); ControlPaint.DrawReversibleFrame(theRectangle, Color.Black, FrameStyle.Dashed); } setEndMousePosition(x, y); }
public void Redirect(PaintEventArgs e, Point end2) { ControlPaint.DrawReversibleLine(Point.Round(End1), Point.Round(End2), EdgeColor); End2 = end2; ControlPaint.DrawReversibleLine(Point.Round(End1), Point.Round(End2), EdgeColor); }
private void DrawXSplitter() { int x = GetSplitX(); Point p1 = PointToScreen(new Point(x, 0)); Point p2 = PointToScreen(new Point(x, Height)); ControlPaint.DrawReversibleLine(p1, p2, BackColor); }
private void DrawYSplitter() { int y = GetSplitY(); Point p1 = PointToScreen(new Point(0, y)); Point p2 = PointToScreen(new Point(Width, y)); ControlPaint.DrawReversibleLine(p1, p2, BackColor); }
private void RubberLine(Int32 x1, Int32 y1, Int32 x2, Int32 y2) { Point p1 = new Point(x1, y1); Point p2 = new Point(x2, y2); p1 = PointToScreen(p1); p2 = PointToScreen(p2); ControlPaint.DrawReversibleLine(p1, p2, Color.Gray); }
private void Viewer_MouseMove(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { ControlPaint.DrawReversibleLine(this.newEdgeStart, this.newEdgeEnd, System.Drawing.Color.Black); this.newEdgeEnd = Cursor.Position; ControlPaint.DrawReversibleLine(this.newEdgeStart, this.newEdgeEnd, System.Drawing.Color.Black); } }
private void RedrawChart() { if (!curPosition.IsEmpty) { Point pt = c1Chart1.PointToScreen(curPosition); ControlPaint.DrawReversibleLine(new Point(pt.X - 10, pt.Y), new Point(pt.X + 10, pt.Y), c1Chart1.ChartArea.PlotArea.BackColor); ControlPaint.DrawReversibleLine(new Point(pt.X, pt.Y - 10), new Point(pt.X, pt.Y + 10), c1Chart1.ChartArea.PlotArea.BackColor); } }
private void DrawRubberBandLine() { if (_eraseLastRubberBand) { EraseOldRubberBandLine(); } ControlPaint.DrawReversibleLine(_rubberBandStart, _rubberBandEnd, Color.Gray); }
public void DrawReversibleRectangle(Point p1, Point p2) { p1 = ImageControl.PointToScreen(p1); p2 = ImageControl.PointToScreen(p2); ControlPaint.DrawReversibleLine(new Point(p1.X, p1.Y), new Point(p1.X, p2.Y), Color.White); ControlPaint.DrawReversibleLine(new Point(p1.X, p2.Y), new Point(p2.X, p2.Y), Color.White); ControlPaint.DrawReversibleLine(new Point(p2.X, p2.Y), new Point(p2.X, p1.Y), Color.White); ControlPaint.DrawReversibleLine(new Point(p2.X, p1.Y), new Point(p1.X, p1.Y), Color.White); }
private void panel1_MouseMove(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { ControlPaint.DrawReversibleLine(StartPoint, EndPoint, Color.Black); // erase previous line EndPoint = Cursor.Position; ControlPaint.DrawReversibleLine(StartPoint, EndPoint, Color.Black); // draw new line } }
public override void OnMouseMove(int x, int y) { Point scrollOffset = Ctrl.ScrollOffset; Point startPoint = Ctrl.PointToScreen(new Point(startMouseX - scrollOffset.X + 20, startMouseY - scrollOffset.Y + 20)); ControlPaint.DrawReversibleLine(startPoint, Ctrl.PointToScreen(new Point(endMouseX - scrollOffset.X + 20, endMouseY - scrollOffset.Y + 20)), Color.Black); ControlPaint.DrawReversibleLine(startPoint, Ctrl.PointToScreen(new Point(x - scrollOffset.X + 20, y - scrollOffset.Y + 20)), Color.Black); setEndMousePosition(x, y); }
private void panel1_MouseUp(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { ControlPaint.DrawReversibleLine(StartPoint, EndPoint, Color.Black); // erase previous line // ... do something with StartPont and EndPoint in here ... // possibly add them to a class level structure to use in the Paint() event to make it persistent? } }
void RasterPaintStack() { while (rasterstack.Count > 0) { Point[] pre = (Point[])rasterstack.Pop(); ControlPaint.DrawReversibleLine(pre[0], pre[1], this.BackColor); //Debug.WriteLine("Popped " + pre[0] + pre[1] + " " + rasterstack.Count); } }
// Draw line down text box in screen coordinates. void DrawReversibleLine(int x) { if (ctrlDocument != null) { Point pt1 = ctrlDocument.PointToScreen(new Point(x, 0)); Point pt2 = ctrlDocument.PointToScreen( new Point(x, ctrlDocument.Height)); ControlPaint.DrawReversibleLine(pt1, pt2, ctrlDocument.BackColor); } }
private void cursorTimer_Tick(System.Object sender, System.EventArgs e) { if ((ParentForm.ContainsFocus && (mDrawWave && (!mDrawing && !mSelecting) && !(mMusicPlayer.PlaybackState == CSCore.SoundOut.PlaybackState.Playing)))) { if (((CursorPositionX < CWidth) && (CursorPositionX >= 0))) { ControlPaint.DrawReversibleLine(this.PointToScreen(new Point(CursorPositionX, 0)), this.PointToScreen(new Point(CursorPositionX, CHeight)), Color.Gray); } } }
private void LineMove(object sender, MouseEventArgs e) { // First DrawReversible to toggle to the background color // Second DrawReversible to toggle to the specified color Control drawControl = ((Control)sender); ControlPaint.DrawReversibleLine(drawControl.PointToScreen(pointStart), drawControl.PointToScreen(pointEnd), Color.Black); pointEnd = new Point(e.X, e.Y); ControlPaint.DrawReversibleLine(drawControl.PointToScreen(pointStart), drawControl.PointToScreen(pointEnd), Color.Black); }
protected void DrawReversibleLine(Point p1, Point p2) { if (p1 == p2) { return; } p1 = this.PointToScreen(p1); p2 = this.PointToScreen(p2); ControlPaint.DrawReversibleLine(p1, p2, Color.Transparent); }
private void panel1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { Point pt = Cursor.Position; StartPoint = pt; EndPoint = pt; ControlPaint.DrawReversibleLine(StartPoint, EndPoint, Color.Black); } }
private void DrawReversibleLine() { tmpLineDest = new Point((Cursor.Position).X, (Cursor.Position).Y); if (!tmpLinePrevdest.IsEmpty) { ControlPaint.DrawReversibleLine(tmpLinePoint, tmpLinePrevdest, Color.Black); } ControlPaint.DrawReversibleLine(tmpLinePoint, tmpLineDest, Color.Black); tmpLinePrevdest = new Point(tmpLineDest.X, tmpLineDest.Y); }
private void RestrictedPaint() { Rectangle itemRect = GetItemRect(m_dropMarkerOn, ItemBoundsPortion.ItemOnly); Point start = new Point(itemRect.Left, m_dropMarkerBelow ? itemRect.Bottom : itemRect.Top); Point end = new Point(Width < itemRect.Right ? Width : itemRect.Right, m_dropMarkerBelow ? itemRect.Bottom : itemRect.Top); start = PointToScreen(start); end = PointToScreen(end); ControlPaint.DrawReversibleLine(start, end, SystemColors.Window); }
// Draw the Line that is cross private void DrawReversibleLine(Point p) { ControlPaint.DrawReversibleLine( PB_FS.PointToScreen(new Point(0, p.Y)), PB_FS.PointToScreen(new Point(PB_FS.Width, p.Y)), Color.Red); ControlPaint.DrawReversibleLine( PB_FS.PointToScreen(new Point(p.X, 0)), PB_FS.PointToScreen(new Point(p.X, PB_FS.Height)), Color.Red); }