13008
((3) 0 () 24 ((q lib "pict/main.rkt") (q lib "pict/color.rkt") (q lib "pict/code.rkt") (q 23082 . 61) (q 15468 . 31) (q 0 . 18) (q lib "pict/tree-layout.rkt") (q 14704 . 25) (q 455 . 10) (q lib "pict/balloon.rkt") (q 5025 . 21) (q 3274 . 37) (q lib "pict/conditional.rkt") (q lib "pict/face.rkt") (q 7782 . 13) (q 33058 . 13) (q lib "pict/convert.rkt") (q 5999 . 29) (q lib "pict/shadow.rkt") (q 8072 . 124) (q 2664 . 9) (q lib "pict/flash.rkt") (q 7618 . 7) (q 18301 . 5)) () (h ! (equal) ((c def c (c (? . 0) q unsafe-dc)) q (2003 . 7)) ((c def c (c (? . 0) q lift-bottom-relative-to-baseline)) q (21856 . 7)) ((c def c (c (? . 0) q color-series)) q (48177 . 17)) ((c def c (c (? . 0) q scale-color)) q (48046 . 4)) ((c def c (c (? . 1) q brown)) q (42276 . 3)) ((c def c (c (? . 0) q current-expected-text-scale)) q (50907 . 4)) ((c def c (c (? . 0) q filled-rounded-rectangle)) c (? . 17)) ((c def c (c (? . 6) q binary-tree-layout?)) q (46487 . 3)) ((c def c (c (? . 1) q green)) q (42060 . 3)) ((c def c (c (? . 0) q scale)) q (18084 . 8)) ((c def c (c (? . 0) q cb-superimpose)) c (? . 4)) ((c def c (c (? . 2) q current-literal-color)) q (37138 . 4)) ((c def c (c (? . 2) q mzscheme-const-list)) q (38243 . 2)) ((c def c (c (? . 0) q lc-find)) c (? . 3)) ((c def c (c (? . 0) q fast-end)) q (41553 . 3)) ((c def c (c (? . 0) q rectangle)) c (? . 10)) ((c def c (c (? . 1) q gray)) q (42330 . 3)) ((c def c (c (? . 0) q explain)) q (674 . 13)) ((c form c (c (? . 0) q scale/improve-new-text)) q (20697 . 3)) ((c def c (c (? . 0) q lbl-find)) c (? . 3)) ((c def c (c (? . 0) q translate)) q (19198 . 6)) ((c def c (c (? . 0) q pict-height)) c (? . 5)) ((c def c (c (? . 9) q balloon-enable-3d)) q (33614 . 4)) ((c def c (c (? . 0) q lt-superimpose)) c (? . 4)) ((c def c (c (? . 0) q fade-around-pict)) q (40532 . 9)) ((c def c (c (? . 0) q drop-below-ascent)) q (22508 . 4)) ((c def c (c (? . 0) q rbl-superimpose)) c (? . 4)) ((c def c (c (? . 0) q ht-append)) c (? . 7)) ((c def c (c (? . 0) q ghost)) q (19356 . 3)) ((c form c (c (? . 2) q define-code)) q (38743 . 3)) ((c def c (c (? . 2) q current-code-font)) q (36137 . 4)) ((c def c (c (? . 0) q flip-x)) c (? . 23)) ((c def c (c (? . 0) q inset)) q (21348 . 14)) ((c def c (c (? . 0) q child-syx)) c (? . 8)) ((c def c (c (? . 0) q blank)) q (2187 . 15)) ((c def c (c (? . 2) q pict->code-pict)) q (39619 . 4)) ((c def c (c (? . 0) q make-pict)) c (? . 5)) ((c def c (c (? . 0) q refocus)) q (22678 . 4)) ((c def c (c (? . 1) q black)) q (42222 . 3)) ((c def c (c (? . 0) q lb-superimpose)) c (? . 4)) ((c def c (c (? . 6) q hv-alternating)) q (47513 . 9)) ((c def c (c (? . 0) q hc-append)) c (? . 7)) ((c def c (c (? . 2) q code-colorize-quote-enabled)) q (38397 . 4)) ((c def c (c (? . 0) q slide-pict/center)) q (41051 . 7)) ((c def c (c (? . 0) q pict->argb-pixels)) q (49716 . 4)) ((c def c (c (? . 0) q struct:child)) c (? . 8)) ((c def c (c (? . 0) q text)) q (2477 . 6)) ((c def c (c (? . 9) q balloon-point-x)) c (? . 15)) ((c def c (c (? . 0) q lift-above-baseline)) q (22405 . 4)) ((c def c (c (? . 0) q filled-rectangle)) c (? . 10)) ((c def c (c (? . 0) q pict-draw)) c (? . 5)) ((c def c (c (? . 1) q cyan)) q (42437 . 3)) ((c def c (c (? . 9) q current-balloon-color)) q (33449 . 4)) ((c def c (c (? . 2) q current-keyword-list)) q (37809 . 4)) ((c def c (c (? . 0) q htl-append)) c (? . 7)) ((c def c (c (? . 0) q frame)) q (2926 . 9)) ((c def c (c (? . 0) q use-last)) q (22860 . 4)) ((c def c (c (? . 0) q file-icon)) q (26099 . 6)) ((c form c (c (? . 12) q pict-if)) q (44900 . 5)) ((c def c (c (? . 6) q naive-layered)) q (46608 . 9)) ((c def c (c (? . 0) q rb-superimpose)) c (? . 4)) ((c def c (c (? . 0) q ctl-superimpose)) c (? . 4)) ((c def c (c (? . 0) q ct-superimpose)) c (? . 4)) ((c def c (c (? . 0) q lt-find)) c (? . 3)) ((c def c (c (? . 0) q clip)) q (20255 . 3)) ((c def c (c (? . 0) q thermometer)) q (27482 . 20)) ((c def c (c (? . 0) q drop-top-relative-to-ascent)) q (22139 . 7)) ((c def c (c (? . 0) q draw-pict)) q (49126 . 6)) ((c def c (c (? . 0) q ltl-superimpose)) c (? . 4)) ((c def c (c (? . 2) q code-align)) q (37750 . 3)) ((c def c (c (? . 2) q code-pict-bottom-line-pict)) q (39532 . 3)) ((c def c (c (? . 13) q face*)) q (33910 . 30)) ((c def c (c (? . 2) q current-comment-color)) q (36653 . 4)) ((c def c (c (? . 1) q yellow)) q (42005 . 3)) ((c def c (c (? . 9) q wrap-balloon)) q (31314 . 14)) ((c def c (c (? . 1) q dark)) q (42606 . 3)) ((c def c (c (? . 1) q color/c)) q (42665 . 2)) ((c def c (c (? . 2) q current-literal-list)) q (38063 . 4)) ((c def c (c (? . 0) q rc-find)) c (? . 3)) ((c def c (c (? . 0) q pip-arrows-line)) c (? . 14)) ((c def c (c (? . 0) q bitmap)) q (7441 . 6)) ((c def c (c (? . 0) q make-pict-drawer)) q (49997 . 4)) ((c def c (c (? . 0) q disk)) c (? . 11)) ((c def c (c (? . 0) q argb-pixels->pict)) q (49880 . 4)) ((c def c (c (? . 0) q table)) q (17277 . 15)) ((c def c (c (? . 0) q pict)) c (? . 5)) ((c def c (c (? . 0) q dc)) q (1826 . 7)) ((c def c (c (? . 0) q reverse-animations)) q (41348 . 3)) ((c def c (c (? . 2) q code-transformer?)) q (39068 . 3)) ((c def c (c (? . 2) q current-code-line-sep)) q (36550 . 4)) ((c def c (c (? . 0) q standard-fish)) q (26273 . 13)) ((c def c (c (? . 2) q literal-color)) q (39473 . 2)) ((c def c (c (? . 0) q struct:pict)) c (? . 5)) ((c def c (c (? . 6) q tree-layout)) q (45474 . 4)) ((c def c (c (? . 21) q filled-flash)) q (35281 . 11)) ((c def c (c (? . 0) q pin-arrow-line)) c (? . 19)) ((c def c (c (? . 2) q keyword-color)) q (39360 . 2)) ((c def c (c (? . 0) q lbl-superimpose)) c (? . 4)) ((c def c (c (? . 2) q current-keyword-color)) q (36818 . 4)) ((c def c (c (? . 0) q cloud)) q (25787 . 8)) ((c def c (c (? . 2) q current-base-color)) q (37464 . 4)) ((c def c (c (? . 0) q child-sxy)) c (? . 8)) ((c def c (c (? . 0) q rtl-superimpose)) c (? . 4)) ((c def c (c (? . 2) q current-reader-forms)) q (37623 . 4)) ((c def c (c (? . 0) q ellipse)) c (? . 11)) ((c def c (c (? . 0) q colorize)) q (19821 . 5)) ((c def c (c (? . 0) q child?)) c (? . 8)) ((c def c (c (? . 0) q convert-bounds-padding)) q (48918 . 5)) ((c form c (c (? . 2) q define-exec-code)) q (39131 . 3)) ((c def c (c (? . 0) q fast-edges)) q (41632 . 3)) ((c def c (c (? . 2) q code-colorize-enabled)) q (38291 . 4)) ((c def c (c (? . 0) q hline)) c (? . 20)) ((c form c (c (? . 12) q pict-cond)) q (45030 . 5)) ((c def c (c (? . 0) q circle)) c (? . 11)) ((c def c (c (? . 0) q vc-append)) c (? . 7)) ((c def c (c (? . 2) q current-token-class->color)) q (39901 . 5)) ((c def c (c (? . 2) q racket/base-const-list)) q (38192 . 2)) ((c def c (c (? . 0) q pict-descent)) c (? . 5)) ((c def c (c (? . 0) q pict-ascent)) c (? . 5)) ((c def c (c (? . 0) q clip-descent)) q (21711 . 3)) ((c def c (c (? . 0) q pin-under)) q (16901 . 11)) ((c def c (c (? . 1) q orange)) q (41950 . 3)) ((c def c (c (? . 2) q get-current-code-font-size)) q (36381 . 4)) ((c def c (c (? . 0) q angel-wing)) q (27267 . 5)) ((c def c (c (? . 0) q arrowhead)) c (? . 22)) ((c def c (c (? . 0) q child-sy)) c (? . 8)) ((c def c (c (? . 6) q tree-edge?)) q (46552 . 3)) ((c def c (c (? . 0) q cbl-find)) c (? . 3)) ((c def c (c (? . 1) q red)) q (41898 . 3)) ((c def c (c (? . 0) q explain-child)) q (1197 . 15)) ((c def c (c (? . 0) q linestyle)) q (19523 . 7)) ((c def c (c (? . 9) q pin-balloon)) q (32389 . 11)) ((c form c (c (? . 12) q pict-case)) q (45158 . 5)) ((c def c (c (? . 0) q linewidth)) q (19422 . 4)) ((c def c (c (? . 16) q prop:pict-convertible)) q (51062 . 2)) ((c def c (c (? . 0) q rt-superimpose)) c (? . 4)) ((c def c (c (? . 0) q dc-for-text-size)) q (48781 . 4)) ((c def c (c (? . 2) q make-code-transformer)) q (38841 . 4)) ((c def c (c (? . 2) q codeblock-pict)) q (39726 . 5)) ((c def c (c (? . 0) q ct-find)) c (? . 3)) ((c def c (c (? . 13) q face)) q (33775 . 4)) ((c def c (c (? . 0) q desktop-machine)) q (27366 . 4)) ((c def c (c (? . 0) q pict-panbox)) c (? . 5)) ((c def c (c (? . 12) q hide)) q (45385 . 4)) ((c def c (c (? . 0) q bitmap-draft-mode)) q (14606 . 4)) ((c def c (c (? . 0) q text-style/c)) q (14573 . 2)) ((c def c (c (? . 0) q inset/clip)) q (20319 . 14)) ((c def c (c (? . 0) q pip-line)) c (? . 14)) ((c def c (c (? . 0) q child-pict)) c (? . 8)) ((c form c (c (? . 2) q define-exec-code/scale)) q (39207 . 3)) ((c def c (c (? . 0) q pict->bitmap)) q (49266 . 9)) ((c def c (c (? . 6) q tree-layout?)) q (46429 . 3)) ((c def c (c (? . 2) q current-const-list)) q (37938 . 4)) ((c def c (c (? . 0) q hyperlinkize)) q (47973 . 3)) ((c def c (c (? . 1) q light)) q (42546 . 3)) ((c def c (c (? . 9) q balloon-pict)) c (? . 15)) ((c def c (c (? . 0) q pin-over)) q (16534 . 11)) ((c def c (c (? . 0) q vr-append)) c (? . 7)) ((c def c (c (? . 0) q shear)) q (19066 . 5)) ((c def c (c (? . 0) q rtl-find)) c (? . 3)) ((c def c (c (? . 0) q cc-superimpose)) c (? . 4)) ((c def c (c (? . 0) q slide-pict)) q (40886 . 7)) ((c def c (c (? . 0) q fade-pict)) q (40113 . 11)) ((c def c (c (? . 9) q balloon-color)) q (33390 . 2)) ((c def c (c (? . 0) q fast-middle)) q (41713 . 3)) ((c form c (c (? . 2) q code)) q (36111 . 2)) ((c def c (c (? . 13) q default-face-color)) q (33712 . 2)) ((c def c (c (? . 0) q ltl-find)) c (? . 3)) ((c def c (c (? . 0) q cbl-superimpose)) c (? . 4)) ((c def c (c (? . 0) q pict?)) c (? . 5)) ((c def c (c (? . 18) q blur)) q (42698 . 5)) ((c def c (c (? . 0) q child-sx)) c (? . 8)) ((c def c (c (? . 0) q rt-find)) c (? . 3)) ((c def c (c (? . 0) q sequence-animations)) q (41223 . 3)) ((c def c (c (? . 9) q balloon)) q (32712 . 10)) ((c def c (c (? . 2) q comment-color)) q (39301 . 2)) ((c def c (c (? . 16) q pict-convert)) q (51234 . 3)) ((c def c (c (? . 0) q rbl-find)) c (? . 3)) ((c def c (c (? . 2) q current-id-color)) q (36983 . 4)) ((c def c (c (? . 1) q blue)) q (42114 . 3)) ((c def c (c (? . 0) q child-dx)) c (? . 8)) ((c def c (c (? . 0) q pict-path?)) q (25663 . 3)) ((c def c (c (? . 12) q show)) q (45296 . 4)) ((c def c (c (? . 0) q baseless)) q (22609 . 3)) ((c def c (c (? . 0) q cellophane)) q (19998 . 7)) ((c def c (c (? . 0) q black-and-white)) q (20816 . 4)) ((c def c (c (? . 0) q rounded-rectangle)) c (? . 17)) ((c def c (c (? . 18) q shadow-frame)) q (43437 . 27)) ((c def c (c (? . 0) q rotate)) q (18972 . 4)) ((c def c (c (? . 6) q binary-tidier)) q (47057 . 9)) ((c def c (c (? . 0) q lb-find)) c (? . 3)) ((c def c (c (? . 0) q pin-arrows-line)) c (? . 19)) ((c def c (c (? . 0) q vline)) c (? . 20)) ((c def c (c (? . 21) q outline-flash)) q (35663 . 11)) ((c def c (c (? . 18) q shadow)) q (42884 . 13)) ((c def c (c (? . 2) q code-italic-underscore-enabled)) q (38515 . 4)) ((c def c (c (? . 16) q pict-convertible?)) q (51171 . 3)) ((c def c (c (? . 9) q balloon?)) c (? . 15)) ((c def c (c (? . 0) q arrow)) c (? . 22)) ((c def c (c (? . 1) q magenta)) q (42490 . 3)) ((c def c (c (? . 0) q fast-start)) q (41472 . 3)) ((c def c (c (? . 0) q panorama)) q (22791 . 3)) ((c def c (c (? . 2) q current-const-color)) q (37303 . 4)) ((c def c (c (? . 0) q scale-to-fit)) q (18425 . 14)) ((c def c (c (? . 0) q show-pict)) q (50117 . 15)) ((c def c (c (? . 0) q pict-width)) c (? . 5)) ((c def c (c (? . 0) q clip-ascent)) q (21784 . 3)) ((c def c (c (? . 0) q hb-append)) c (? . 7)) ((c def c (c (? . 0) q child)) c (? . 8)) ((c def c (c (? . 9) q make-balloon)) c (? . 15)) ((c def c (c (? . 2) q id-color)) q (39419 . 2)) ((c def c (c (? . 0) q flip-y)) c (? . 23)) ((c def c (c (? . 0) q rc-superimpose)) c (? . 4)) ((c def c (c (? . 0) q freeze)) q (20910 . 10)) ((c def c (c (? . 0) q standard-cat)) q (28547 . 53)) ((c def c (c (? . 0) q cb-find)) c (? . 3)) ((c def c (c (? . 0) q pin-line)) c (? . 19)) ((c def c (c (? . 0) q jack-o-lantern)) q (26867 . 9)) ((c def c (c (? . 0) q cc-find)) c (? . 3)) ((c def c (c (? . 9) q balloon-point-y)) c (? . 15)) ((c def c (c (? . 0) q ctl-find)) c (? . 3)) ((c def c (c (? . 0) q pict-children)) c (? . 5)) ((c def c (c (? . 1) q purple)) q (42167 . 3)) ((c def c (c (? . 9) q pip-wrap-balloon)) q (31841 . 14)) ((c def c (c (? . 0) q pict-last)) c (? . 5)) ((c def c (c (? . 1) q white)) q (42383 . 3)) ((c def c (c (? . 0) q lc-superimpose)) c (? . 4)) ((c def c (c (? . 0) q launder)) q (25719 . 3)) ((c def c (c (? . 6) q tree-edge)) q (45643 . 15)) ((c def c (c (? . 2) q current-code-tt)) q (36250 . 4)) ((c def c (c (? . 0) q pip-arrow-line)) c (? . 14)) ((c def c (c (? . 0) q use-last*)) q (22967 . 4)) ((c def c (c (? . 16) q prop:pict-convertible?)) q (51116 . 2)) ((c def c (c (? . 0) q rb-find)) c (? . 3)) ((c def c (c (? . 0) q split-phase)) q (41795 . 3)) ((c def c (c (? . 2) q prop:code-transformer)) q (39014 . 2)) ((c def c (c (? . 2) q typeset-code)) q (36050 . 3)) ((c def c (c (? . 0) q filled-ellipse)) c (? . 11)) ((c def c (c (? . 0) q child-dy)) c (? . 8)) ((c def c (c (? . 0) q vl-append)) c (? . 7)) ((c def c (c (? . 0) q hbl-append)) c (? . 7)) ((c def c (c (? . 0) q make-child)) c (? . 8)) ((c def c (c (? . 2) q code-scripts-enabled)) q (38639 . 4))))
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 syx sxy)
    #:extra-constructor-name make-child)
  pict : pict?
  dx : real?
  dy : real?
  sx : real?
  sy : real?
  syx : real?
  sxy : real?
procedure
(explain  p                     
         [#:border bord         
          #:ascent asc          
          #:baseline base       
          #:scale s             
          #:line-width lw]) -> pict?
  p : pict-convertible?
  bord : (or/c #f string? (is-a?/c color%)) = "firered"
  asc : (or/c #f string? (is-a?/c color%)) = "seagreen"
  base : (or/c #f string? (is-a?/c color%)) = "royalblue"
  s : real? = 5
  lw : real? = 1
procedure
(explain-child  p                     
                path ...              
               [#:border bord         
                #:ascent asc          
                #:baseline base       
                #:scale s             
                #:line-width lw]) -> pict?
  p : pict-convertible?
  path : pict-path?
  bord : (or/c #f string? (is-a?/c color%)) = "firered"
  asc : (or/c #f string? (is-a?/c color%)) = "seagreen"
  base : (or/c #f string? (is-a?/c color%)) = "royalblue"
  s : real? = 5
  lw : real? = 1
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
(unsafe-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%)
              pict-convertible?
              convertible?)
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) = 1.0
  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) = 1.0
  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) = 1.0
  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
(flip-x pict) -> pict?
  pict : pict-convertible?
(flip-y pict) -> pict?
  pict : pict-convertible?
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
(shear pict x-shear y-shear) -> pict?
  pict : pict-convertible?
  x-shear : number?
  y-shear : number?
procedure
(translate pict dx dy [#:extend-bb? bb?]) -> pict?
  pict : pict-convertible?
  dx : real?
  dy : real?
  bb? : any/c = #f
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                       
            [#:composite? composite?]) -> pict?
  pict : pict-convertible?
  opacity : (real-in 0 1)
  composite? : any/c = #t
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                       
        [#:scale scale-amount       
         #:inset inset-amount]) -> pict?
  pict : pict-convertible?
  scale-amount : real? = 1
  inset-amount : (or/c real?                             = 0
                       (list/c real?)
                       (list/c real? real?)
                       (list/c real? real? real? real?))
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-bottom-relative-to-baseline  p                      
                                   baseline               
                                  [#:extend-bb? bb?]) -> pict?
  p : pict-convertible?
  baseline : real?
  bb? : any/c = #f
procedure
(drop-top-relative-to-ascent  p                      
                              ascent                 
                             [#:extend-bb? bb?]) -> pict?
  p : pict-convertible?
  ascent : real?
  bb? : any/c = #f
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 [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(ltl-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(lc-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(lbl-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(lb-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(ct-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(ctl-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(cc-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(cbl-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(cb-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(rt-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(rtl-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(rc-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(rbl-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
(rb-find pict find [#:nth nth]) -> real? real?
  pict : pict-convertible?
  find : pict-path?
  nth : (or/c exact-nonnegative-integer? 'unique) = 0
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
(standard-cat width                                   
              height                                  
              #:left-ear-extent left-ear-extent       
              #:left-ear-arc left-ear-arc             
              #:left-ear-angle left-ear-angle         
              #:right-ear-extent right-ear-extent     
              #:right-ear-arc right-ear-arc           
              #:right-ear-angle right-ear-angle       
              #:fur-color fur-color                   
              #:fur-border-color fur-border-color     
              #:lip-color lip-color                   
              #:lip-border-color lip-border-color     
              #:lip-border-width lip-border-width     
              #:eye-color eye-color                   
              #:nose-color nose-color                 
              #:nose nose                             
              #:happy? happy?                         
              #:eyes eyes                             
              #:left-eye left-eye                     
              #:right-eye right-eye                   
              #:whisker-length whisker-length         
              #:whisker-droop whisker-droop           
              #:whisker-width whisker-width           
              #:whisker-color whisker-color           
              #:whisker-inset? whisker-inset?         
              #:border-width border-width)        -> pict?
  width : positive?
  height : positive?
  left-ear-extent : (>=/c 0)
  left-ear-arc : (real-in 0 (* 2 pi))
  left-ear-angle : (real-in 0 (* 2 pi))
  right-ear-extent : (>=/c 0)
  right-ear-arc : (real-in 0 (* 2 pi))
  right-ear-angle : (real-in 0 (* 2 pi))
  fur-color : (or/c #f string? (is-a?/c color%))
  fur-border-color : (or/c #f string? (is-a?/c color%))
  lip-color : (or/c #f string? (is-a?/c color%))
  lip-border-color : (or/c string? (is-a?/c color%))
  lip-border-width : (or/c #f (real-in 0 255))
  eye-color : (or/c #f string? (is-a?/c color%))
  nose-color : (or/c #f string? (is-a?/c color%))
  nose : pict?
  happy? : any/c
  eyes : (or/c #f pict?)
  left-eye : (if eyes (or/c #f pict?) pict?)
  right-eye : (if eyes (or/c #f pict?) pict?)
  whisker-length : positive?
  whisker-droop : real?
  whisker-width : (or/c #f (real-in 0 255))
  whisker-color : (or/c string? (is-a?/c color%))
  whisker-inset? : any/c
  border-width : (or/c #f (real-in 0 255))
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%))
        = (current-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%))
        = (current-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%))
        = (current-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
(current-balloon-color) -> (or/c string? (is-a?/c color%))
(current-balloon-color color) -> void?
  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-string                   
                [#:keep-lang-line? keep?]) -> pict?
  code-string : string?
  keep? : any/c = #t
parameter
(current-token-class->color)
 -> (-> symbol? (or/c string? (is-a?/c color%)))
(current-token-class->color to-color) -> void?
  to-color : (-> symbol? (or/c string? (is-a?/c color%)))
procedure
(fade-pict  n                             
            p1                            
            p2                            
           [#:combine combine             
            #:composite? composite?]) -> pict?
  n : (real-in 0.0 1.0)
  p1 : pict?
  p2 : pict?
  combine : (pict? pict? . -> . pict?) = cc-superimpose
  composite? : any/c = #t
procedure
(fade-around-pict  n                             
                   p1                            
                   make-p2                       
                  [#:composite? composite?]) -> pict?
  n : (real-in 0.0 1.0)
  p1 : pict?
  make-p2 : (pict? . -> . pict?)
  composite? : any/c = #t
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       
            #:edge-style edge-style]) -> tree-edge?
  node : (and/c tree-layout? (not/c #f))
  edge-color : (or/c string?                     = "gray"
                     (is-a?/c color%)
                     (list/c byte? byte? byte?))
  edge-width : (or/c 'unspecified real? #f) = 'unspecified
  edge-style : (or/c 'unspecified 'transparent 'solid 'xor 'hilite
                     'dot 'long-dash 'short-dash 'dot-dash
                     'xor-dot 'xor-long-dash 'xor-short-dash
                     'xor-dot-dash)
             = '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       
                #:transform transform]) -> 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
  transform : (-> real? real? (values real? real?)) = values
procedure
(binary-tidier  tree-layout                 
               [#:x-spacing x-spacing       
                #:y-spacing y-spacing       
                #:transform transform]) -> 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
  transform : (-> real? real? (values real? real?)) = values
procedure
(hv-alternating  tree-layout                 
                [#:x-spacing x-spacing       
                 #:y-spacing y-spacing       
                 #:transform transform]) -> 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
  transform : (-> real? real? (values real? real?)) = values
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                         
               #:make-bitmap make-a-bitmap]) -> (is-a?/c bitmap%)
  pict : pict-convertible?
  smoothing : (or/c 'unsmoothed 'smoothed 'aligned) = 'aligned
  make-a-bitmap : (exact-positive-integer? exact-positive-integer?
                   . -> . (is-a?/c bitmap%))
                = make-bitmap
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?
