Example #1
0
        private Rectangle GetNodePosition(RectNodePosition position)
        {
            switch (position)
            {
                case RectNodePosition.BottomCenter:
                    return new Rectangle(_rectangle.X + _rectangle.Width/2-_sizeOfNode/2, _rectangle.Y + _rectangle.Height-_sizeOfNode/2, _sizeOfNode, _sizeOfNode);
                case RectNodePosition.BottomLeft:
                    return new Rectangle(_rectangle.X - _sizeOfNode/2, _rectangle.Y + _rectangle.Height-_sizeOfNode/2, _sizeOfNode, _sizeOfNode);
                case RectNodePosition.BottomRight:
                    return new Rectangle(_rectangle.X + _rectangle.Width - _sizeOfNode / 2, _rectangle.Y + _rectangle.Height - _sizeOfNode / 2, _sizeOfNode, _sizeOfNode);
                case RectNodePosition.MiddleLeft:
                    return new Rectangle(_rectangle.X - _sizeOfNode / 2, _rectangle.Y + _rectangle.Height / 2 - _sizeOfNode / 2, _sizeOfNode, _sizeOfNode);
                case RectNodePosition.MiddleRight:
                    return new Rectangle(_rectangle.X + _rectangle.Width - _sizeOfNode / 2, _rectangle.Y + _rectangle.Height / 2 - _sizeOfNode / 2, _sizeOfNode, _sizeOfNode);
                case RectNodePosition.TopCenter:
                    return new Rectangle(_rectangle.X + _rectangle.Width / 2 - _sizeOfNode / 2, _rectangle.Y - _sizeOfNode / 2, _sizeOfNode, _sizeOfNode);
                case RectNodePosition.TopLeft:
                    return new Rectangle(_rectangle.X - _sizeOfNode / 2, _rectangle.Y - _sizeOfNode / 2, _sizeOfNode, _sizeOfNode);
                case RectNodePosition.TopRight:
                    return new Rectangle(_rectangle.X + _rectangle.Width - _sizeOfNode / 2, _rectangle.Y - _sizeOfNode / 2, _sizeOfNode, _sizeOfNode);
            }

            return new Rectangle();
        }
Example #2
0
        private void PictureBoxOnMouseDown(object sender, MouseEventArgs mouseEventArgs)
        {
            if (!IsSelected)
                return;

            _holdMouseFlag = true;

            _selectedNode = GetNodeFromPoint(mouseEventArgs.Location);

            if (_rectangle.Contains(new Point(mouseEventArgs.X, mouseEventArgs.Y)))
            {
                _movingFlag = true;
            }

            _oldLocationX = mouseEventArgs.X;
            _oldLocationY = mouseEventArgs.Y;
            _oldRectangle = _rectangle;

            _pictureBox.Refresh();
        }
Example #3
0
 private Cursor GetCursor(RectNodePosition nodePosition)
 {
     switch (nodePosition)
     {
         case RectNodePosition.BottomCenter:
         case RectNodePosition.TopCenter:
             return Cursors.SizeNS;
         case RectNodePosition.BottomRight:
         case RectNodePosition.TopLeft:
             return Cursors.SizeNWSE;
         case RectNodePosition.BottomLeft:
         case RectNodePosition.TopRight:
             return Cursors.SizeNESW;
         case RectNodePosition.MiddleLeft:
         case RectNodePosition.MiddleRight:
             return Cursors.SizeWE;
         default:
             return Cursors.Default;
     }
 }