6 Pict Finders
Locates a pict designated by find within pict. If
find is a pict, then the pict must have been created
as some combination involving find.
If find is a list, then the first element of find must be within pict, the second element of find must be within the first element, and so on. In general, the n+1-st element must be within the n-th element, so the list can provide a path to some specific pict, in case there is more than one occurrence of the pict that’s being searched for within pict.
Examples:
> (define p1 (disk 60)) > (define p2 (rectangle 60 60)) > (define p3 (hc-append p1 p2)) > (define p4 (hc-append p3 (arrow 60 0))) > (lt-find p4 p1)
0
0
> (cb-find p4 p2)
90
60
> (rb-find p3 p1)
60
60
> (lt-find p4 (list p1))
0
0
> (lt-find p4 (list p2 p1)) find-XX: sub-pict: #<pict> not found in: #<pict>
> (lt-find p4 (list p2))
60
0
> (lt-find p4 (list p3 p2))
60
0
> (pin-over p4 p2 lt-find (colorize (text "lt-find") "darkgreen"))
> (panorama (pin-over p4 p2 rb-find (colorize (text "rb-find") "darkgreen")))
Changed in version 1.11 of package pict-lib: Removed implicit truncation of some centered coordinates to integers.
procedure
(pict-path? v) → boolean?
v : any/c
Examples:
> (pict-path? null) #f
> (pict-path? (disk 30)) #t
> (pict-path? (list (disk 30) (rectangle 10 10))) #t
procedure
pict : pict-convertible?
Creates a pict that has the same drawing and bounding box of
pict, but which hides all of its sub-picts so that they
cannot be found with functions like lt-find. If pict
has a last-line pict, then the laundered pict has a fresh last-line
pict with the same shape and location.
Examples: