示例#1
0
        public RectangleD GetOutlineRectangleNoAngle()
        {
            PointD[] ptArray = null;

            switch (_frameType)
            {
            case FrameType.RECTANGLE:
            case FrameType.ELLIPSE:
                ptArray = new PointD[] { new PointD(-_width / 2, _height / 2),
                                         new PointD(_width / 2, _height / 2),
                                         new PointD(_width / 2, -_height / 2),
                                         new PointD(-_width / 2, -_height / 2) };
                break;

            case FrameType.POLYGON:
                ptArray = new PointD[_polygonArray.Length];

                for (int i = 0; i < _polygonArray.Length; i++)
                {
                    ptArray[i] = new PointD(_polygonArray[i].X, _polygonArray[i].Y);
                }
                break;

            default:
                break;
            }

            if (ptArray != null)
            {
                return(ToolDrawing.MakeOutlineRectangle(ptArray));
            }
            return(RectangleD.Empty);
        }
示例#2
0
        /// <devdoc>
        ///    <para>Clockwise Rotate</para>
        /// </devdoc>
        public void Rotate_Clockwise(double dAngle)
        {
            PointD pointTemp = ToolDrawing.Rotate_Clockwise(this, dAngle);

            _x = pointTemp.X;
            _y = pointTemp.Y;
        }
示例#3
0
        public bool Contains(PointD pt)
        {
            bool bRet = false;

            switch (_frameType)
            {
            case FrameType.RECTANGLE:
                bRet = ToolDrawing.IsPointInFrame_Rectangle(pt, this);
                break;

            case FrameType.ELLIPSE:
                bRet = ToolDrawing.IsPointInFrame_Ellipse(pt, this);
                break;

            case FrameType.POLYGON:
                bRet = ToolDrawing.IsPointInFrame_Polygon(pt, this);
                break;

            default:
                break;
            }
            return(bRet);
        }