On this page:
prop:  pict-convertible
prop:  pict-convertible?

15 Conversion to Picts🔗

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).


(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.


(pict-convert v)  pict?

  v : pict-convertible?
Requests a data conversion from v to a pict.