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

15 Conversion to Picts

The pict/convert library defines a protocol for values to 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.

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 struct are convertible to picts, but others are not).


(pict-convertible? v)  boolean?

  v : any/c
Returns #t if v supports the conversion protocol (by being a struct with the prop:pict-convertible property) and #f otherwise. This function returns true for pict?s.


(pict-convert v)  pict?

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