Exemple #1
0
        private DesignerEdges GetSizingEdge(ActivityDesigner designer, Point point)
        {
            DesignerEdges none          = DesignerEdges.None;
            Size          selectionSize = WorkflowTheme.CurrentTheme.AmbientTheme.SelectionSize;
            Rectangle     bounds        = designer.Bounds;

            Point[] line = new Point[] { new Point(bounds.Left, bounds.Top), new Point(bounds.Left, bounds.Bottom) };
            if (Math.Floor(DesignerGeometryHelper.DistanceFromPointToLineSegment(point, line)) <= (selectionSize.Width + 1))
            {
                none |= DesignerEdges.Left;
            }
            Point[] pointArray2 = new Point[] { new Point(bounds.Left, bounds.Top), new Point(bounds.Right, bounds.Top) };
            if (Math.Floor(DesignerGeometryHelper.DistanceFromPointToLineSegment(point, pointArray2)) <= (selectionSize.Height + 1))
            {
                none |= DesignerEdges.Top;
            }
            Point[] pointArray3 = new Point[] { new Point(bounds.Right, bounds.Top), new Point(bounds.Right, bounds.Bottom) };
            if (Math.Floor(DesignerGeometryHelper.DistanceFromPointToLineSegment(point, pointArray3)) <= (selectionSize.Width + 1))
            {
                none |= DesignerEdges.Right;
            }
            Point[] pointArray4 = new Point[] { new Point(bounds.Left, bounds.Bottom), new Point(bounds.Right, bounds.Bottom) };
            if (Math.Floor(DesignerGeometryHelper.DistanceFromPointToLineSegment(point, pointArray4)) <= (selectionSize.Height + 1))
            {
                none |= DesignerEdges.Bottom;
            }
            return(none);
        }
        private DesignerEdges GetSizingEdge(ActivityDesigner designer, Point point)
        {
            DesignerEdges sizingEdge = DesignerEdges.None;

            Size      selectionSize  = WorkflowTheme.CurrentTheme.AmbientTheme.SelectionSize;
            Rectangle designerBounds = designer.Bounds;

            if (Math.Floor(DesignerGeometryHelper.DistanceFromPointToLineSegment(point, new Point[] { new Point(designerBounds.Left, designerBounds.Top), new Point(designerBounds.Left, designerBounds.Bottom) })) <= selectionSize.Width + 1)
            {
                sizingEdge |= DesignerEdges.Left;
            }
            if (Math.Floor(DesignerGeometryHelper.DistanceFromPointToLineSegment(point, new Point[] { new Point(designerBounds.Left, designerBounds.Top), new Point(designerBounds.Right, designerBounds.Top) })) <= selectionSize.Height + 1)
            {
                sizingEdge |= DesignerEdges.Top;
            }
            if (Math.Floor(DesignerGeometryHelper.DistanceFromPointToLineSegment(point, new Point[] { new Point(designerBounds.Right, designerBounds.Top), new Point(designerBounds.Right, designerBounds.Bottom) })) <= selectionSize.Width + 1)
            {
                sizingEdge |= DesignerEdges.Right;
            }
            if (Math.Floor(DesignerGeometryHelper.DistanceFromPointToLineSegment(point, new Point[] { new Point(designerBounds.Left, designerBounds.Bottom), new Point(designerBounds.Right, designerBounds.Bottom) })) <= selectionSize.Height + 1)
            {
                sizingEdge |= DesignerEdges.Bottom;
            }

            return(sizingEdge);
        }