Ejemplo n.º 1
0
        public override bool Tidy(SnapModes mode, Page page)
        {
            PointF newPoint = m_Centre;

            switch (mode)
            {
            case SnapModes.Grid:
                newPoint = page.Paper.SnapPoint2(newPoint);
                break;

            case SnapModes.Shape:
                newPoint = Lined.TidyPointToShapes(newPoint, page, this);
                break;

            case SnapModes.Angle:
                SizeF newVector = Geometry.AngleSnapVector(m_Exit);
                if (newVector.Equals(m_Exit))
                {
                    return(false);
                }
                m_Exit = newVector;
                return(true);

            default:
                Debug.Fail("Bad Tidy mode");
                break;
            }
            if (newPoint == m_Centre)
            {
                return(false);
            }
            m_Centre = newPoint;
            return(true);
        }