12350
((3) 0 () 23 ((q lib "pict/main.rkt") (q lib "pict/tree-layout.rkt") (q 20262 . 46) (q 14127 . 31) (q lib "pict/code.rkt") (q 4683 . 29) (q lib "pict/conditional.rkt") (q 455 . 10) (q lib "pict/color.rkt") (q 1940 . 37) (q lib "pict/balloon.rkt") (q 0 . 18) (q lib "pict/convert.rkt") (q 13363 . 25) (q 26271 . 13) (q 6444 . 13) (q lib "pict/flash.rkt") (q lib "pict/shadow.rkt") (q 1328 . 9) (q 6734 . 124) (q 3703 . 21) (q 6280 . 7) (q lib "pict/face.rkt")) () (h ! (equal) ((c def c (c (? . 10) q pip-wrap-balloon)) q (25094 . 13)) ((c def c (c (? . 4) q make-code-transformer)) q (31889 . 4)) ((c def c (c (? . 0) q linewidth)) q (17667 . 4)) ((c def c (c (? . 8) q blue)) q (34507 . 3)) ((c def c (c (? . 1) q naive-layered)) q (38642 . 7)) ((c def c (c (? . 0) q hyperlinkize)) q (39634 . 3)) ((c def c (c (? . 0) q pict-descent)) c (? . 11)) ((c def c (c (? . 1) q tree-layout)) q (37867 . 4)) ((c def c (c (? . 0) q ct-find)) c (? . 2)) ((c def c (c (? . 0) q lbl-find)) c (? . 2)) ((c def c (c (? . 0) q scale)) q (16743 . 8)) ((c def c (c (? . 6) q show)) q (37689 . 4)) ((c def c (c (? . 0) q lc-superimpose)) c (? . 3)) ((c def c (c (? . 0) q cc-superimpose)) c (? . 3)) ((c def c (c (? . 0) q colorize)) q (18066 . 5)) ((c def c (c (? . 0) q text-style/c)) q (13232 . 2)) ((c def c (c (? . 0) q angel-wing)) q (23307 . 5)) ((c def c (c (? . 0) q disk)) c (? . 9)) ((c def c (c (? . 0) q argb-pixels->pict)) q (41262 . 4)) ((c def c (c (? . 0) q pip-line)) c (? . 15)) ((c def c (c (? . 0) q linestyle)) q (17768 . 7)) ((c def c (c (? . 0) q filled-rounded-rectangle)) c (? . 5)) ((c def c (c (? . 4) q keyword-color)) q (32408 . 2)) ((c def c (c (? . 4) q comment-color)) q (32349 . 2)) ((c def c (c (? . 0) q rounded-rectangle)) c (? . 5)) ((c def c (c (? . 0) q fade-around-pict)) q (33137 . 5)) ((c def c (c (? . 0) q slide-pict)) q (33279 . 7)) ((c def c (c (? . 0) q lt-superimpose)) c (? . 3)) ((c def c (c (? . 0) q child-pict)) c (? . 7)) ((c form c (c (? . 6) q pict-if)) q (37293 . 5)) ((c def c (c (? . 0) q child-syx)) c (? . 7)) ((c def c (c (? . 8) q magenta)) q (34883 . 3)) ((c def c (c (? . 8) q gray)) q (34723 . 3)) ((c def c (c (? . 12) q prop:pict-convertible?)) q (42498 . 2)) ((c def c (c (? . 17) q shadow-frame)) q (35830 . 27)) ((c def c (c (? . 0) q cc-find)) c (? . 2)) ((c def c (c (? . 0) q filled-rectangle)) c (? . 20)) ((c def c (c (? . 0) q rtl-find)) c (? . 2)) ((c def c (c (? . 8) q black)) q (34615 . 3)) ((c def c (c (? . 0) q htl-append)) c (? . 13)) ((c form c (c (? . 4) q code)) q (29159 . 2)) ((c def c (c (? . 0) q cloud)) q (21827 . 8)) ((c def c (c (? . 0) q scale-color)) q (39707 . 4)) ((c def c (c (? . 0) q filled-ellipse)) c (? . 9)) ((c def c (c (? . 0) q ellipse)) c (? . 9)) ((c def c (c (? . 4) q typeset-code)) q (29098 . 3)) ((c def c (c (? . 16) q outline-flash)) q (28711 . 11)) ((c def c (c (? . 4) q code-colorize-enabled)) q (31339 . 4)) ((c def c (c (? . 0) q child?)) c (? . 7)) ((c def c (c (? . 0) q child-dx)) c (? . 7)) ((c def c (c (? . 4) q get-current-code-font-size)) q (29429 . 4)) ((c form c (c (? . 0) q scale/improve-new-text)) q (18797 . 3)) ((c def c (c (? . 0) q dc)) q (674 . 7)) ((c def c (c (? . 8) q color/c)) q (35058 . 2)) ((c def c (c (? . 0) q standard-fish)) q (22313 . 13)) ((c def c (c (? . 10) q pin-balloon)) q (25622 . 11)) ((c def c (c (? . 4) q current-comment-color)) q (29701 . 4)) ((c def c (c (? . 4) q current-id-color)) q (30031 . 4)) ((c def c (c (? . 8) q brown)) q (34669 . 3)) ((c def c (c (? . 0) q pict-panbox)) c (? . 11)) ((c def c (c (? . 0) q clip-descent)) q (19440 . 3)) ((c def c (c (? . 10) q balloon-point-y)) c (? . 14)) ((c def c (c (? . 0) q cb-find)) c (? . 2)) ((c def c (c (? . 0) q pict-last)) c (? . 11)) ((c def c (c (? . 12) q prop:pict-convertible)) q (42444 . 2)) ((c def c (c (? . 0) q clip-ascent)) q (19513 . 3)) ((c def c (c (? . 0) q child-sx)) c (? . 7)) ((c def c (c (? . 0) q bitmap)) q (6131 . 5)) ((c def c (c (? . 1) q tree-layout?)) q (38463 . 3)) ((c def c (c (? . 0) q slide-pict/center)) q (33444 . 7)) ((c def c (c (? . 8) q red)) q (34291 . 3)) ((c def c (c (? . 0) q cellophane)) q (18243 . 4)) ((c def c (c (? . 8) q green)) q (34453 . 3)) ((c def c (c (? . 0) q hbl-append)) c (? . 13)) ((c def c (c (? . 0) q desktop-machine)) q (23406 . 4)) ((c def c (c (? . 0) q cb-superimpose)) c (? . 3)) ((c def c (c (? . 4) q current-reader-forms)) q (30671 . 4)) ((c def c (c (? . 0) q pict)) c (? . 11)) ((c def c (c (? . 4) q codeblock-pict)) q (32774 . 5)) ((c def c (c (? . 4) q current-code-tt)) q (29298 . 4)) ((c def c (c (? . 4) q code-scripts-enabled)) q (31687 . 4)) ((c def c (c (? . 0) q pict-height)) c (? . 11)) ((c def c (c (? . 0) q rtl-superimpose)) c (? . 3)) ((c def c (c (? . 0) q reverse-animations)) q (33741 . 3)) ((c def c (c (? . 10) q balloon)) q (25945 . 9)) ((c def c (c (? . 0) q use-last*)) q (20147 . 4)) ((c def c (c (? . 8) q yellow)) q (34398 . 3)) ((c def c (c (? . 0) q bitmap-draft-mode)) q (13265 . 4)) ((c def c (c (? . 4) q current-const-list)) q (30986 . 4)) ((c def c (c (? . 0) q cbl-find)) c (? . 2)) ((c def c (c (? . 4) q mzscheme-const-list)) q (31291 . 2)) ((c def c (c (? . 10) q balloon?)) c (? . 14)) ((c def c (c (? . 0) q struct:child)) c (? . 7)) ((c def c (c (? . 10) q wrap-balloon)) q (24587 . 13)) ((c def c (c (? . 0) q fast-middle)) q (34106 . 3)) ((c def c (c (? . 0) q use-last)) q (20040 . 4)) ((c def c (c (? . 0) q inset/clip)) q (18419 . 14)) ((c def c (c (? . 8) q purple)) q (34560 . 3)) ((c def c (c (? . 0) q file-icon)) q (22139 . 6)) ((c def c (c (? . 0) q pip-arrows-line)) c (? . 15)) ((c def c (c (? . 0) q child)) c (? . 7)) ((c def c (c (? . 0) q ct-superimpose)) c (? . 3)) ((c def c (c (? . 0) q rt-superimpose)) c (? . 3)) ((c def c (c (? . 4) q current-const-color)) q (30351 . 4)) ((c def c (c (? . 4) q current-literal-list)) q (31111 . 4)) ((c def c (c (? . 0) q lb-find)) c (? . 2)) ((c form c (c (? . 4) q define-code)) q (31791 . 3)) ((c def c (c (? . 0) q vl-append)) c (? . 13)) ((c def c (c (? . 0) q fade-pict)) q (32942 . 6)) ((c def c (c (? . 0) q freeze)) q (19010 . 3)) ((c def c (c (? . 0) q ctl-superimpose)) c (? . 3)) ((c def c (c (? . 22) q face*)) q (26958 . 30)) ((c def c (c (? . 10) q balloon-pict)) c (? . 14)) ((c def c (c (? . 0) q rotate)) q (17507 . 4)) ((c def c (c (? . 0) q vc-append)) c (? . 13)) ((c def c (c (? . 0) q make-pict-drawer)) q (41379 . 4)) ((c def c (c (? . 0) q hline)) c (? . 18)) ((c def c (c (? . 0) q dc-for-text-size)) q (40442 . 4)) ((c def c (c (? . 8) q orange)) q (34343 . 3)) ((c def c (c (? . 8) q white)) q (34776 . 3)) ((c def c (c (? . 4) q code-align)) q (30798 . 3)) ((c def c (c (? . 0) q ht-append)) c (? . 13)) ((c def c (c (? . 0) q jack-o-lantern)) q (22907 . 9)) ((c def c (c (? . 12) q pict-convert)) q (42616 . 3)) ((c def c (c (? . 4) q prop:code-transformer)) q (32062 . 2)) ((c def c (c (? . 0) q split-phase)) q (34188 . 3)) ((c def c (c (? . 0) q frame)) q (1590 . 9)) ((c def c (c (? . 0) q child-sxy)) c (? . 7)) ((c def c (c (? . 16) q filled-flash)) q (28329 . 11)) ((c def c (c (? . 0) q make-pict)) c (? . 11)) ((c def c (c (? . 17) q blur)) q (35091 . 5)) ((c def c (c (? . 10) q balloon-color)) q (26603 . 2)) ((c def c (c (? . 0) q lift-above-baseline)) q (19585 . 4)) ((c def c (c (? . 0) q pin-line)) c (? . 19)) ((c def c (c (? . 10) q balloon-point-x)) c (? . 14)) ((c def c (c (? . 0) q current-expected-text-scale)) q (42289 . 4)) ((c def c (c (? . 0) q vline)) c (? . 18)) ((c def c (c (? . 4) q code-pict-bottom-line-pict)) q (32580 . 3)) ((c def c (c (? . 0) q rc-superimpose)) c (? . 3)) ((c def c (c (? . 0) q make-child)) c (? . 7)) ((c def c (c (? . 0) q pict?)) c (? . 11)) ((c def c (c (? . 0) q ghost)) q (17601 . 3)) ((c def c (c (? . 4) q current-literal-color)) q (30186 . 4)) ((c def c (c (? . 0) q pin-arrows-line)) c (? . 19)) ((c def c (c (? . 0) q rbl-superimpose)) c (? . 3)) ((c def c (c (? . 1) q tree-edge)) q (38036 . 9)) ((c def c (c (? . 0) q rb-find)) c (? . 2)) ((c def c (c (? . 17) q shadow)) q (35277 . 13)) ((c def c (c (? . 0) q rb-superimpose)) c (? . 3)) ((c def c (c (? . 10) q make-balloon)) c (? . 14)) ((c form c (c (? . 4) q define-exec-code/scale)) q (32255 . 3)) ((c def c (c (? . 1) q binary-tree-layout?)) q (38521 . 3)) ((c def c (c (? . 0) q hc-append)) c (? . 13)) ((c def c (c (? . 0) q lb-superimpose)) c (? . 3)) ((c def c (c (? . 0) q thermometer)) q (23522 . 20)) ((c def c (c (? . 0) q pict-ascent)) c (? . 11)) ((c def c (c (? . 0) q pict-draw)) c (? . 11)) ((c def c (c (? . 0) q pip-arrow-line)) c (? . 15)) ((c def c (c (? . 0) q draw-pict)) q (40787 . 6)) ((c def c (c (? . 0) q launder)) q (21759 . 3)) ((c def c (c (? . 0) q table)) q (15936 . 15)) ((c def c (c (? . 0) q lbl-superimpose)) c (? . 3)) ((c def c (c (? . 4) q code-colorize-quote-enabled)) q (31445 . 4)) ((c def c (c (? . 0) q rt-find)) c (? . 2)) ((c def c (c (? . 0) q ltl-superimpose)) c (? . 3)) ((c def c (c (? . 0) q rectangle)) c (? . 20)) ((c def c (c (? . 0) q blank)) q (851 . 15)) ((c def c (c (? . 0) q inset)) q (19077 . 14)) ((c def c (c (? . 0) q cbl-superimpose)) c (? . 3)) ((c def c (c (? . 0) q hb-append)) c (? . 13)) ((c def c (c (? . 0) q circle)) c (? . 9)) ((c def c (c (? . 0) q black-and-white)) q (18916 . 4)) ((c def c (c (? . 0) q lc-find)) c (? . 2)) ((c def c (c (? . 0) q color-series)) q (39838 . 17)) ((c def c (c (? . 4) q current-base-color)) q (30512 . 4)) ((c def c (c (? . 6) q hide)) q (37778 . 4)) ((c def c (c (? . 10) q balloon-enable-3d)) q (26662 . 4)) ((c def c (c (? . 4) q current-code-line-sep)) q (29598 . 4)) ((c def c (c (? . 0) q child-sy)) c (? . 7)) ((c def c (c (? . 0) q lt-find)) c (? . 2)) ((c def c (c (? . 4) q literal-color)) q (32521 . 2)) ((c def c (c (? . 0) q clip)) q (18355 . 3)) ((c def c (c (? . 0) q pin-under)) q (15560 . 11)) ((c def c (c (? . 4) q racket/base-const-list)) q (31240 . 2)) ((c def c (c (? . 4) q current-keyword-color)) q (29866 . 4)) ((c def c (c (? . 8) q light)) q (34939 . 3)) ((c def c (c (? . 0) q rc-find)) c (? . 2)) ((c def c (c (? . 0) q sequence-animations)) q (33616 . 3)) ((c def c (c (? . 0) q arrow)) c (? . 21)) ((c def c (c (? . 0) q ctl-find)) c (? . 2)) ((c def c (c (? . 4) q current-code-font)) q (29185 . 4)) ((c def c (c (? . 0) q fast-edges)) q (34025 . 3)) ((c def c (c (? . 0) q child-dy)) c (? . 7)) ((c def c (c (? . 0) q panorama)) q (19971 . 3)) ((c def c (c (? . 4) q id-color)) q (32467 . 2)) ((c def c (c (? . 0) q fast-end)) q (33946 . 3)) ((c def c (c (? . 8) q dark)) q (34999 . 3)) ((c def c (c (? . 4) q current-keyword-list)) q (30857 . 4)) ((c def c (c (? . 0) q show-pict)) q (41499 . 15)) ((c def c (c (? . 0) q drop-below-ascent)) q (19688 . 4)) ((c def c (c (? . 1) q tree-edge?)) q (38586 . 3)) ((c def c (c (? . 0) q convert-bounds-padding)) q (40579 . 5)) ((c def c (c (? . 0) q pict-width)) c (? . 11)) ((c def c (c (? . 0) q struct:pict)) c (? . 11)) ((c def c (c (? . 0) q pict->argb-pixels)) q (41098 . 4)) ((c def c (c (? . 4) q code-transformer?)) q (32116 . 3)) ((c def c (c (? . 0) q arrowhead)) c (? . 21)) ((c def c (c (? . 1) q hv-alternating)) q (39299 . 7)) ((c form c (c (? . 4) q define-exec-code)) q (32179 . 3)) ((c def c (c (? . 4) q code-italic-underscore-enabled)) q (31563 . 4)) ((c def c (c (? . 0) q pict->bitmap)) q (40927 . 4)) ((c def c (c (? . 22) q default-face-color)) q (26760 . 2)) ((c def c (c (? . 0) q pict-children)) c (? . 11)) ((c def c (c (? . 0) q ltl-find)) c (? . 2)) ((c def c (c (? . 0) q pin-arrow-line)) c (? . 19)) ((c form c (c (? . 6) q pict-cond)) q (37423 . 5)) ((c def c (c (? . 22) q face)) q (26823 . 4)) ((c def c (c (? . 1) q binary-tidier)) q (38967 . 7)) ((c def c (c (? . 8) q cyan)) q (34830 . 3)) ((c def c (c (? . 0) q text)) q (1141 . 6)) ((c def c (c (? . 0) q scale-to-fit)) q (16960 . 14)) ((c def c (c (? . 0) q pin-over)) q (15193 . 11)) ((c def c (c (? . 12) q pict-convertible?)) q (42553 . 3)) ((c def c (c (? . 0) q refocus)) q (19858 . 4)) ((c def c (c (? . 0) q baseless)) q (19789 . 3)) ((c def c (c (? . 0) q rbl-find)) c (? . 2)) ((c form c (c (? . 6) q pict-case)) q (37551 . 5)) ((c def c (c (? . 4) q pict->code-pict)) q (32667 . 4)) ((c def c (c (? . 0) q vr-append)) c (? . 13)) ((c def c (c (? . 0) q fast-start)) q (33865 . 3)) ((c def c (c (? . 0) q pict-path?)) q (21703 . 3))))
struct
(struct pict (draw
              width
              height
              ascent
              descent
              children
              panbox
              last)
    #:extra-constructor-name make-pict)
  draw : any/c
  width : real?
  height : real?
  ascent : real?
  descent : real?
  children : (listof child?)
  panbox : (or/c #f any/c)
  last : (or/c #f pict-path?)
struct
(struct child (pict dx dy sx sy sxy syx)
    #:extra-constructor-name make-child)
  pict : pict?
  dx : real?
  dy : real?
  sx : real?
  sy : real?
  sxy : real?
  syx : real?
procedure
(dc draw w h [a d]) -> pict?
  draw : (-> (is-a?/c dc<%>) real? real? any)
  w : real?
  h : real?
  a : real? = h
  d : real? = 0
procedure
(blank [size]) -> pict?
  size : real? = 0
(blank w h) -> pict?
  w : real?
  h : real?
(blank w a d) -> pict?
  w : real?
  a : real?
  d : real?
(blank w h a d) -> pict?
  w : real?
  h : real?
  a : real?
  d : real?
procedure
(text content [style size angle]) -> pict?
  content : string?
  style : text-style/c = null
  size : (integer-in 1 1024) = 12
  angle : real? = 0
procedure
(hline w h [#:segment seg-length]) -> pict?
  w : real?
  h : real?
  seg-length : (or/c #f real?) = #f
(vline w h [#:segment seg-length]) -> pict?
  w : real?
  h : real?
  seg-length : (or/c #f real?) = #f
procedure
(frame  pict                     
       [#:segment seg-length     
        #:color color            
        #:line-width width]) -> pict?
  pict : pict-convertible?
  seg-length : (or/c #f real?) = #f
  color : (or/c #f string? (is-a?/c color<%>)) = #f
  width : (or/c #f real?) = #f
procedure
(ellipse  w                                 
          h                                 
         [#:border-color border-color       
          #:border-width border-width]) -> pict?
  w : real?
  h : real?
  border-color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-width : (or/c #f real?) = #f
(circle  diameter                          
        [#:border-color border-color       
         #:border-width border-width]) -> pict?
  diameter : real?
  border-color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-width : (or/c #f real?) = #f
(filled-ellipse  w                                 
                 h                                 
                [#:draw-border? draw-border?       
                 #:color color                     
                 #:border-color border-color       
                 #:border-width border-width]) -> pict?
  w : real?
  h : real?
  draw-border? : any/c = #t
  color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-width : (or/c #f real?) = #f
(disk  diameter                          
      [#:draw-border? draw-border?       
       #:color color                     
       #:border-color border-color       
       #:border-width border-width]) -> pict?
  diameter : (and/c rational? (not/c negative?))
  draw-border? : any/c = #t
  color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-width : (or/c #f real?) = #f
procedure
(rectangle  w                                 
            h                                 
           [#:border-color border-color       
            #:border-width border-width]) -> pict?
  w : real?
  h : real?
  border-color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-width : (or/c #f real?) = #f
(filled-rectangle  w                                 
                   h                                 
                  [#:draw-border? draw-border?       
                   #:color color                     
                   #:border-color border-color       
                   #:border-width border-width]) -> pict?
  w : real?
  h : real?
  draw-border? : any/c = #t
  color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-width : (or/c #f real?) = #f
procedure
(rounded-rectangle  w                                 
                    h                                 
                   [corner-radius                     
                    #:angle angle                     
                    #:border-color border-color       
                    #:border-width border-width]) -> pict?
  w : real?
  h : real?
  corner-radius : real? = -0.25
  angle : real? = 0
  border-color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-width : (or/c #f real?) = #f
(filled-rounded-rectangle  w                                 
                           h                                 
                          [corner-radius                     
                           #:angle angle                     
                           #:draw-border? draw-border?       
                           #:color color                     
                           #:border-color border-color       
                           #:border-width border-width]) -> pict?
  w : real?
  h : real?
  corner-radius : real? = -0.25
  angle : real? = 0
  draw-border? : any/c = #t
  color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-color : (or/c #f string? (is-a?/c color<%>)) = #f
  border-width : (or/c #f real?) = #f
procedure
(bitmap img) -> pict
  img : (or/c path-string?
              (is-a?/c bitmap%)
              (is-a?/c image-snip%))
procedure
(arrow size radians) -> pict?
  size : real?
  radians : real?
(arrowhead size radians) -> pict?
  size : real?
  radians : real?
procedure
(pip-line dx dy size) -> pict?
  dx : real?
  dy : real?
  size : real?
(pip-arrow-line dx dy size) -> pict?
  dx : real?
  dy : real?
  size : real?
(pip-arrows-line dx dy size) -> pict?
  dx : real?
  dy : real?
  size : real?
procedure
(pin-line  pict                                  
           src                                   
           find-src                              
           dest                                  
           find-dest                             
          [#:start-angle start-angle             
           #:end-angle end-angle                 
           #:start-pull start-pull               
           #:end-pull end-pull                   
           #:line-width line-width               
           #:color color                         
           #:alpha alpha                         
           #:style style                         
           #:under? under?                       
           #:label label                         
           #:x-adjust-label x-adjust-label       
           #:y-adjust-label y-adjust-label]) -> pict?
  pict : pict-convertible?
  src : pict-path?
  find-src : (pict-convertible? pict-path? . -> . (values real? real?))
  dest : pict-path?
  find-dest : (pict-convertible? pict-path? . -> . (values real? real?))
  start-angle : (or/c real? #f) = #f
  end-angle : (or/c real? #f) = #f
  start-pull : real? = 1/4
  end-pull : real? = 1/4
  line-width : (or/c #f real?) = #f
  color : (or/c #f string? (is-a?/c color%)) = #f
  alpha : (real-in 0.0 1.0) = #f
  style : (or/c 'transparent 'solid 'xor 'hilite        = #f
                'dot 'long-dash 'short-dash 'dot-dash
                'xor-dot 'xor-long-dash 'xor-short-dash
                'xor-dot-dash #f)
  under? : any/c = #f
  label : pict? = (blank)
  x-adjust-label : real? = 0
  y-adjust-label : real? = 0
(pin-arrow-line  arrow-size                              
                 pict                                    
                 src                                     
                 find-src                                
                 dest                                    
                 find-dest                               
                [#:start-angle start-angle               
                 #:end-angle end-angle                   
                 #:start-pull start-pull                 
                 #:end-pull end-pull                     
                 #:line-width line-width                 
                 #:color color                           
                 #:alpha alpha                           
                 #:style style                           
                 #:under? under?                         
                 #:label label                           
                 #:x-adjust-label x-adjust-label         
                 #:y-adjust-label y-adjust-label         
                 #:solid? solid?                         
                 #:hide-arrowhead? hide-arrowhead?]) -> pict?
  arrow-size : real?
  pict : pict-convertible?
  src : pict-path?
  find-src : (pict-convertible? pict-path? . -> . (values real? real?))
  dest : pict-path?
  find-dest : (pict-convertible? pict-path? . -> . (values real? real?))
  start-angle : (or/c real? #f) = #f
  end-angle : (or/c real? #f) = #f
  start-pull : real? = 1/4
  end-pull : real? = 1/4
  line-width : (or/c #f real?) = #f
  color : (or/c #f string? (is-a?/c color%)) = #f
  alpha : (real-in 0.0 1.0) = #f
  style : (or/c 'transparent 'solid 'xor 'hilite        = #f
                'dot 'long-dash 'short-dash 'dot-dash
                'xor-dot 'xor-long-dash 'xor-short-dash
                'xor-dot-dash #f)
  under? : any/c = #f
  label : pict? = (blank)
  x-adjust-label : real? = 0
  y-adjust-label : real? = 0
  solid? : any/c = #t
  hide-arrowhead? : any/c = #f
(pin-arrows-line  arrow-size                              
                  pict                                    
                  src                                     
                  find-src                                
                  dest                                    
                  find-dest                               
                 [#:start-angle start-angle               
                  #:end-angle end-angle                   
                  #:start-pull start-pull                 
                  #:end-pull end-pull                     
                  #:line-width line-width                 
                  #:color color                           
                  #:alpha alpha                           
                  #:style style                           
                  #:under? under?                         
                  #:label label                           
                  #:x-adjust-label x-adjust-label         
                  #:y-adjust-label y-adjust-label         
                  #:solid? solid?                         
                  #:hide-arrowhead? hide-arrowhead?]) -> pict?
  arrow-size : real?
  pict : pict-convertible?
  src : pict-path?
  find-src : (pict-convertible? pict-path? . -> . (values real? real?))
  dest : pict-path?
  find-dest : (pict-convertible? pict-path? . -> . (values real? real?))
  start-angle : (or/c real? #f) = #f
  end-angle : (or/c real? #f) = #f
  start-pull : real? = 1/4
  end-pull : real? = 1/4
  line-width : (or/c #f real?) = #f
  color : (or/c #f string? (is-a?/c color%)) = #f
  alpha : (real-in 0.0 1.0) = #f
  style : (or/c 'transparent 'solid 'xor 'hilite        = #f
                'dot 'long-dash 'short-dash 'dot-dash
                'xor-dot 'xor-long-dash 'xor-short-dash
                'xor-dot-dash #f)
  under? : any/c = #f
  label : pict-convertible? = (blank)
  x-adjust-label : real? = 0
  y-adjust-label : real? = 0
  solid? : any/c = #t
  hide-arrowhead? : any/c = #f
value
text-style/c : contract?
parameter
(bitmap-draft-mode) -> boolean?
(bitmap-draft-mode on?) -> void?
  on? : any/c
procedure
(vl-append [d] pict ...) -> pict?
  d : real? = 0.0
  pict : pict-convertible?
(vc-append [d] pict ...) -> pict?
  d : real? = 0.0
  pict : pict-convertible?
(vr-append [d] pict ...) -> pict?
  d : real? = 0.0
  pict : pict-convertible?
(ht-append [d] pict ...) -> pict?
  d : real? = 0.0
  pict : pict-convertible?
(htl-append [d] pict ...) -> pict?
  d : real? = 0.0
  pict : pict-convertible?
(hc-append [d] pict ...) -> pict?
  d : real? = 0.0
  pict : pict-convertible?
(hbl-append [d] pict ...) -> pict?
  d : real? = 0.0
  pict : pict-convertible?
(hb-append [d] pict ...) -> pict?
  d : real? = 0.0
  pict : pict-convertible?
procedure
(lt-superimpose pict ...) -> pict?
  pict : pict-convertible?
(ltl-superimpose pict ...) -> pict?
  pict : pict-convertible?
(lc-superimpose pict ...) -> pict?
  pict : pict-convertible?
(lbl-superimpose pict ...) -> pict?
  pict : pict-convertible?
(lb-superimpose pict ...) -> pict?
  pict : pict-convertible?
(ct-superimpose pict ...) -> pict?
  pict : pict-convertible?
(ctl-superimpose pict ...) -> pict?
  pict : pict-convertible?
(cc-superimpose pict ...) -> pict?
  pict : pict-convertible?
(cbl-superimpose pict ...) -> pict?
  pict : pict-convertible?
(cb-superimpose pict ...) -> pict?
  pict : pict-convertible?
(rt-superimpose pict ...) -> pict?
  pict : pict-convertible?
(rtl-superimpose pict ...) -> pict?
  pict : pict-convertible?
(rc-superimpose pict ...) -> pict?
  pict : pict-convertible?
(rbl-superimpose pict ...) -> pict?
  pict : pict-convertible?
(rb-superimpose pict ...) -> pict?
  pict : pict-convertible?
procedure
(pin-over base dx dy pict) -> pict?
  base : pict-convertible?
  dx : real?
  dy : real?
  pict : pict-convertible?
(pin-over base find-pict find pict) -> pict?
  base : pict-convertible?
  find-pict : pict-path?
  find : (pict-convertible? pict-path? . -> . (values real? real?))
  pict : pict-convertible?
procedure
(pin-under base dx dy pict) -> pict?
  base : pict-convertible?
  dx : real?
  dy : real?
  pict : pict-convertible?
(pin-under base find-pict find pict) -> pict?
  base : pict-convertible?
  find-pict : pict-convertible?
  find : (pict-convertible? pict-path? . -> . (values real? real?))
  pict : pict-convertible?
procedure
(table ncols          
       picts          
       col-aligns     
       row-aligns     
       col-seps       
       row-seps)  -> pict?
  ncols : exact-positive-integer?
  picts : (non-empty-listof pict-convertible?)
  col-aligns : (or/c (list*of (->* () #:rest (listof pict-convertible?) pict-convertible?))
                     (listof (->* () #:rest (listof pict-convertible?) pict-convertible?)))
  row-aligns : (or/c (list*of (->* () #:rest (listof pict-convertible?) pict-convertible?))
                     (listof (->* () #:rest (listof pict-convertible?) pict-convertible?)))
  col-seps : (or/c (list*of real?) (listof real?))
  row-seps : (or/c (list*of real?) (listof real?))
procedure
(scale pict factor) -> pict?
  pict : pict-convertible?
  factor : real?
(scale pict w-factor h-factor) -> pict?
  pict : pict-convertible?
  w-factor : real?
  h-factor : real?
procedure
(scale-to-fit pict size-pict [#:mode mode]) -> pict?
  pict : pict-convertible?
  size-pict : pict-convertible?
  mode : (or/c 'preserve 'inset         = 'preserve
               'preserve/max 'inset/max
               'distort)
(scale-to-fit pict width height [#:mode mode]) -> pict?
  pict : pict-convertible?
  width : real?
  height : real?
  mode : (or/c 'preserve 'inset         = 'preserve
               'preserve/max 'inset/max
               'distort)
procedure
(rotate pict theta) -> pict?
  pict : pict-convertible?
  theta : real?
procedure
(ghost pict) -> pict?
  pict : pict-convertible?
procedure
(linewidth w pict) -> pict?
  w : (or/c real? #f)
  pict : pict-convertible?
procedure
(linestyle style pict) -> pict?
  style : (or/c 'transparent 'solid 'xor 'hilite
                'dot 'long-dash 'short-dash 'dot-dash
                'xor-dot 'xor-long-dash 'xor-short-dash
                'xor-dot-dash)
  pict : pict-convertible?
procedure
(colorize pict color) -> pict?
  pict : pict-convertible?
  color : (or/c string? (is-a?/c color%)
                (list/c byte? byte? byte?))
procedure
(cellophane pict opacity) -> pict?
  pict : pict-convertible?
  opacity : (real-in 0 1)
procedure
(clip pict) -> pict
  pict : pict-convertible?
procedure
(inset/clip pict amt) -> pict?
  pict : pict-convertible?
  amt : real?
(inset/clip pict h-amt v-amt) -> pict?
  pict : pict-convertible?
  h-amt : real?
  v-amt : real?
(inset/clip pict l-amt t-amt r-amt b-amt) -> pict?
  pict : pict-convertible?
  l-amt : real?
  t-amt : real?
  r-amt : real?
  b-amt : real?
syntax
(scale/improve-new-text pict-expr scale-expr)
(scale/improve-new-text pict-expr x-scale-expr y-scale-expr)
parameter
(black-and-white) -> boolean?
(black-and-white on?) -> void?
  on? : any/c
procedure
(freeze pict) -> pict?
  pict : pict-convertible?
procedure
(inset pict amt) -> pict?
  pict : pict-convertible?
  amt : real?
(inset pict h-amt v-amt) -> pict?
  pict : pict-convertible?
  h-amt : real?
  v-amt : real?
(inset pict l-amt t-amt r-amt b-amt) -> pict?
  pict : pict-convertible?
  l-amt : real?
  t-amt : real?
  r-amt : real?
  b-amt : real?
procedure
(clip-descent pict) -> pict?
  pict : pict-convertible?
procedure
(clip-ascent pict) -> pict?
  pict : pict-convertible?
procedure
(lift-above-baseline pict amt) -> pict?
  pict : pict-convertible?
  amt : real?
procedure
(drop-below-ascent pict amt) -> pict?
  pict : pict-convertible?
  amt : real?
procedure
(baseless pict) -> pict?
  pict : pict-convertible?
procedure
(refocus pict sub-pict) -> pict?
  pict : pict-convertible?
  sub-pict : pict-convertible?
procedure
(panorama pict) -> pict?
  pict : pict-convertible?
procedure
(use-last pict sub-pict) -> pict?
  pict : pict-convertible?
  sub-pict : pict-path?
procedure
(use-last* pict sub-pict) -> pict?
  pict : pict-convertible?
  sub-pict : pict-convertible?
procedure
(lt-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(ltl-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(lc-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(lbl-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(lb-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(ct-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(ctl-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(cc-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(cbl-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(cb-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(rt-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(rtl-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(rc-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(rbl-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
(rb-find pict find) -> real? real?
  pict : pict-convertible?
  find : pict-path?
procedure
(pict-path? v) -> boolean?
  v : any/c
procedure
(launder pict) -> pict?
  pict : pict-convertible?
procedure
(cloud w h [color #:style style]) -> pict?
  w : real?
  h : real?
  color : (or/c string? (is-a?/c color%)) = "gray"
  style : (listof (or/c 'square         = null
                        'nw 'ne 'sw 'se
                         'wide))
procedure
(file-icon w h color [shaded?]) -> pict?
  w : real?
  h : real?
  color : (or/c string? (is-a?/c color%) any/c)
  shaded? : any/c = #f
procedure
(standard-fish  w                             
                h                             
               [#:direction direction         
                #:color color                 
                #:eye-color eye-color         
                #:open-mouth open-mouth]) -> pict?
  w : real?
  h : real?
  direction : (or/c 'left 'right) = 'left
  color : (or/c string? (is-a?/c color%)) = "blue"
  eye-color : (or/c string? (is-a?/c color%) #f) = "black"
  open-mouth : (or/c boolean? real?) = #f
procedure
(jack-o-lantern  size              
                [pumpkin-color     
                 face-color        
                 stem-color])  -> pict?
  size : real?
  pumpkin-color : (or/c string? (is-a?/c color%)) = "orange"
  face-color : (or/c string? (is-a?/c color%)) = "black"
  stem-color : (or/c string? (is-a?/c color%)) = "brown"
procedure
(angel-wing w h left?) -> pict?
  w : real?
  h : real?
  left? : any/c
procedure
(desktop-machine scale [style]) -> pict?
  scale : real?
  style : (listof symbol?) = null
procedure
(thermometer [#:height-% height-%                             
              #:color-% color-%                               
              #:ticks ticks                                   
              #:start-color start-color                       
              #:end-color end-color                           
              #:top-circle-diameter top-circle-diameter       
              #:bottom-circle-diameter bottom-circle-diameter 
              #:stem-height stem-height                       
              #:mercury-inset mercury-inset])                 
 -> pict?
  height-% : (between/c 0 1) = 1
  color-% : (between/c 0 1) = height-%
  ticks : exact-nonnegative-integer? = 4
  start-color : (or/c string? (is-a?/c color%)) = "lightblue"
  end-color : (or/c string? (is-a?/c color%)) = "lightcoral"
  top-circle-diameter : (>/c 0) = 40
  bottom-circle-diameter : (>/c 0) = 80
  stem-height : (>/c 0) = 180
  mercury-inset : (>/c 0) = 8
procedure
(wrap-balloon  pict                
               spike               
               dx                  
               dy                  
              [color               
               corner-radius]) -> balloon?
  pict : pict?
  spike : (or/c 'n 's 'e 'w 'ne 'se 'sw 'nw)
  dx : real?
  dy : real?
  color : (or/c string? (is-a?/c color%)) = balloon-color
  corner-radius : (and/c real? (not/c negative?)) = 32
procedure
(pip-wrap-balloon  pict                
                   spike               
                   dx                  
                   dy                  
                  [color               
                   corner-radius]) -> pict?
  pict : pict?
  spike : (or/c 'n 's 'e 'w 'ne 'se 'sw 'nw)
  dx : real?
  dy : real?
  color : (or/c string? (is-a?/c color%)) = balloon-color
  corner-radius : (and/c real? (not/c negative?)) = 32
procedure
(pin-balloon balloon base x y) -> pict?
  balloon : balloon?
  base : pict?
  x : real?
  y : real?
(pin-balloon balloon base at-pict find) -> pict?
  balloon : balloon?
  base : pict?
  at-pict : pict-path?
  find : (pict? pict-path? . -> . (values real? real?))
procedure
(balloon w h corner-radius spike dx dy [color]) -> balloon?
  w : real?
  h : real?
  corner-radius : (and/c real? (not/c negative?))
  spike : (or/c 'n 's 'e 'w 'ne 'se 'sw 'nw)
  dx : real?
  dy : real?
  color : (or/c string? (is-a?/c color%)) = balloon-color
procedure
(balloon? v) -> boolean?
  v : any/c
(make-balloon pict x y) -> balloon?
  pict : pict?
  x : real?
  y : real?
(balloon-pict balloon) -> pict?
  balloon : balloon?
(balloon-point-x balloon) -> real?
  balloon : balloon?
(balloon-point-y balloon) -> real?
  balloon : balloon?
value
balloon-color : (or/c string? (is-a?/c color%))
parameter
(balloon-enable-3d) -> boolean?
(balloon-enable-3d on?) -> void?
  on? : any/c
value
default-face-color : (or/c string (is-a?/c color%))
procedure
(face mood [color]) -> pict?
  mood : symbol?
  color : (or/c string (is-a?/c color%)) = default-face-color
procedure
(face*  eyebrow-kind                               
        mouth-kind                                 
        frown?                                     
        color                                      
        eye-inset                                  
        eyebrow-dy                                 
        pupil-dx                                   
        pupil-dy                                   
       [#:eyebrow-shading? eyebrow-on?             
        #:mouth-shading? mouth-on?                 
        #:eye-shading? eye-on?                     
        #:tongue-shading? tongue-on?               
        #:face-background-shading? face-bg-on?     
        #:teeth? teeth-on?])                   -> pict?
  eyebrow-kind : (or/c 'none 'normal 'worried 'angry)
  mouth-kind : (or/c 'plain 'smaller 'narrow 'medium 'large
                     'huge 'grimace 'oh 'tongue)
  frown? : any/c
  color : (or/c string (is-a?/c color%))
  eye-inset : real?
  eyebrow-dy : real?
  pupil-dx : real?
  pupil-dy : real?
  eyebrow-on? : any/c = #t
  mouth-on? : any/c = #t
  eye-on? : any/c = #t
  tongue-on? : any/c = #t
  face-bg-on? : any/c = #t
  teeth-on? : any/c = #t
procedure
(filled-flash  width              
               height             
              [n-points           
               spike-fraction     
               rotation])     -> pict?
  width : real?
  height : real?
  n-points : exact-positive-integer? = 10
  spike-fraction : (real-in 0 1) = 0.25
  rotation : real? = 0
procedure
(outline-flash  width              
                height             
               [n-points           
                spike-fraction     
                rotation])     -> pict?
  width : real?
  height : real?
  n-points : exact-positive-integer? = 10
  spike-fraction : (real-in 0 1) = 0.25
  rotation : real? = 0
procedure
(typeset-code stx) -> pict?
  stx : syntax?
syntax
(code datum ...)
parameter
(current-code-font) -> text-style/c
(current-code-font style) -> void?
  style : text-style/c
parameter
(current-code-tt) -> (string? . -> . pict?)
(current-code-tt proc) -> void?
  proc : (string? . -> . pict?)
parameter
(get-current-code-font-size) -> (-> exact-nonnegative-integer?)
(get-current-code-font-size proc) -> void?
  proc : (-> exact-nonnegative-integer?)
parameter
(current-code-line-sep) -> real?
(current-code-line-sep amt) -> void?
  amt : real?
parameter
(current-comment-color) -> (or/c string? (is-a?/c color%))
(current-comment-color color) -> void?
  color : (or/c string? (is-a?/c color%))
parameter
(current-keyword-color) -> (or/c string? (is-a?/c color%))
(current-keyword-color color) -> void?
  color : (or/c string? (is-a?/c color%))
parameter
(current-id-color) -> (or/c string? (is-a?/c color%))
(current-id-color color) -> void?
  color : (or/c string? (is-a?/c color%))
parameter
(current-literal-color) -> (or/c string? (is-a?/c color%))
(current-literal-color color) -> void?
  color : (or/c string? (is-a?/c color%))
parameter
(current-const-color) -> (or/c string? (is-a?/c color%))
(current-const-color color) -> void?
  color : (or/c string? (is-a?/c color%))
parameter
(current-base-color) -> (or/c string? (is-a?/c color%))
(current-base-color color) -> void?
  color : (or/c string? (is-a?/c color%))
parameter
(current-reader-forms) -> (listof symbol?)
(current-reader-forms syms) -> void?
  syms : (listof symbol?)
procedure
(code-align pict) -> pict?
  pict : pict?
parameter
(current-keyword-list) -> (listof string?)
(current-keyword-list names) -> void?
  names : (listof string?)
parameter
(current-const-list) -> (listof string?)
(current-const-list names) -> void?
  names : (listof string?)
parameter
(current-literal-list) -> (listof string?)
(current-literal-list names) -> void?
  names : (listof string?)
value
racket/base-const-list : (listof string?)
value
mzscheme-const-list : (listof string?)
parameter
(code-colorize-enabled) -> boolean?
(code-colorize-enabled on?) -> void?
  on? : any/c
parameter
(code-colorize-quote-enabled) -> boolean?
(code-colorize-quote-enabled on?) -> void?
  on? : any/c
parameter
(code-italic-underscore-enabled) -> boolean?
(code-italic-underscore-enabled on?) -> void?
  on? : any/c
parameter
(code-scripts-enabled) -> boolean?
(code-scripts-enabled on?) -> void?
  on? : any/c
syntax
(define-code code-id typeset-code-id)
(define-code code-id typeset-code-id escape-id)
procedure
(make-code-transformer proc-or-stx) -> code-transformer?
  proc-or-stx : (or/c (syntax? . -> . (or/c syntax? #f))
                      syntax?)
value
prop:code-transformer : struct-type-property?
procedure
(code-transformer? v) -> boolean?
  v : any/c
syntax
(define-exec-code (pict-id runnable-id string-id)
  datum ...)
syntax
(define-exec-code/scale scale-expr (pict-id runnable-id string-id)
  datum ...)
value
comment-color : (or/c string? (is-a?/c color%))
value
keyword-color : (or/c string? (is-a?/c color%))
value
id-color : (or/c string? (is-a?/c color%))
value
literal-color : (or/c string? (is-a?/c color%))
procedure
(code-pict-bottom-line-pict pict) -> (or/c pict? #f)
  pict : pict?
procedure
(pict->code-pict pict bl-pict) -> pict?
  pict : pict?
  bl-pict : (or/c pict? #f)
procedure
(codeblock-pict  code                          
                [#:keep-lang-line? keep?]) -> pict?
  code : string?
  keep? : any/c = #t
procedure
(fade-pict n p1 p2 [#:combine combine]) -> pict?
  n : (real-in 0.0 1.0)
  p1 : pict?
  p2 : pict?
  combine : (pict? pict? . -> . pict?) = cc-superimpose
procedure
(fade-around-pict n p1 make-p2) -> pict?
  n : (real-in 0.0 1.0)
  p1 : pict?
  make-p2 : (pict? . -> . pict?)
procedure
(slide-pict base p p-from p-to n) -> pict?
  base : pict?
  p : pict?
  p-from : pict?
  p-to : pict?
  n : (real-in 0.0 1.0)
procedure
(slide-pict/center base p p-from p-to n) -> pict?
  base : pict?
  p : pict?
  p-from : pict?
  p-to : pict?
  n : (real-in 0.0 1.0)
procedure
(sequence-animations gen ...) -> (-> (real-in 0.0 1.0) pict?)
  gen : (-> (real-in 0.0 1.0) pict?)
procedure
(reverse-animations gen ...) -> (-> (real-in 0.0 1.0) pict?)
  gen : (-> (real-in 0.0 1.0) pict?)
procedure
(fast-start n) -> (real-in 0.0 1.0)
  n : (real-in 0.0 1.0)
procedure
(fast-end n) -> (real-in 0.0 1.0)
  n : (real-in 0.0 1.0)
procedure
(fast-edges n) -> (real-in 0.0 1.0)
  n : (real-in 0.0 1.0)
procedure
(fast-middle n) -> (real-in 0.0 1.0)
  n : (real-in 0.0 1.0)
procedure
(split-phase n) -> (real-in 0.0 1.0) (real-in 0.0 1.0)
  n : (real-in 0.0 1.0)
procedure
(red pict) -> pict?
  pict : pict?
procedure
(orange pict) -> pict?
  pict : pict?
procedure
(yellow pict) -> pict?
  pict : pict?
procedure
(green pict) -> pict?
  pict : pict?
procedure
(blue pict) -> pict?
  pict : pict?
procedure
(purple pict) -> pict?
  pict : pict?
procedure
(black pict) -> pict?
  pict : pict?
procedure
(brown pict) -> pict?
  pict : pict?
procedure
(gray pict) -> pict?
  pict : pict?
procedure
(white pict) -> pict?
  pict : pict?
procedure
(cyan pict) -> pict?
  pict : pict?
procedure
(magenta pict) -> pict?
  pict : pict?
procedure
(light color) -> color/c
  color : color/c
procedure
(dark color) -> color/c
  color : color/c
value
color/c : flat-contract?
procedure
(blur p h-radius [v-radius]) -> pict?
  p : pict?
  h-radius : (and/c real? (not/c negative?))
  v-radius : (and/c real? (not/c negative?)) = h-radius
procedure
(shadow  p                                 
         radius                            
        [dx                                
         dy                                
         #:color color                     
         #:shadow-color shadow-color]) -> pict?
  p : pict?
  radius : (and/c real? (not/c negative?))
  dx : real? = 0
  dy : real? = dx
  color : (or/c #f string? (is-a?/c color%)) = #f
  shadow-color : (or/c #f string? (is-a?/c color%)) = #f
procedure
(shadow-frame  pict                                            
               ...                                             
              [#:sep separation                                
               #:margin margin                                 
               #:background-color bg-color                     
               #:frame-color frame-color                       
               #:frame-line-width frame-line-width             
               #:shadow-side-length shadow-side-length         
               #:shadow-top-y-offset shadow-top-y-offset       
               #:shadow-bottom-y-offset shadow-bottom-y-offset 
               #:shadow-descent shadow-descent                 
               #:shadow-alpha-factor shadow-alpha-factor       
               #:blur blur-radius])                            
 -> pict?
  pict : pict?
  separation : real? = 5
  margin : real? = 20
  bg-color : (or/c string? (is-a?/c color%)) = "white"
  frame-color : (or/c string? (is-a?/c color%)) = "gray"
  frame-line-width : (or/c real? #f 'no-frame) = 0
  shadow-side-length : real? = 4
  shadow-top-y-offset : real? = 10
  shadow-bottom-y-offset : real? = 4
  shadow-descent : (and/c real? (not/c negative?)) = 40
  shadow-alpha-factor : real? = 3/4
  blur-radius : (and/c real? (not/c negative?)) = 20
syntax
(pict-if maybe-combine test-expr then-expr else-expr)
 
maybe-combine = 
              | #:combine combine-expr
syntax
(pict-cond maybe-combine [test-expr pict-expr] ...)
 
maybe-combine = 
              | #:combine combine-expr
syntax
(pict-case test-expr maybe-combine [literals pict-expr] ...)
 
maybe-combine = 
              | #:combine combine-expr
procedure
(show pict [show?]) -> pict?
  pict : pict?
  show? : any/c = #t
procedure
(hide pict [hide?]) -> pict?
  pict : pict?
  hide? : any/c = #t
procedure
(tree-layout [#:pict node-pict] child ...) -> tree-layout?
  node-pict : (or/c #f pict?) = #f
  child : (or/c tree-layout? tree-edge? #f)
procedure
(tree-edge  node                          
           [#:edge-color edge-color       
            #:edge-width edge-width]) -> tree-edge?
  node : tree-layout?
  edge-color : (or/c string?                     = "gray"
                     (is-a?/c color%)
                     (list/c byte? byte? byte?))
  edge-width : (or/c 'unspecified real? #f) = 'unspecified
procedure
(tree-layout? v) -> boolean?
  v : any/c
procedure
(binary-tree-layout? v) -> boolean?
  v : any/c
procedure
(tree-edge? v) -> boolean?
  v : any/c
procedure
(naive-layered  tree-layout                 
               [#:x-spacing x-spacing       
                #:y-spacing y-spacing]) -> pict?
  tree-layout : tree-layout?
  x-spacing : (or/c (and/c real? positive?) #f) = #f
  y-spacing : (or/c (and/c real? positive?) #f) = #f
procedure
(binary-tidier  tree-layout                 
               [#:x-spacing x-spacing       
                #:y-spacing y-spacing]) -> pict?
  tree-layout : binary-tree-layout?
  x-spacing : (or/c (and/c real? positive?) #f) = #f
  y-spacing : (or/c (and/c real? positive?) #f) = #f
procedure
(hv-alternating  tree-layout                 
                [#:x-spacing x-spacing       
                 #:y-spacing y-spacing]) -> pict?
  tree-layout : binary-tree-layout?
  x-spacing : (or/c (and/c real? positive?) #f) = #f
  y-spacing : (or/c (and/c real? positive?) #f) = #f
procedure
(hyperlinkize pict) -> pict?
  pict : pict-convertible?
procedure
(scale-color factor color) -> (is-a?/c color%)
  factor : real?
  color : (or/c string (is-a?/c color%))
procedure
(color-series dc              
              max-step        
              step-delta      
              start           
              end             
              proc            
              set-pen?        
              set-brush?) -> void?
  dc : (is-a?/c dc<%>)
  max-step : exact-nonnegative-integer?
  step-delta : (and/c exact? positive?)
  start : (or/c string? (is-a?/c color%))
  end : (or/c string? (is-a?/c color%))
  proc : (exact? . -> . any)
  set-pen? : any/c
  set-brush? : any/c
parameter
(dc-for-text-size) -> (or/c #f (is-a?/c dc<%>))
(dc-for-text-size dc) -> void?
  dc : (or/c #f (is-a?/c dc<%>))
parameter
(convert-bounds-padding)
 -> (list/c (>=/c 0) (>=/c 0) (>=/c 0) (>=/c 0))
(convert-bounds-padding padding) -> void?
  padding : (list/c (>=/c 0) (>=/c 0) (>=/c 0) (>=/c 0))
procedure
(draw-pict pict dc x y) -> void?
  pict : pict-convertible?
  dc : (is-a?/c dc<%>)
  x : real?
  y : real?
procedure
(pict->bitmap pict [smoothing]) -> (is-a?/c bitmap%)
  pict : pict-convertible?
  smoothing : (or/c 'unsmoothed 'smoothed 'aligned) = 'aligned
procedure
(pict->argb-pixels pict [smoothing]) -> bytes?
  pict : pict-convertible?
  smoothing : (or/c 'unsmoothed 'smoothed 'aligned) = 'aligned
procedure
(argb-pixels->pict bytes width) -> pict?
  bytes : bytes?
  width : exact-nonnegative-integer?
procedure
(make-pict-drawer pict)
 -> ((is-a?/c dc<%>) real? real? . -> . void?)
  pict : pict-convertible?
procedure
(show-pict  pict                           
           [w                              
            h]                             
            #:frame-x frame-x              
            #:frame-y frame-y              
            #:frame-style frame-style) -> void?
  pict : pict-convertible?
  w : (or/c #f exact-nonnegative-integer?) = #f
  h : (or/c #f exact-nonnegative-integer?) = #f
  frame-x : (or/c (integer-in -10000 10000) #f)
  frame-y : (or/c (integer-in -10000 10000) #f)
  frame-style : (listof (or/c 'no-resize-border 'no-caption
                              'no-system-menu 'hide-menu-bar
                              'toolbar-button 'float 'metal))
parameter
(current-expected-text-scale) -> (list/c real? real?)
(current-expected-text-scale scales) -> void?
  scales : (list/c real? real?)
value
prop:pict-convertible : struct-type-property?
value
prop:pict-convertible? : struct-type-property?
procedure
(pict-convertible? v) -> boolean?
  v : any/c
procedure
(pict-convert v) -> pict?
  v : pict-convertible?
