Smrf.NodeXL.Visualization.Wpf.GroupDrawer.TryDrawGroupLabels C# (CSharp) Method

TryDrawGroupLabels() public method

public TryDrawGroupLabels ( IGraph graph, GraphDrawingContext graphDrawingContext, Visual &visual ) : System.Boolean
graph IGraph
graphDrawingContext GraphDrawingContext
visual Visual
return System.Boolean
    TryDrawGroupLabels
    (
        IGraph graph,
        GraphDrawingContext graphDrawingContext,
        out Visual visual
    )
    {
        Debug.Assert(graph != null);
        Debug.Assert(graphDrawingContext != null);
        AssertValid();

        visual = null;

        GroupLayoutDrawingInfo oGroupLayoutDrawingInfo;

        if (
            m_eLabelPosition == VertexLabelPosition.Nowhere
            ||
            !GroupMetadataManager.TryGetGroupLayoutDrawingInfo(graph,
                out oGroupLayoutDrawingInfo)
            )
        {
            return (false);
        }

        DrawingVisual oGroupLabelDrawingVisual = new DrawingVisual();

        using ( DrawingContext oDrawingContext =
            oGroupLabelDrawingVisual.RenderOpen() )
        {
            foreach (GroupInfo oGroupInfo in
                oGroupLayoutDrawingInfo.GroupsToDraw)
            {
                DrawGroupLabel(oDrawingContext, graphDrawingContext,
                    oGroupInfo);
            }
        }

        visual = oGroupLabelDrawingVisual;
        return (true);
    }