Version: 5.1.1
1 Examples Using the GUI Toolbox
The trick is that racket/gui is not generally
available when rendering documentation, because it requires a GUI
context. Text and image 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).