示例#1
0
        /// <summary>
        /// 获取 引脚绘画位置
        /// </summary>
        /// <param name="direction">方向</param>
        /// <returns></returns>
        protected virtual Point GetPinPosition(FCPintDirection direction, FCPin pin)
        {
            if (pin.DrawLocation == Point.Empty)
            {
                switch (direction)
                {
                case FCPintDirection.Left:
                    pin.DrawLocation = new Point(Size.Width / 2 - PinLeft.Size.Width, Size.Height / 2 - PinLeft.Size.Height);
                    break;

                case FCPintDirection.Top:
                    pin.DrawLocation = new Point(Size.Width / 2 - PinTop.Size.Width, Size.Height / 2 - PinTop.Size.Height);
                    break;

                case FCPintDirection.Right:
                    pin.DrawLocation = new Point(Size.Width / 2 - PinRight.Size.Width, Size.Height / 2 - PinRight.Size.Height);
                    break;

                case FCPintDirection.Bottom:
                    pin.DrawLocation = new Point(Size.Width / 2 - PinBottom.Size.Width, Size.Height / 2 - PinBottom.Size.Height);
                    break;
                }
            }
            return(pin.DrawLocation);
        }
示例#2
0
        /// <summary>
        /// 移除引脚
        /// </summary>
        /// <param name="direction">位置</param>
        public void RemovePin(FCPintDirection direction)
        {
            switch (direction)
            {
            case FCPintDirection.Left:
                PinLeft = null;
                pinLeft = false;
                break;

            case FCPintDirection.Top:
                PinTop = null;
                pinTop = false;
                break;

            case FCPintDirection.Right:
                PinRight = null;
                pinRight = false;
                break;

            case FCPintDirection.Bottom:
                pinBottom = false;
                PinBottom = null;
                break;
            }
        }
示例#3
0
        /// <summary>
        /// 添加引脚
        /// </summary>
        /// <param name="pin">引脚</param>
        /// <param name="direction">位置</param>
        public void AddPin(FCPin pin, FCPintDirection direction)
        {
            switch (direction)
            {
            case FCPintDirection.Left:
                PinLeft = pin;
                pinLeft = true;
                break;

            case FCPintDirection.Top:
                PinTop = pin;
                pinTop = true;
                break;

            case FCPintDirection.Right:
                PinRight = pin;
                pinRight = true;
                break;

            case FCPintDirection.Bottom:
                PinBottom = pin;
                pinBottom = true;
                break;
            }
        }
示例#4
0
        protected virtual void OnDrawPin(Graphics g, FCPintDirection direction, Point moveOffest)
        {
            switch (direction)
            {
            case FCPintDirection.Left:
                PinLeft.OnDraw(g, GetPinPosition(direction, PinLeft), moveOffest);
                break;

            case FCPintDirection.Top:
                PinTop.OnDraw(g, GetPinPosition(direction, PinTop), moveOffest);
                break;

            case FCPintDirection.Right:
                PinRight.OnDraw(g, GetPinPosition(direction, PinRight), moveOffest);
                break;

            case FCPintDirection.Bottom:
                PinBottom.OnDraw(g, GetPinPosition(direction, PinBottom), moveOffest);
                break;
            }
        }