Smrf.NodeXL.Visualization.Wpf.VertexDrawingHistory.GetLabelLocationOnDiamond C# (CSharp) Method

GetLabelLocationOnDiamond() protected method

protected GetLabelLocationOnDiamond ( VertexLabelPosition eLabelPosition, Double dHalfWidth ) : Point
eLabelPosition VertexLabelPosition
dHalfWidth Double
return Point
    GetLabelLocationOnDiamond
    (
        VertexLabelPosition eLabelPosition,
        Double dHalfWidth
    )
    {
        Debug.Assert(dHalfWidth >= 0);
        AssertValid();

        Point oVertexLocation = this.VertexLocation;
        Double dVertexX = oVertexLocation.X;
        Double dVertexY = oVertexLocation.Y;

        switch (eLabelPosition)
        {
            case VertexLabelPosition.TopLeft:
            case VertexLabelPosition.TopCenter:
            case VertexLabelPosition.TopRight:

                return ( new Point(dVertexX, dVertexY - dHalfWidth) );

            case VertexLabelPosition.MiddleLeft:

                return ( new Point(dVertexX - dHalfWidth, dVertexY) );

            case VertexLabelPosition.MiddleCenter:

                return (oVertexLocation);

            case VertexLabelPosition.MiddleRight:

                return ( new Point(dVertexX + dHalfWidth, dVertexY) );

            case VertexLabelPosition.BottomLeft:
            case VertexLabelPosition.BottomCenter:
            case VertexLabelPosition.BottomRight:

                return ( new Point(dVertexX, dVertexY + dHalfWidth) );

            default:

                Debug.Assert(false);
                return (oVertexLocation);
        }
    }