wumpus-drawing-0.7.0: High-level drawing objects built on Wumpus-Basic.

PortabilityGHC
Stabilityhighly unstable
MaintainerStephen Tetley <stephen.tetley@gmail.com>

Wumpus.Drawing.Connectors.ConnectorPaths

Description

Primitive connectors

Synopsis

Documentation

connline :: (Real u, Floating u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Straight line connector.

connarc :: (Real u, Floating u, Ord u, InterpretUnit u, Tolerance u) => ConnectorProps -> ConnectorPathQuery uSource

Form an arc connector.

If the conn_arc_angle in the Drawing context is positive the arc will be formed above the straight line joining the points. If the angle is negative it will be drawn below.

The notion of above is respective to the line direction, of course.

connhdiagh :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Horizontal-diagonal-horizontal connector.

      --@
     /
  o--

Horizontal arms are drawn from the start and end points, a diagonal segment joins the arms.

connvdiagv :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Vertical-diagonal-vertical connector.

  @
  |
   \
    |
    o

Vertical arms are drawn from the start and end points, a diagonal segment joins the arms.

conndiagh :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Diagonal-horizontal connector.

    --@
   /
  o

Restricted variant of hconndiag - a diagonal segment is drawn from the start point joining a horizontal arm drawn from the end point

conndiagv :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Diagonal-vertical connector.

    @
    |
   /
  o

Restricted variant of vconndiag - a diagonal segment is drawn from the start point joining a vertical arm drawn from the end point.

connhdiag :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Horizontal-diagonal connector.

      @
     /
  o--

Restricted variant of hconndiag - a horizontal arm is drawn from the start point joining a diagonal segment drawn from the end point.

connvdiag :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Vertical-diagonal connector.

    @
   /
  |
  o

Restricted variant of vconndiag - a horizontal arm is drawn from the start point joining a vertical segment drawn from the end point.

connabar :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Bar connector.

  ,----, 
  |    |
  o    @  

The bar is drawn above the points.

connbbar :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Bar connector.

  o    @ 
  |    |
  '----'  

The bar is drawn below the points.

connaright :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Right angle connector.

  ,----@ 
  | 
  o   

The bar is drawn above the points.

connbright :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Right angle connector.

       @ 
       |
  o----'  

The bar is drawn below the points.

connhrr :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Connector with two horizontal segements and a joining vertical segment.

       ,--@
       |
  o----'  

The length of the first horizontal segment is the source arm length. The length of the final segment is the remaing horizontal distance.

connrrh :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Connector with two horizontal segements and a joining vertical segment.

     ,----@
     |
  o--'  

The length of the final horizontal segment is the distination arm length. The length of the initial segment is the remaining horizontal distance.

connvrr :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Connector with two right angles...

       @
       |
  ,----'
  |
  o  

connrrv :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Connector with two right angles...

       @
       |
  ,----'
  |
  o  

connaloop :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Loop connector.

  ,---------, 
  |         |
  '-o    @--'

The loop is drawn above the points.

connbloop :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorProps -> ConnectorPathQuery uSource

Loop connector.

  ,-o    @--, 
  |         |
  '---------'

The loop is drawn above the points.

connhbezier :: (Real u, Floating u, InterpretUnit u, Tolerance u) => ConnectorProps -> ConnectorPathQuery uSource

Bezier curve connector - the control points are positioned horizontally respective to the source and dest.

  *--@ 
    .  
   . 
  o--*  

Note - the source and dest arm lengths are doubled, generally this produces nicer curves.

Warning - currently bezier connectors do not draw properly with source or destination spacers.

connvbezier :: (Real u, Floating u, InterpretUnit u, Tolerance u) => ConnectorProps -> ConnectorPathQuery uSource

Bezier curve connector - the control points are positioned vertically respective to the source and dest.

        @ 
       .|  
  *  .  *
  |.
  o

Note - the source and dest arm lengths are doubled, generally this produces nicer curves.

Warning - currently bezier connectors do not draw properly with source or destination spacers.