Example #1
0
        ///-------------------------------------------------------------------------------------------------
        /// \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));
        }
Example #2
0
        ///-------------------------------------------------------------------------------------------------
        /// \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");
        }
Example #3
0
        ///-------------------------------------------------------------------------------------------------
        /// \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();
            }
        }
Example #4
0
        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();
        }
Example #5
0
 public override void endSelect()
 {
     base.endSelect();
     adjustButton1.clear();
     adjustButton1 = null;
     adjustButton2.clear();
     adjustButton2 = null;
     moveButton.clear();
     moveButton = null;
     rotateButton.clear();
     rotateButton = null;
 }
Example #6
0
 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;
 }
Example #7
0
        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();
        }
Example #8
0
 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;
     }
 }
Example #9
0
        ///-------------------------------------------------------------------------------------------------
        /// \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");
        }
Example #10
0
        ///-------------------------------------------------------------------------------------------------
        /// \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;
            }
        }
Example #11
0
        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; }));
        }