15 Conversion to Picts
(require pict/convert) | package: pict-lib |
The
pict/convert library defines a protocol for
values to be pict convertible, meaning they can convert themselves to picts.
The protocol is used by DrRacket’s interactions window, for example, to render
values that it prints. Anything that is pict-convertible?
can be used wherever a pict can be used. These values will
be automatically converted to a pict when needed.
This set includes at least images from
2htdp/image, but is extensible so may
include other values as well.
A property whose value should be a procedure matching the
contract (-> any/c pict?). The
procedure is called when a structure with the property is passed to
pict-convert; the argument to the procedure is the
structure, and the procedure’s result should be a pict.
A property whose value should be a predicate procedure
(i.e., matching the contract predicate/c).
If this property is not set, then it is assumed to be the function (λ (x) #t).
If this property is set, then this procedure is called by pict-convertible? to determine if this particular value is convertible (thereby supporting situations where some instances of a given value are convertible to picts, but others are not).
procedure
(pict-convertible? v) → boolean?
v : any/c
Returns #t if v are pict convertible
(by having the prop:pict-convertible property)
and #f otherwise. This function returns #t for pict?s.
procedure
(pict-convert v) → pict?
v : pict-convertible?
Requests a data conversion from v to a pict.