15 Conversion to Picts

▼ |  | Pict: Functional Pictures

1 | Pict Datatype
2 | Basic Pict Constructors
3 | Pict Combiners
4 | Pict Drawing Adjusters
5 | Bounding Box Adjusters
6 | Pict Finders
7 | More Pict Constructors
8 | Animation Helpers
9 | Color Helpers
10 | Shadows
11 | Conditional Combinations
12 | Tree Layout
13 | Miscellaneous
14 | Rendering
15 | Conversion to Picts

On this page:

prop: pict-convertible
prop: pict-convertible?
pict-convertible?
pict-convert

top ← prev up next →

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

> value prop:pict-convertible : struct-type-property?

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.

> value prop:pict-convertible? : struct-type-property?

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.
top ← prev up next →