///------------------------------------------------------------------------------------------------- /// \fn public override void ShowAsSelected() /// /// \brief Shows as selected ///------------------------------------------------------------------------------------------------- public override void ShowAsSelected() { base.ShowAsSelected(); if (adjustButton == null) { adjustButton = new AdjustButton(MainWin.GetInstance().MainView(), this, Common.RotatingPoint(new Point(rect.Right, rect.Top), midPoint, angle), Cursors.SizeNS); adjustButton.MouseDown += AdjustButton_MouseDown; adjustButton.MouseUp += AdjustButton_MouseUp; adjustButton.MouseMove += AdjustButton_MouseMove; } if (moveButton == null) { moveButton = new MoveButton(MainWin.GetInstance().MainView(), this, Common.RotatingPoint(new Point(rect.Left + rect.Width / 2, rect.Top + rect.Height / 2), midPoint, angle), Cursors.SizeAll); moveButton.MouseDown += MoveButton_MouseDown; moveButton.MouseMove += MoveButton_MouseMove; moveButton.MouseUp += MoveButton_MouseUp; moveButton.SetBindingPoints( new Ref <Point>(() => rect.Location, z => { rect.Location = Common.RotatingPoint(z, midPoint, -angle); }), new Ref <Point>(() => adjustButton.Location, z => { adjustButton.Location = z; }) ); } Log.LogText(string.Format("Select Ellipse ({0},{1}),({2},{3})", rect.Left, rect.Top, rect.Right, rect.Bottom)); }
///------------------------------------------------------------------------------------------------- /// \fn public override void ShowAsSelected() /// /// \brief Shows as selected ///------------------------------------------------------------------------------------------------- public override void ShowAsSelected() { base.ShowAsSelected(); PictureBox pictureBox = MainWin.GetInstance().MainView(); int sumx = 0, sumy = 0; for (int i = 0; i < pointArray.Count; i++) { Point pointtemp = pointArray[i]; AdjustButton temp = new AdjustButton( pictureBox, this, new Point(pointtemp.X - 3, pointtemp.Y - 3), Cursors.SizeNS); adjustButtons.Add(temp); temp.MouseDown += AdjustButton_MouseDown; temp.MouseUp += AdjustButton_MouseUp; temp.MouseMove += AdjustButton_MouseMove; sumx += pointtemp.X; sumy += pointtemp.Y; } //set moveButton attributes moveButton = new MoveButton(pictureBox, this, new Point(sumx / pointArray.Count, sumy / pointArray.Count), Cursors.SizeAll ); moveButton.MouseDown += MoveButton_MouseDown; moveButton.MouseMove += MoveButton_MouseMove; moveButton.MouseUp += MoveButton_MouseUp; Log.LogText("Select BSpline"); }
///------------------------------------------------------------------------------------------------- /// \fn private void AdjustButton_MouseMove(object sender, MouseEventArgs e) /// /// \brief Event handler. Called by AdjustButton for mouse move events /// /// \param sender Source of the event. /// \param e Mouse event information. ///------------------------------------------------------------------------------------------------- private void AdjustButton_MouseMove(object sender, MouseEventArgs e) { if (isResizing) { AdjustButton ins = (AdjustButton)sender; int index = adjustButtons.IndexOf((AdjustButton)sender); pointArray[index] = ins.Location; RetMAction().Action(); } }
public override void startSelect() { base.startSelect(); if (adjustButton1 == null) { adjustButton1 = new AdjustButton(Common.mainPicture, new Point(a.X - 3, a.Y - 3), Cursors.SizeNS); adjustButton1.MouseDown += AB_MouseDown; adjustButton1.MouseMove += AB_MouseMove; adjustButton1.MouseUp += AB_MouseUp; } if (adjustButton2 == null) { adjustButton2 = new AdjustButton(Common.mainPicture, new Point(b.X - 3, b.Y - 3), Cursors.SizeNS); adjustButton2.MouseDown += AB_MouseDown; adjustButton2.MouseMove += AB_MouseMove; adjustButton2.MouseUp += AB_MouseUp; } if (moveButton == null) { moveButton = new AdjustButton(Common.mainPicture, new Point((a.X + b.X) / 2 - 3, (a.Y + b.Y) / 2 - 3), Cursors.SizeAll); moveButton.BackColor = Color.Green; moveButton.MouseDown += MB_MouseDown; moveButton.MouseMove += MB_MouseMove; moveButton.MouseUp += MB_MouseUp; } if (rotateButton == null) { rotateButton = new RotateButton(Common.mainPicture, new Point((a.X + b.X) / 2, (a.Y + b.Y) / 2)); rotateButton.MouseDown += RB_MouseDown; rotateButton.MouseMove += RB_MouseMove; rotateButton.MouseUp += RB_MouseUp; } adjustButton1.setAllPoints( new Ref <Point>(() => a, z => { a = z; })); adjustButton2.setAllPoints( new Ref <Point>(() => b, z => { b = z; })); moveButton.setAllPoints( new Ref <Point>(() => a, z => { a = z; }), new Ref <Point>(() => b, z => { b = z; }), new Ref <Point>(() => adjustButton1.Location, z => { adjustButton1.Location = z; }), new Ref <Point>(() => adjustButton2.Location, z => { adjustButton2.Location = z; }), new Ref <Point>(() => rotateButton.Location, z => { rotateButton.Location = z; })); rotateButton.setAllPoints( new Ref <Point>(() => a, z => { a = z; }), new Ref <Point>(() => b, z => { b = z; })); drawRB2MB(); }
public override void endSelect() { base.endSelect(); adjustButton1.clear(); adjustButton1 = null; adjustButton2.clear(); adjustButton2 = null; moveButton.clear(); moveButton = null; rotateButton.clear(); rotateButton = null; }
public override void endSelect() { base.endSelect(); for (int i = 0; i < adjustButtonList.Count; ++i) { adjustButtonList[i].clear(); adjustButtonList[i] = null; } adjustButtonList.Clear(); moveButton.clear(); moveButton = null; rotateButton.clear(); rotateButton = null; }
public override void startSelect() { base.startSelect(); int sumx = 0, sumy = 0; for (int i = 0; i < pointList.Count; ++i) { AdjustButton tmp = new AdjustButton(Common.mainPicture, new Point(pointList[i].X - 3, pointList[i].Y - 3), Cursors.SizeNS); //tmp.setAllPoints( // new Ref<Point>(() => pointList[i], z => { pointList[i] = z; })); tmp.MouseDown += AB_MouseDown; tmp.MouseMove += AB_MouseMove; tmp.MouseUp += AB_MouseUp; tmp.setAllPoints(); adjustButtonList.Add(tmp); sumx += pointList[i].X; sumy += pointList[i].Y; } if (moveButton == null) { moveButton = new AdjustButton(Common.mainPicture, new Point(sumx / pointList.Count - 3, sumy / pointList.Count - 3), Cursors.SizeAll); moveButton.BackColor = Color.Green; moveButton.MouseDown += MB_MouseDown; moveButton.MouseMove += MB_MouseMove; moveButton.MouseUp += MB_MouseUp; } if (rotateButton == null) { rotateButton = new RotateButton(Common.mainPicture, new Point(sumx / pointList.Count, sumy / pointList.Count)); rotateButton.MouseDown += RB_MouseDown; rotateButton.MouseMove += RB_MouseMove; rotateButton.MouseUp += RB_MouseUp; } midPoint = rotateButton.midPoint; moveButton.setAllPoints( new Ref <Point>(() => rotateButton.Location, z => { rotateButton.Location = z; })); rotateButton.setAllPoints( new Ref <Point>(() => a, z => { a = z; }), new Ref <Point>(() => b, z => { b = z; })); drawRB2MB(); }
private void AB_MouseMove(object sender, MouseEventArgs e) { if (isAdjust) { AdjustButton tmp = (AdjustButton)sender; int index = adjustButtonList.IndexOf(tmp); pointList[index] = new Point(tmp.Location.X + 3, tmp.Location.Y + 3); int sumx = 0, sumy = 0; foreach (Point i in pointList) { sumx += i.X; sumy += i.Y; } moveButton.Location = new Point(sumx / pointList.Count - 3, sumy / pointList.Count - 3); rotateButton.Location = new Point(sumx / pointList.Count + 77, sumy / pointList.Count - 3); rotateButton.midPoint = new Point(sumx / pointList.Count, sumy / pointList.Count); midPoint = rotateButton.midPoint; } }
///------------------------------------------------------------------------------------------------- /// \fn public override void ShowAsSelected() /// /// \brief Shows as selected ///------------------------------------------------------------------------------------------------- public override void ShowAsSelected() { base.ShowAsSelected(); if (adjustButtonA == null) { adjustButtonA = new AdjustButton(MainWin.GetInstance().MainView(), this, new Point(a.X - 3, a.Y - 3), Cursors.SizeNS); adjustButtonA.MouseDown += ResizeButtonA_MouseDown; adjustButtonA.MouseUp += ResizeButtonA_MouseUp; adjustButtonA.MouseMove += ResizeButtonA_MouseMove; } if (adjustButtonB == null) { adjustButtonB = new AdjustButton(MainWin.GetInstance().MainView(), this, new Point(b.X - 3, b.Y - 3), Cursors.SizeNS); adjustButtonB.MouseDown += ResizeButtonA_MouseDown; adjustButtonB.MouseUp += ResizeButtonA_MouseUp; adjustButtonB.MouseMove += ResizeButtonA_MouseMove; } if (moveButton == null) { moveButton = new MoveButton(MainWin.GetInstance().MainView(), this, new Point(a.X / 2 + b.X / 2, a.Y / 2 + b.Y / 2), Cursors.SizeAll); moveButton.MouseDown += MoveButton_MouseDown; moveButton.MouseMove += MoveButton_MouseMove; moveButton.MouseUp += MoveButton_MouseUp; } adjustButtonA.SetBindingPoints( new Ref <Point>(() => a, z => { a = z; }) ); adjustButtonB.SetBindingPoints( new Ref <Point>(() => b, z => { b = z; }) ); moveButton.SetBindingPoints( new Ref <Point>(() => a, z => { a = z; }), new Ref <Point>(() => b, z => { b = z; }), // only lines'point moving is not enough. We need move its buttons. new Ref <Point>(() => adjustButtonA.Location, z => { adjustButtonA.Location = z; }), new Ref <Point>(() => adjustButtonB.Location, z => { adjustButtonB.Location = z; }) ); Log.LogText("Select Line"); }
///------------------------------------------------------------------------------------------------- /// \fn public override void ShowAsNotSelected() /// /// \brief Shows as not selected ///------------------------------------------------------------------------------------------------- public override void ShowAsNotSelected() { base.ShowAsNotSelected(); try { adjustButton.Visible = moveButton.Visible = false; adjustButton.Dispose(); moveButton.Dispose(); } catch (NullReferenceException) { ; } finally { adjustButton = null; moveButton = null; } }
public override void startSelect() { base.startSelect(); if (adjustButton1 == null) { adjustButton1 = new RectAdjustButton(Common.mainPicture, new Point(a.X - 3, a.Y - 3), Cursors.SizeNS); adjustButton1.MouseDown += AB_MouseDown; adjustButton1.MouseMove += AB_MouseMove; adjustButton1.MouseUp += AB_MouseUp; } if (adjustButton2 == null) { adjustButton2 = new RectAdjustButton(Common.mainPicture, new Point(b.X - 3, b.Y - 3), Cursors.SizeNS); adjustButton2.MouseDown += AB_MouseDown; adjustButton2.MouseMove += AB_MouseMove; adjustButton2.MouseUp += AB_MouseUp; } if (adjustButton3 == null) { adjustButton3 = new RectAdjustButton(Common.mainPicture, new Point(c.X - 3, c.Y - 3), Cursors.SizeNS); adjustButton3.MouseDown += AB_MouseDown; adjustButton3.MouseMove += AB_MouseMove; adjustButton3.MouseUp += AB_MouseUp; } if (adjustButton4 == null) { adjustButton4 = new RectAdjustButton(Common.mainPicture, new Point(d.X - 3, d.Y - 3), Cursors.SizeNS); adjustButton4.MouseDown += AB_MouseDown; adjustButton4.MouseMove += AB_MouseMove; adjustButton4.MouseUp += AB_MouseUp; } if (moveButton == null) { moveButton = new AdjustButton(Common.mainPicture, new Point((a.X + c.X) / 2 - 3, (a.Y + c.Y) / 2 - 3), Cursors.SizeAll); moveButton.BackColor = Color.Green; } adjustButton1.setAllPoints( new Ref <Point>(() => a, z => { a = z; }), new Ref <Point>(() => b, z => { b = z; }), new Ref <Point>(() => d, z => { d = z; }), new Ref <Point>(() => adjustButton2.Location, z => { adjustButton2.Location = z; }), new Ref <Point>(() => adjustButton4.Location, z => { adjustButton4.Location = z; })); adjustButton2.setAllPoints( new Ref <Point>(() => b, z => { b = z; }), new Ref <Point>(() => a, z => { a = z; }), new Ref <Point>(() => c, z => { c = z; }), new Ref <Point>(() => adjustButton1.Location, z => { adjustButton1.Location = z; }), new Ref <Point>(() => adjustButton3.Location, z => { adjustButton3.Location = z; })); adjustButton3.setAllPoints( new Ref <Point>(() => c, z => { c = z; }), new Ref <Point>(() => d, z => { d = z; }), new Ref <Point>(() => b, z => { b = z; }), new Ref <Point>(() => adjustButton4.Location, z => { adjustButton4.Location = z; }), new Ref <Point>(() => adjustButton2.Location, z => { adjustButton2.Location = z; })); adjustButton4.setAllPoints( new Ref <Point>(() => d, z => { d = z; }), new Ref <Point>(() => c, z => { c = z; }), new Ref <Point>(() => a, z => { a = z; }), new Ref <Point>(() => adjustButton3.Location, z => { adjustButton3.Location = z; }), new Ref <Point>(() => adjustButton1.Location, z => { adjustButton1.Location = z; })); moveButton.setAllPoints( new Ref <Point>(() => a, z => { a = z; }), new Ref <Point>(() => b, z => { b = z; }), new Ref <Point>(() => c, z => { c = z; }), new Ref <Point>(() => d, z => { d = z; }), new Ref <Point>(() => adjustButton1.Location, z => { adjustButton1.Location = z; }), new Ref <Point>(() => adjustButton2.Location, z => { adjustButton2.Location = z; }), new Ref <Point>(() => adjustButton3.Location, z => { adjustButton3.Location = z; }), new Ref <Point>(() => adjustButton4.Location, z => { adjustButton4.Location = z; })); }