134 lines
3.1 KiB
Racket
134 lines
3.1 KiB
Racket
(module common-sig scheme/base
|
|
(require scheme/unit)
|
|
|
|
(provide texpict-common^)
|
|
(define-signature texpict-common^
|
|
((struct pict (draw width height ascent descent children panbox last))
|
|
(struct child (pict dx dy sx sy))
|
|
|
|
black-and-white
|
|
|
|
lt-find
|
|
lc-find
|
|
lb-find
|
|
ltl-find
|
|
lbl-find
|
|
ct-find
|
|
cc-find
|
|
cb-find
|
|
ctl-find
|
|
cbl-find
|
|
rt-find
|
|
rc-find
|
|
rb-find
|
|
rtl-find
|
|
rbl-find
|
|
|
|
find-lt ; (left & top) ; pict pict-path -> dx dy
|
|
find-lc ; (left & vertical center)
|
|
find-lb ; (left & bottom)
|
|
find-ltl ; (left and top baseline)
|
|
find-lbl ; (left and bottom baseline)
|
|
find-ct ; (horizontal center & top)
|
|
find-cc
|
|
find-cb
|
|
find-ctl
|
|
find-cbl
|
|
find-rt
|
|
find-rc
|
|
find-rb
|
|
find-rtl
|
|
find-rbl
|
|
|
|
launder ; pict -> pict
|
|
|
|
blank ; -> pict
|
|
; w h -> pict
|
|
; w h d -> pict
|
|
|
|
clip-descent ; pict -> pict
|
|
clip-ascent ; pict -> pict
|
|
lift ; pict -> pict
|
|
drop ; pict -> pict
|
|
baseless ; pict -> pict
|
|
inset ; pict i -> pict
|
|
; pict hi vi -> pict
|
|
; pict l t r b -> pict
|
|
refocus ; pict pict -> pict
|
|
panorama ; pict -> pict
|
|
|
|
use-last ; pict pict -> pict
|
|
use-last* ; pict pict -> pict
|
|
|
|
hline ; w h -> pict
|
|
dash-hline ; w h seg-length -> pict ; default seg-length is 5
|
|
vline ; w h -> pict
|
|
dash-vline ; w h seg-length -> pict ; default seg-length is 5
|
|
|
|
frame ; pict -> pict
|
|
dash-frame ; pict seg-length -> pict ; default seg-length is 5
|
|
oval ; pict -> pict
|
|
oval/radius ; pict r -> pict ; r is radius of corners
|
|
|
|
big-circle ; diameter -> pict
|
|
|
|
thick ; pict -> pict
|
|
thin ; pict -> pict
|
|
|
|
ghost ; pict -> pict
|
|
|
|
record ; pict pict ... -> pict
|
|
|
|
vl-append ; d pict ... -> pict ; d units between each picture
|
|
vc-append
|
|
vr-append
|
|
ht-append
|
|
hc-append
|
|
hb-append
|
|
htl-append ; align bottoms of ascents
|
|
hbl-append ; align tops of descents (normal text alignment)
|
|
|
|
lt-superimpose ; pict ... -> pict
|
|
lb-superimpose
|
|
lc-superimpose
|
|
ltl-superimpose
|
|
lbl-superimpose
|
|
rt-superimpose
|
|
rb-superimpose
|
|
rc-superimpose
|
|
rtl-superimpose
|
|
rbl-superimpose
|
|
ct-superimpose
|
|
cb-superimpose
|
|
cc-superimpose
|
|
ctl-superimpose
|
|
cbl-superimpose
|
|
|
|
table ; ncols pict-list col-aligns row-aligns col-seps row-seps -> pict
|
|
|
|
colorize ; pict color-string -> pict
|
|
|
|
picture ; w h command-list -> pict
|
|
picture* ; w h a d command-list -> pict
|
|
|
|
cons-picture ; pict command-list -> pict
|
|
cons-picture* ; pict command-list -> pict
|
|
|
|
place-over
|
|
place-under
|
|
pin-over
|
|
pin-under
|
|
))
|
|
|
|
(provide texpict-common-setup^)
|
|
(define-signature texpict-common-setup^
|
|
(connect
|
|
~connect
|
|
convert-pict))
|
|
|
|
(provide texpict-internal^)
|
|
(define-signature texpict-internal^
|
|
(prepare-for-output
|
|
pict->command-list
|
|
line-thickness)))
|