com.github.mdr.ascii.layout

drawing

package drawing

Visibility
  1. Public
  2. All

Type Members

  1. case class Drawing(elements: List[DrawingElement]) extends Transposable[Drawing] with Product with Serializable

  2. sealed trait DrawingElement extends Translatable[DrawingElement] with Transposable[DrawingElement]

    An element of a visual depiction of a graph.

  3. case class EdgeDrawingElement(bendPoints: List[Point], hasArrow1: Boolean, hasArrow2: Boolean) extends DrawingElement with Translatable[EdgeDrawingElement] with Transposable[EdgeDrawingElement] with Product with Serializable

    Start and finish points of the edge should not intersect the vertex boxes.

  4. case class EdgeSegment(start: Point, direction: Direction, finish: Point) extends HasRegion with Product with Serializable

    A horizontal or vertical segment of an edge.

  5. case class EdgeSegmentInfo(edgeElement: EdgeDrawingElement, segment1: EdgeSegment, segment2: EdgeSegment, segment3: EdgeSegment) extends Product with Serializable

    Information about a horizontal edge segment (segment2) and the previous and next vertical segments (segment2 and segment3 respectively).

  6. class EdgeTracker extends AnyRef

    Keep track of vertex regions, and horizontal and vertical edge segments as we move them around, so we can detect collisions.

  7. class Grid extends AnyRef

    Array of characters used to render the final diagram

  8. class OccupancyGrid extends AnyRef

    Mutable 2D representation of whether or not positions are occupied.

  9. class Renderer extends AnyRef

  10. case class VertexDrawingElement(region: Region, textLines: List[String]) extends DrawingElement with Translatable[VertexDrawingElement] with Transposable[VertexDrawingElement] with HasRegion with Product with Serializable

Value Members

  1. object BoxDrawingCharacters

  2. object EdgeElevator

    Raise edges if there are no conflicting diagram elements.

  3. object KinkRemover

    Remove kinks in edges where this can be achieved by removing an edge segment.

  4. object RedundantRowRemover

    Delete redundant rows that consist of nothing but vertical edges:

  5. object Renderer

Ungrouped