]> thyrsus.com Git - mad.git/commitdiff
Add more primitives.
authorEric S. Raymond <esr@thyrsus,com>
Mon, 23 Feb 2004 06:13:25 +0000 (06:13 +0000)
committerEric S. Raymond <esr@thyrsus,com>
Mon, 23 Feb 2004 06:13:25 +0000 (06:13 +0000)
doc/flowchart.pic

index d4aac1960a14a954ab68da5ea0bcc08e68450843..76377a00161a07988660c8e395e3cd181614d139 100644 (file)
@@ -9,6 +9,7 @@ define diamond {[
    line from FRAME.w to FRAME.s
 ]}
 
+# Basic triangle
 define triangle {[
    FRAME: box invis "      $1" ht 1.0 $2 $3 $4
    line from FRAME.w to FRAME.ne
@@ -20,17 +21,44 @@ define triangle {[
    "YES" at YES + (0.2, 0.06)
 ]}
 
+# Sme triangle, YES and NO swapped
+define triangle {[
+   FRAME: box invis "      $1" ht 1.0 $2 $3 $4
+   line from FRAME.w to FRAME.ne
+   line from FRAME.w to FRAME.se
+   line from FRAME.se to FRAME.ne
+   YES: 0.8<FRAME.se,FRAME.ne>
+   "YES" at YES + (0.2, 0.06)
+   NO: 0.2<FRAME.se,FRAME.ne>
+   "NO" at NO + (0.2, 0.06)
+]}
+
+# Basic triangle, left/right revered
 define revtriangle {[
    FRAME: box invis "$1" ht 1.0 $2 $3 $4
    line from FRAME.e to FRAME.nw
    line from FRAME.e to FRAME.sw
    line from FRAME.sw to FRAME.nw
-   NO: 0.7<FRAME.sw,FRAME.nw>
+   NO: 0.8<FRAME.sw,FRAME.nw>
    "NO" at NO + (-0.2, 0.06)
    YES: 0.2<FRAME.sw,FRAME.nw>
    "YES" at YES + (-0.2, 0.06)
 ]}
 
+# Computed-goto triangle
+define trisomy {[
+   FRAME: box invis "$1" ht 1.0 $2 $3 $4
+   line from FRAME.w to FRAME.ne
+   line from FRAME.w to FRAME.se
+   line from FRAME.se to FRAME.ne
+   LT: 0.8<FRAME.se,FRAME.ne>
+   "<" at LT + (0.2, 0.06)
+   GT: 0.2<FRAME.se,FRAME.ne>
+   ">" at GT + (0.2, 0.06)
+   EQ: FRAME.e
+   "=" at EQ + (0.2, 0.06)
+]}
+
 define iter {[
    FRAME: box "      $4" "      $3" "      $5" ht 1.5 wid 1.0
    line from FRAME.w to 0.85<FRAME.se,FRAME.ne>
@@ -68,7 +96,7 @@ define printme {[
 ]} 
 
 define throughbox{[
-  FRAME: box invis wid 2*boxwid "THROUGH $1," $2 $3
+  FRAME: box invis wid 1.1 "THROUGH $1," $2 $3
   NW: 0.1<FRAME.nw,FRAME.ne>
   NE: 0.1<FRAME.ne,FRAME.nw>
   SW: 0.1<FRAME.sw,FRAME.se>
@@ -94,7 +122,6 @@ define label {[
    circle rad 0.2 with .c at FRAME.c
 ]}
 
-
-
 # It would be nice to make this work inside [], but pic refuses
-define annotate {$2 at $1.end + (-0.1,0.1)}
+define hannotate {$2 at $1.end + (-0.1,0.1)}
+define vannotate {$2 at $1.end + (0.1,0.1)}