Version: 5.1
1 Writing Examples with Pict Results
The trick is that racket/gui is not generally
available when rendering documentation, because it requires a GUI
context. The picture output is rendered to an image file when the
MREVAL environment variable is set, so run the enclosing
document once with the environment varibale to generate the
images. Future runs (with the environment variable unset) use the
generated image.
|
|
|
|
|
(gui-def+int datum ...) | (gui-def+int | #:eval+opts the-eval get-predicate? get-render | get-get-width get-get-height | datum ...) |
|
|
(gui-defs+int datum ...) | (gui-defs+int | #:eval+opts the-eval get-predicate? get-render | get-get-width get-get-height | datum ...) |
|
|
The first option of each of the above is
like
interaction, etc., but actually evaluating the forms
only when the
MREVAL environment variable is set, and then in
an evaluator that is initialized with
racket/gui/base
and
slideshow.
The second option of each allows you to specify your own evaluator via
the the-eval argument and then to specify four thunks that
return functions for finding and rendering graphical objects:
get-predicate? : (-> (-> any/c boolean?))
Determines if a value is a graphical object (and thus handled by the other operations)
get-render : (-> (-> any/c (is-a?/c dc<%>) number? number? void?))
Draws a graphical object (only called if the predicate returned #t; the first
argument will be the value for which the predicate holds).
get-get-width : (-> (-> any/c number?))
Gets the width of a graphical object (only called if the predicate returned #t; the first
argument will be the value for which the predicate holds).
get-get-height : (-> (-> any/c number?))
Gets the height of a graphical object (only called if the predicate returned #t; the first
argument will be the value for which the predicate holds).