2.3 Pict Combiners
procedure
d : real? = 0.0 pict : pict? (vc-append [d] pict ...) → pict? d : real? = 0.0 pict : pict? (vr-append [d] pict ...) → pict? d : real? = 0.0 pict : pict? (ht-append [d] pict ...) → pict? d : real? = 0.0 pict : pict? (htl-append [d] pict ...) → pict? d : real? = 0.0 pict : pict? (hc-append [d] pict ...) → pict? d : real? = 0.0 pict : pict? (hbl-append [d] pict ...) → pict? d : real? = 0.0 pict : pict? (hb-append [d] pict ...) → pict? d : real? = 0.0 pict : pict?
Different procedures align pictures in the orthogonal direction in different ways. For example, vl-append left-aligns all of the pictures.
The descent of the result corresponds to baseline that is lowest in the result among all of the picts’ descent-specified baselines; similarly, the ascent of the result corresponds to the highest ascent-specified baseline. If at least one pict is supplied, then the last element (as reported by pict-last) for the result is (or (pict-last pict) pict) for the using last supplied pict.
procedure
(lt-superimpose pict ...) → pict?
pict : pict? (ltl-superimpose pict ...) → pict? pict : pict? (lc-superimpose pict ...) → pict? pict : pict? (lbl-superimpose pict ...) → pict? pict : pict? (lb-superimpose pict ...) → pict? pict : pict? (ct-superimpose pict ...) → pict? pict : pict? (ctl-superimpose pict ...) → pict? pict : pict? (cc-superimpose pict ...) → pict? pict : pict? (cbl-superimpose pict ...) → pict? pict : pict? (cb-superimpose pict ...) → pict? pict : pict? (rt-superimpose pict ...) → pict? pict : pict? (rtl-superimpose pict ...) → pict? pict : pict? (rc-superimpose pict ...) → pict? pict : pict? (rbl-superimpose pict ...) → pict? pict : pict? (rb-superimpose pict ...) → pict? pict : pict?
The descent of the result corresponds to baseline that is lowest in the result among all of the picts’ descent-specified baselines; similarly, the ascent of the result corresponds to the highest ascent-specified baseline. The last element (as reported by pict-last) for the result is the lowest, right-most among the last-element picts of the pict arguments, as determined by comparing the last-element bottom-right corners.
procedure
base : pict? dx : real? dy : real? pict : pict? (pin-over base find-pict find pict) → pict? base : pict? find-pict : pict-path? find : (pict? pict-path? . -> . (values real? real?)) pict : pict?
procedure
base : pict? dx : real? dy : real? pict : pict? (pin-under base find-pict find pict) → pict? base : pict? find-pict : pict? find : (pict? pict? . -> . (values real? real?)) pict : pict?
procedure
(table ncols picts col-aligns row-aligns col-seps row-seps) → pict? ncols : exact-positive-integer? picts : (non-empty-listof pict?) col-aligns : (list*of (pict? pict? -> pict?)) row-aligns : (list*of (pict? pict? -> pict?)) col-seps : (list*of real?) row-seps : (list*of real?)
The col-aligns, row-aligns, col-seps, and row-seps arguments are “lists” specifying the row and columns alignments separation between rows and columns. For c columns and r rows, the first two should have c and r superimpose procedures, and the last two should have c-1 and r-1 numbers, respectively. The lists can be “improper” (i.e., ending in a number instead of an empty list), in which case the non-pair cdr is used as the value for all remaining list items that were expected. The col-aligns and row-aligns procedures are used to superimpose all of the cells in a column or row; this superimposition determines the total width or height of the column or row, and also determines the horizontal or vertical placement of each cell in the column or row.