4 Pict Combiners
function | ||||||||
|
If a pict extends horizontally outside its bounding box, then the front-ot-back order of picts can matter for the combined image. The order argument determines the order of each pict added to the right of the combined image.
The picts are first made concurrent via concurrent, passing along duration_align and epoch_align.
If no picts are provided, the result is nothing.
> beside(~vert: #'top, ~sep: 12, square(~size: 32), circle(~size: 16))
function | ||||||||
|
If a pict extends vertically outside its bounding box, then the front-ot-back order of picts can matter for the combined image. The order argument determines the order of each pict added to the bottom of the combined image.
The picts are first made concurrent via concurrent, passing along duration_align and epoch_align.
If no picts are provided, the result is nothing.
> stack(~horiz: #'right, ~sep: 12, square(~size: 32), circle(~size: 16))
function | ||||||||
|
The picts are first made concurrent via concurrent, passing along duration_align and epoch_align.
If no picts are provided, the result is nothing.
circle(~size: 16, ~fill: "lightgreen"))
square(~size: 32),
circle(~size: 16, ~line: "red"))
function | |||||||||||
|
By default, the pinned pict is concurrent to the target on_pict. The picts are first made concurrent via concurrent, passing along duration_align and epoch_align. This mode is used unless time_align is #'insert.
The time_align argument determines a time box offset that is applied to pict, finder, and pinhole_finder before combining it with on_pict. If time_align is #'insert or ~sync, then finder is used both to find a graphical offset and a time box offset. If time_align is insert, then at the time box offset within on_pict, extra epochs are inserted that correspond to a snapshot of on_pict at the time box offset, and the number of inserted epochs is the duration of pict. When time_align When time_align is an integer, #'start, or #'end, then finder is not used to find a time offset, and instead time_align, 0, or Pict.duration(on_pict) is used, respectively.
If find_mode is #'always, then if finder fails to find a position at any time for on_pict, then an exception is thrown. If find_mode is #'maybe, then when finder fails to find a position, pict is not pinned.
> pin(~on: overlay(square(~size: 32, ~fill: "lightblue"), circ),
~at: Find.right(circ),
line(~dx: 10))
function | ||||||||||||||||||||||
|
If find_mode is #'always, then if form or to fails to find a position at any time for on_pict, then an exception is thrown. If find_mode is #'maybe, then when from or to fails to find a position, a line is not added.
Find.right(sq),
Find.left(circ),
~style: #'arrow,
~line: "red",
~arrow_size: 8)
function | |||||||||||||||||
|
[blank(), sq, circ],
~vert: #'top,
~vline: "black",
~pad: 5)
If no picts are provided, the result is nothing.
function | |||||
|
If duration_align is #'pad, the time boxes are extended as needed in the “after” direction using Pict.pad. If duration_align is #'sustain, then Pict.sustain is used. Note that the default for duration_align is #'pad, but when concurrent is called by functions like beside, the defult is #'sustain.
The epoch_align argument determines how animations are positioned within an extent when extents are made larger to synchronize with concurrent, non-0 extents.
Any nothing among the picts is preserved in the output list, but it does not otherwise particiapte in making the other picts concurrent.
function | ||||||
|
If to_concurrent is true, then after the picts are sequentialized, they are passed to #'concurrent. The duration_align argument is passed along in that case.
Any nothing among the picts is preserved in the output list, but it does not otherwise particiapte in making the other picts sequential.
function | ||||||||
|
The picts are first made concurrent via concurrent, passing along duration_align and epoch_align.
function |
fun beside.top(~sep: sep :: Real = 0, pict :: Pict, ...) :: Pict |
|
function |
fun beside.topline(~sep: sep :: Real = 0, pict :: Pict, ...) :: Pict |
|
function |
fun beside.center(~sep: sep :: Real = 0, pict :: Pict, ...) :: Pict |
|
function |
fun beside.baseline(~sep: sep :: Real = 0, pict :: Pict, ...) :: Pict |
|
function |
fun beside.bottom(~sep: sep :: Real = 0, pict :: Pict, ...) :: Pict |
function |
fun stack.center(~sep: sep :: Real = 0, pict :: Pict, ...) :: Pict |
|
function |
fun stack.left(~sep: sep :: Real = 0, pict :: Pict, ...) :: Pict |
|
function |
fun stack.right(~sep: sep :: Real = 0, pict :: Pict, ...) :: Pict |
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
|
function |
enumeration | ||||
enumeration | |||
enumeration | |||
enumeration | |||
enumeration | ||||