Draws a graph's edges.
This class is responsible for drawing a graph's edges. The default edge appearance is determined by this class's properties. The appearance of an individual edge can be overridden by adding appropriate metadata to the edge. The following metadata keys are honored: ReservedMetadataKeys.Visibility ReservedMetadataKeys.PerColor ReservedMetadataKeys.PerAlpha ReservedMetadataKeys.PerEdgeWidth ReservedMetadataKeys.PerEdgeStyle ReservedMetadataKeys.PerEdgeLabel ReservedMetadataKeys.PerEdgeLabelTextColor ReservedMetadataKeys.IsSelected

The values of the ReservedMetadataKeys.PerColor and ReservedMetadataKeys.PerEdgeLabelTextColor keys can be of type System.Windows.Media.Color or System.Drawing.Color.

If VertexAndEdgeDrawerBase.UseSelection is true, an edge is drawn using VertexAndEdgeDrawerBase.Color or , depending on whether the edge has been marked as selected. If is false, is used regardless of whether the edge has been marked as selected.

When drawing the graph, call TryDrawEdge for each of the graph's edges.

Inheritance: VertexAndEdgeDrawerBase
Ejemplo n.º 1
0
    //*************************************************************************
    //  Constructor: GraphDrawer()
    //
    /// <summary>
    /// Initializes a new instance of the <see cref="GraphDrawer" /> class.
    /// </summary>
    ///
    /// <param name="parentVisual">
    /// The parent of the contained <see
    /// cref="GraphDrawer.VisualCollection" />.  This is usually a
    /// FrameworkElement that is hosting the collection.
    /// </param>
    //*************************************************************************

    public GraphDrawer
    (
        Visual parentVisual
    )
    {
        Debug.Assert(parentVisual != null);

        m_oVisualCollection = new VisualCollection(parentVisual);
        m_oAllVertexDrawingVisuals = null;
        m_oUnselectedEdgeDrawingVisuals = null;
        m_oSelectedEdgeDrawingVisuals = null;
        m_oVertexDrawer = new VertexDrawer();
        m_oEdgeDrawer = new EdgeDrawer();
        m_oGroupDrawer = new GroupDrawer();
        m_oBackColor = SystemColors.WindowColor;
        m_oBackgroundImage = null;

        AssertValid();
    }