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

PortabilityGHC
Stabilityhighly unstable
MaintainerStephen Tetley <stephen.tetley@gmail.com>
Safe HaskellSafe-Infered

Wumpus.Drawing.Connectors.ConnectorPaths

Description

Primitive connectors

Synopsis

Documentation

conn_line :: (Real u, Floating u, InterpretUnit u, Tolerance u) => ConnectorPathSpec uSource

Straight line connector.

conna_arc :: (Real u, Floating u, Ord u, InterpretUnit u, Tolerance u) => ConnectorPathSpec 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.

TODO - above and below versions...

conn_hdiagh :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Horizontal-diagonal-horizontal connector.

      --@
     /
  o--

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

conn_vdiagv :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Vertical-diagonal-vertical connector.

  @
  |
   \
    |
    o

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

conn_diagh :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec 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

conn_diagv :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec 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.

conn_hdiag :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec 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.

conn_vdiag :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec 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.

conna_bar :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Bar connector.

  ,----, 
  |    |
  o    @  

The bar is drawn above the points.

connb_bar :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Bar connector.

  o    @ 
  |    |
  '----'  

The bar is drawn below the points.

conna_flam :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Flam connector.

    ,- '
  ,-   | 
  |    |
  o    @  

The bar is drawn above the points.

connb_flam :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Flam connector - bleow.

conna_orthohbar :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Bar connector - always orthonormal .

  
  ,----, 
  |    |
  o    @  

The bar is drawn above the points.

connb_orthohbar :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Bar connector orthonormal - below.

conna_orthovbar :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Bar connector - always orthonormal.

  
  ,--- o 
  |   
  '--- @  
 

The bar is drawn left of the points.

connb_orthovbar :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Bar connector orthonormal - right of the points.

conna_right :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Right angle connector.

  ,----@ 
  | 
  o   

The bar is drawn above the points.

connb_right :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Right angle connector.

       @ 
       |
  o----'  

The bar is drawn below the points.

conn_hrr :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Connector with two horizontal segments 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 remaining horizontal distance.

conn_rrh :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Connector with two horizontal segements and a joining vertical segment.

     ,----@
     |
  o--'  

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

conn_vrr :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Connector with two right angles...

       @
       |
  ,----'
  |
  o  

The length of the first vertical segment is the source arm length. The length of the final segment is the remaining vertical distance.

conn_rrv :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Connector with two right angles...

       @
       |
  ,----'
  |
  o  

The length of the final vertical segment is the destination arm length. The length of the initial segment is the remaining vertical distance.

conna_loop :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Loop connector.

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

The loop is drawn above the points.

connb_loop :: (Real u, Floating u, Tolerance u, InterpretUnit u) => ConnectorPathSpec uSource

Loop connector.

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

The loop is drawn below the points.

conn_hbezier :: (Real u, Floating u, InterpretUnit u, Tolerance u) => ConnectorPathSpec 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.

conn_vbezier :: (Real u, Floating u, InterpretUnit u, Tolerance u) => ConnectorPathSpec 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.