6342
((3) 0 () 8 ((q lib "unstable/gui/slideshow.rkt") (q lib "unstable/gui/pict/align.rkt") (q lib "unstable/gui/ppict.rkt") (q lib "unstable/gui/pict.rkt") (c (? . 7) q notify-box%) (q (lib "unstable/gui/snip.rkt") snip-canvas%) (q lib "unstable/gui/pslide.rkt") (q lib "unstable/gui/notify.rkt")) () (h ! (equal) ((c def c (c (? . 0) q column-size)) q (17611 . 4)) ((c def c (c (? . 1) q halign/c)) q (15753 . 2)) ((c form c (c (? . 0) q with-style)) q (16550 . 2)) ((c form c (c (? . 2) q ppict-do)) q (17981 . 2)) ((c form c (c (? . 0) q column)) q (17577 . 2)) ((c def c (c (? . 3) q cross-out)) q (15233 . 12)) ((c form c (c (? . 0) q two-columns)) q (17421 . 2)) ((c def c (c (? . 1) q valign/c)) q (15782 . 2)) ((c def c (c (? . 2) q ppict?)) q (18432 . 3)) ((c form c (c (? . 3) q pict-combine)) q (4466 . 2)) ((c form c (c (? . 3) q pict-cond)) q (4062 . 5)) ((c def c (c (? . 3) q orange)) q (2432 . 3)) ((c form c (c (? . 0) q italic)) q (16603 . 2)) ((c def c (c (? . 3) q yellow)) q (2487 . 3)) ((c def c (c (? . 3) q find-tag)) q (13058 . 4)) ((c def c (c (? . 3) q arch)) q (14758 . 9)) ((c def c (c (? . 3) q show)) q (3505 . 4)) ((c def c (c (? . 1) q align->h)) q (15811 . 3)) ((c form c (c (? . 2) q ppict-do*)) q (18034 . 13)) ((c def c (c (? . 0) q blank-line)) q (17947 . 2)) ((c def c (c (? . 3) q rectangle/border)) q (5353 . 11)) ((c def c (c (? . 3) q tag-pict)) q (12982 . 4)) ((c constructor c (? . 5)) q (21348 . 33)) ((c def c (c (? . 3) q purple)) q (2649 . 3)) ((c def c (c (? . 3) q red)) q (2380 . 3)) ((q def ((lib "unstable/gui/pict/plt-logo.rkt") make-plt-title-background)) q (16328 . 4)) ((c form c (c (? . 0) q with-font)) q (16519 . 2)) ((c form c (c (? . 3) q pict-case)) q (4190 . 5)) ((c def c (c (? . 1) q align->frac)) q (15923 . 3)) ((c def c (c (? . 3) q white)) q (2865 . 3)) ((c form c (c (? . 0) q revealing-slide)) q (17866 . 2)) ((q def ((lib "unstable/gui/prefs.rkt") pref:get/set)) q (2212 . 3)) ((c form c (c (? . 0) q slide/staged)) q (17786 . 2)) ((c meth c (c (? . 4) q remove-all-listeners)) q (447 . 2)) ((c meth c (c (? . 4) q listen)) q (256 . 3)) ((c form c (c (? . 3) q pict-match)) q (4328 . 5)) ((c def c (c (? . 1) q align->v)) q (15867 . 3)) ((c form c (c (? . 0) q superscript)) q (16650 . 2)) ((c meth c (c (? . 5) q on-size)) q (23301 . 4)) ((c form c (c (? . 0) q small)) q (16498 . 2)) ((c def c (c (? . 0) q columns)) q (17516 . 3)) ((c form c (c (? . 3) q pict-if)) q (3932 . 5)) ((c def c (c (? . 6) q pslide-default-placer)) q (21173 . 4)) ((c form c (c (? . 2) q ppict-do-state)) q (18410 . 2)) ((c def c (c (? . 3) q pin-label-line)) q (6464 . 35)) ((c form c (c (? . 6) q pslide)) q (21008 . 2)) ((c meth c (c (? . 4) q remove-listener)) q (347 . 3)) ((c def c (c (? . 3) q green)) q (2542 . 3)) ((c def c (c (? . 3) q light)) q (3028 . 3)) ((c def c (c (? . 1) q pin-over/align)) q (16136 . 8)) ((c def c (c (? . 3) q gray)) q (2812 . 3)) ((c form c (c (? . 7) q define-notify)) q (732 . 4)) ((c form c (c (? . 0) q big)) q (16479 . 2)) ((c def c (c (? . 2) q merge-refpoints)) q (20870 . 4)) ((c def c (c (? . 3) q color)) q (2311 . 4)) ((c def c (c (? . 2) q tile)) q (20183 . 4)) ((c def c (c (? . 7) q check-box/notify-box)) q (1119 . 8)) ((c def c (c (? . 7) q menu-option/notify-box)) q (818 . 8)) ((c def c (c (? . 3) q color/c)) q (3147 . 2)) ((c def c (c (? . 7) q notify-box/pref)) q (508 . 5)) ((c def c (c (? . 3) q tag-path?)) q (13251 . 3)) ((c def c (c (? . 7) q choice/notify-box)) q (1471 . 10)) ((c form c (c (? . 0) q subscript)) q (16625 . 2)) ((c def c (c (? . 2) q coord)) q (18914 . 13)) ((c meth c (c (? . 4) q get)) q (149 . 2)) ((c def c (c (? . 2) q ppict-add*)) q (18670 . 4)) ((c form c (c (? . 0) q bold)) q (16583 . 2)) ((c def c (c (? . 2) q placer?)) q (18799 . 3)) ((c meth c (c (? . 5) q get-snip)) q (23228 . 2)) ((c def c (c (? . 3) q rounded-rectangle/border)) q (5807 . 16)) ((c def c (c (? . 3) q find-tag*)) q (13155 . 4)) ((c form c (c (? . 0) q items-slide)) q (17902 . 2)) ((c def c (c (? . 3) q magenta)) q (2972 . 3)) ((c meth c (c (? . 4) q set)) q (193 . 3)) ((c def c (c (? . 3) q backdrop)) q (15124 . 4)) ((c def c (c (? . 2) q refpoint-placer?)) q (18852 . 3)) ((c form c (c (? . 0) q stage-name)) q (17768 . 2)) ((c def c (? . 5)) q (21286 . 3)) ((c def c (c (? . 0) q mini-slide)) q (17452 . 3)) ((c form c (c (? . 0) q staged)) q (17715 . 2)) ((c def c (c (? . 3) q ellipse/border)) q (4536 . 11)) ((c form c (c (? . 0) q caps)) q (16677 . 2)) ((c def c (c (? . 3) q strike)) q (3687 . 4)) ((c constructor c (? . 4)) q (54 . 3)) ((c def c (c (? . 3) q blur)) q (12026 . 5)) ((c def c (c (? . 3) q shadow-frame)) q (13306 . 27)) ((c form c (c (? . 0) q with-size)) q (16415 . 2)) ((c def c (c (? . 2) q grid)) q (19397 . 17)) ((c def c (c (? . 3) q blur-bitmap!)) q (12765 . 5)) ((c def c (c (? . 3) q pin-arrow-label-line)) q (8040 . 42)) ((c def c (c (? . 1) q halign->vcompose)) q (15998 . 3)) ((c def c (c (? . 3) q brown)) q (2758 . 3)) ((c def c (c (? . 3) q pin-arrows-label-line)) q (10023 . 42)) ((c def c (c (? . 3) q scale-to)) q (3313 . 6)) ((c def c (c (? . 3) q cyan)) q (2919 . 3)) ((c def c (c (? . 6) q pslide-base-pict)) q (21048 . 4)) ((c def c (c (? . 3) q shadow)) q (12212 . 13)) ((c def c (c (? . 3) q black)) q (2704 . 3)) ((c def c (c (? . 3) q shade)) q (3784 . 5)) ((c def c (c (? . 2) q cascade)) q (20040 . 4)) ((c form c (c (? . 3) q with-pict-combine)) q (4486 . 2)) ((c def c (c (? . 3) q hide)) q (3596 . 4)) ((c def c (c (? . 3) q circle/border)) q (4980 . 9)) ((c def c (c (? . 3) q blue)) q (2596 . 3)) ((q def ((lib "unstable/gui/scribble.rkt") codeblock->pict)) q (23440 . 3)) ((c def c (c (? . 3) q draw-pict-centered)) q (14993 . 6)) ((c form c (c (? . 0) q stage)) q (17755 . 2)) ((c def c (c (? . 3) q dark)) q (3088 . 3)) ((c form c (c (? . 0) q with-scale)) q (16446 . 2)) ((c form c (c (? . 0) q reveal)) q (17831 . 2)) ((c def c (? . 4)) q (0 . 3)) ((c def c (c (? . 1) q valign->hcompose)) q (16067 . 3)) ((c def c (c (? . 3) q fill)) q (3180 . 5)) ((c def c (c (? . 2) q ppict-add)) q (18559 . 4)) ((c def c (c (? . 0) q tabular)) q (16697 . 17)) ((c def c (c (? . 7) q menu-group/notify-box)) q (1893 . 8)) ((c def c (c (? . 2) q at-find-pict)) q (20299 . 13)) ((c def c (c (? . 2) q ppict-go)) q (18484 . 4)) ((c def c (c (? . 1) q align/c)) q (15725 . 2))))
class
notify-box% : class?
  superclass: object%
constructor
(new notify-box% [value value]) -> (is-a?/c notify-box%)
  value : any/c
method
(send a-notify-box get) -> any/c
method
(send a-notify-box set v) -> void?
  v : any/c
method
(send a-notify-box listen listener) -> void?
  listener : (-> any/c any)
method
(send a-notify-box remove-listener listener) -> void?
  listener : (-> any/c any)
method
(send a-notify-box remove-all-listeners) -> void?
procedure
(notify-box/pref  proc                        
                 [#:readonly? readonly?]) -> (is-a?/c notify-box%)
  proc : (case-> (-> any/c) (-> any/c void?))
  readonly? : boolean? = #f
syntax
(define-notify name value-expr)
 
  value-expr : (is-a?/c notify-box%)
procedure
(menu-option/notify-box parent      
                        label       
                        notify-box) 
 -> (is-a?/c checkable-menu-item%)
  parent : (or/c (is-a?/c menu%) (is-a?/c popup-menu%))
  label : label-string?
  notify-box : (is-a?/c notify-box%)
procedure
(check-box/notify-box parent          
                      label           
                      notify-box) -> (is-a?/c check-box%)
  parent : (or/c (is-a?/c frame%) (is-a?/c dialog%)
                 (is-a?/c panel%) (is-a?/c pane%))
  label : label-string?
  notify-box : (is-a?/c notify-box%)
procedure
(choice/notify-box parent          
                   label           
                   choices         
                   notify-box) -> (is-a?/c choice%)
  parent : (or/c (is-a?/c frame%) (is-a?/c dialog%)
                 (is-a?/c panel%) (is-a?/c pane%))
  label : label-string?
  choices : (listof label-string?)
  notify-box : (is-a?/c notify-box%)
procedure
(menu-group/notify-box parent      
                       labels      
                       notify-box) 
 -> (listof (is-a?/c checkable-menu-item%))
  parent : (or/c (is-a?/c menu%) (is-a?/c popup-menu%))
  labels : (listof label-string?)
  notify-box : (is-a?/c notify-box%)
procedure
(pref:get/set pref) -> (case-> (-> any/c) (-> any/c void?))
  pref : symbol?
procedure
(color c p) -> pict?
  c : color/c
  p : pict?
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
(fill pict width height) -> pict?
  pict : pict?
  width : (or/c real? #f)
  height : (or/c real? #f)
procedure
(scale-to pict width height [#:mode mode]) -> pict?
  pict : pict?
  width : real?
  height : real?
  mode : (or/c 'preserve 'inset 'distort) = 'preserve
procedure
(show pict [show?]) -> pict?
  pict : pict?
  show? : truth/c = #t
procedure
(hide pict [hide?]) -> pict?
  pict : pict?
  hide? : truth/c = #t
procedure
(strike pict [strike?]) -> pict?
  pict : pict?
  strike? : truth/c = #t
procedure
(shade pict [shade? #:ratio ratio]) -> pict?
  pict : pict?
  shade? : truth/c = #t
  ratio : (real-in 0 1) = 1/2
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
syntax
(pict-match test-expr maybe-combine [pattern pict-expr] ...)
 
maybe-combine = 
              | #:combine combine-expr
syntax
pict-combine
syntax
(with-pict-combine combine-id body ...)
procedure
(ellipse/border  w                                 
                 h                                 
                [#:color color                     
                 #:border-color border-color       
                 #:border-width border-width]) -> pict?
  w : real?
  h : real?
  color : color/c = "white"
  border-color : color/c = "black"
  border-width : real? = 2
procedure
(circle/border  diameter                          
               [#:color color                     
                #:border-color border-color       
                #:border-width border-width]) -> pict?
  diameter : real?
  color : color/c = "white"
  border-color : color/c = "black"
  border-width : real? = 2
procedure
(rectangle/border  w                                 
                   h                                 
                  [#:color color                     
                   #:border-color border-color       
                   #:border-width border-width]) -> pict?
  w : real?
  h : real?
  color : color/c = "white"
  border-color : color/c = "black"
  border-width : real? = 2
procedure
(rounded-rectangle/border  w                             
                           h                             
                          [#:color color                 
                           #:border-color border-color   
                           #:border-width border-width   
                           #:corner-radius corner-radius 
                           #:angle angle])               
 -> pict?
  w : real?
  h : real?
  color : color/c = "white"
  border-color : color/c = "black"
  border-width : real? = 2
  corner-radius : real? = -0.25
  angle : real? = 0
procedure
(pin-label-line  label                         
                 pict                          
                 src-pict                      
                 src-coord-fn                  
                 dest-pict                     
                 dest-coord-fn                 
                [#: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?               
                 #:x-adjust x-adjust           
                 #:y-adjust y-adjust])     -> pict?
  label : pict?
  pict : pict?
  src-pict : pict-path?
  src-coord-fn : (-> pict-path? (values real? real?))
  dest-pict : pict-path?
  dest-coord-fn : (-> 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 real? #f) = #f
  color : (or/c #f string? (is-a?/c color%)) = #f
  alpha : (real-in 0 1) = 1
  style : pen-style/c = 'solid
  under? : any/c = #f
  x-adjust : real? = 0
  y-adjust : real? = 0
procedure
(pin-arrow-label-line  label                             
                       arrow-size                        
                       pict                              
                       src-pict                          
                       src-coord-fn                      
                       dest-pict                         
                       dest-coord-fn                     
                      [#: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                     
                       #:solid? solid?                   
                       #:under? under?                   
                       #:hide-arrowhead? hide-arrowhead? 
                       #:x-adjust x-adjust               
                       #:y-adjust y-adjust])             
 -> pict?
  label : pict?
  arrow-size : real?
  pict : pict?
  src-pict : pict-path?
  src-coord-fn : (-> pict-path? (values real? real?))
  dest-pict : pict-path?
  dest-coord-fn : (-> 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 real? #f) = #f
  color : (or/c #f string? (is-a?/c color%)) = #f
  alpha : (real-in 0 1) = 1
  style : pen-style/c = 'solid
  solid? : boolean? = #t
  under? : any/c = #f
  hide-arrowhead? : any/c = #f
  x-adjust : real? = 0
  y-adjust : real? = 0
procedure
(pin-arrows-label-line  label                             
                        arrow-size                        
                        pict                              
                        src-pict                          
                        src-coord-fn                      
                        dest-pict                         
                        dest-coord-fn                     
                       [#: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                     
                        #:solid? solid?                   
                        #:under? under?                   
                        #:hide-arrowhead? hide-arrowhead? 
                        #:x-adjust x-adjust               
                        #:y-adjust y-adjust])             
 -> pict?
  label : pict?
  arrow-size : real?
  pict : pict?
  src-pict : pict-path?
  src-coord-fn : (-> pict-path? (values real? real?))
  dest-pict : pict-path?
  dest-coord-fn : (-> 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 real? #f) = #f
  color : (or/c #f string? (is-a?/c color%)) = #f
  alpha : (real-in 0 1) = 1
  style : pen-style/c = 'solid
  solid? : boolean? = #t
  under? : any/c = #f
  hide-arrowhead? : any/c = #f
  x-adjust : real? = 0
  y-adjust : real? = 0
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
(blur-bitmap! bitmap h-radius [v-radius]) -> void?
  bitmap : (is-a?/c bitmap%)
  h-radius : (and/c real? (not/c negative?))
  v-radius : (and/c real? (not/c negative?)) = h-radius
procedure
(tag-pict p tag) -> pict?
  p : pict?
  tag : symbol?
procedure
(find-tag p find) -> (or/c pict-path? #f)
  p : pict?
  find : tag-path?
procedure
(find-tag* p find) -> (listof pict-path?)
  p : pict?
  find : tag-path?
procedure
(tag-path? x) -> boolean?
  x : any/c
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) = 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
procedure
(arch outer-width      
      inner-width      
      solid-height     
      leg-height)  -> pict?
  outer-width : real?
  inner-width : real?
  solid-height : real?
  leg-height : real?
procedure
(draw-pict-centered p dc w h) -> void?
  p : pict?
  dc : (is-a?/c dc<%>)
  w : real?
  h : real?
procedure
(backdrop pict [#:color color]) -> pict?
  pict : pict?
  color : color/c = "white"
procedure
(cross-out  pict                
           [#:width width       
            #:style style       
            #:color color]) -> pict?
  pict : pict?
  width : real? = 1
  style : (or/c 'transparent 'solid 'xor            = 'solid
                'hilite 'dot 'long-dash 'short-dash
                'dot-dash 'xor-dot 'xor-long-dash
                'xor-short-dash 'xor-dot-dash)
  color : color/c = "black"
value
align/c : contract?
value
halign/c : contract?
value
valign/c : contract?
procedure
(align->h a) -> halign/c
  a : align/c
procedure
(align->v a) -> valign/c
  a : align/c
procedure
(align->frac a) -> real?
  a : (or/c halign/c valign/c)
procedure
(halign->vcompose ha) -> procedure?
  ha : halign/c
procedure
(valign->hcompose va) -> procedure?
  va : valign/c
procedure
(pin-over/align scene x y halign valign pict) -> pict?
  scene : pict?
  x : real?
  y : real?
  halign : halign/c
  valign : valign/c
  pict : pict?
procedure
(make-plt-title-background w h) -> pict?
  w : real?
  h : real?
syntax
(with-size size expr)
syntax
(with-scale scale expr)
syntax
(big text)
syntax
(small text)
syntax
(with-font font expr)
syntax
(with-style style expr)
syntax
(bold text)
syntax
(italic text)
syntax
(subscript text)
syntax
(superscript text)
syntax
(caps text)
procedure
(tabular  row                   
          ...                   
         [#:gap gap             
          #:hgap hgap           
          #:vgap vgap           
          #:align align         
          #:halign halign       
          #:valign valign]) -> pict?
  row : (listof (or/c string? pict?))
  gap : natural-number/c = gap-size
  hgap : natural-number/c = gap
  vgap : natural-number/c = gap
  align : (->* [] [] #:rest (listof pict?) pict?)
        = lbl-superimpose
  halign : (->* [] [] #:rest (listof pict?) pict?) = align
  valign : (->* [] [] #:rest (listof pict?) pict?) = align
syntax
(two-columns one two)
procedure
(mini-slide pict ...) -> pict?
  pict : pict?
procedure
(columns pict ...) -> pict?
  pict : pict?
syntax
(column width body ...)
procedure
(column-size n [r]) -> real?
  n : exact-positive-integer?
  r : real? = (/ n)
syntax
(staged [name ...] body ...)
syntax
stage
syntax
stage-name
syntax
(slide/staged [name ...] arg ...)
syntax
(reveal number expr ...)
syntax
(revealing-slide expr ...)
syntax
(items-slide (name ...) expr ...)
procedure
(blank-line) -> pict?
syntax
(ppict-do base-expr ppict-do-fragment ...)
syntax
(ppict-do* base-expr ppic-do-fragment ...)
 
ppict-do-fragment = #:go placer-expr
                  | #:set pict-expr
                  | #:next
                  | #:alt (ppict-do-fragment ...)
                  | elem-expr
 
  base-expr : pict?
  placer-expr : placer?
  pict-expr : pict?
  elem-expr : (or/c pict? real? #f)
syntax
ppict-do-state
procedure
(ppict? x) -> boolean?
  x : any/c
procedure
(ppict-go p pl) -> ppict?
  p : pict?
  pl : placer?
procedure
(ppict-add pp elem ...) -> pict?
  pp : ppict?
  elem : (or/c pict? real? #f 'next)
procedure
(ppict-add* pp elem ...) -> pict? (listof pict?)
  pp : ppict?
  elem : (or/c pict? real? #f 'next)
procedure
(placer? x) -> boolean?
  x : any/c
procedure
(refpoint-placer? x) -> boolean?
  x : any/c
procedure
(coord  rel-x                    
        rel-y                    
       [align                    
        #:abs-x abs-x            
        #:abs-y abs-y            
        #:compose composer]) -> refpoint-placer?
  rel-x : real?
  rel-y : real?
  align : (or/c 'lt 'ct 'rt 'lc 'cc 'rc 'lb 'cb 'rb) = 'cc
  abs-x : real? = 0
  abs-y : real? = 0
  composer : procedure? = computed from align
procedure
(grid  cols                     
       rows                     
       col                      
       row                      
      [align                    
       #:abs-x abs-x            
       #:abs-y abs-y            
       #:compose composer]) -> refpoint-placer?
  cols : exact-positive-integer?
  rows : exact-positive-integer?
  col : exact-integer?
  row : exact-integer?
  align : (or/c 'lt 'ct 'rt 'lc 'cc 'rc 'lb 'cb 'rb) = 'cc
  abs-x : real? = 0
  abs-y : real? = 0
  composer : procedure? = computed from align
procedure
(cascade [step-x step-y]) -> placer?
  step-x : (or/c real? 'auto) = 'auto
  step-y : (or/c real? 'auto) = 'auto
procedure
(tile cols rows) -> placer?
  cols : exact-positive-integer?
  rows : exact-positive-integer?
procedure
(at-find-pict  find-path                
              [finder                   
               align                    
               #:abs-x abs-x            
               #:abs-y abs-y            
               #:compose composer]) -> refpoint-placer?
  find-path : (or/c tag-path? pict-path?)
  finder : procedure? = cc-find
  align : (or/c 'lt 'ct 'rt 'lc 'cc 'rc 'lb 'cb 'rb) = 'cc
  abs-x : real? = 0
  abs-y : real? = 0
  composer : procedure? = computed from align
procedure
(merge-refpoints x-placer y-placer) -> refpoint-placer?
  x-placer : refpoint-placer?
  y-placer : refpoint-placer?
syntax
(pslide ppict-do-fragment ...)
parameter
(pslide-base-pict) -> (-> pict)
(pslide-base-pict make-base-pict) -> void?
  make-base-pict : (-> pict)
parameter
(pslide-default-placer) -> placer?
(pslide-default-placer placer) -> void?
  placer : placer?
class
snip-canvas% : class?
  superclass: editor-canvas%
constructor
(new snip-canvas%                                            
                   [parent parent]                           
                   [make-snip make-snip]                     
                  [[style style]                             
                   [label label]                             
                   [horizontal-inset horizontal-inset]       
                   [vertical-inset vertical-inset]           
                   [enabled enabled]                         
                   [vert-margin vert-margin]                 
                   [horiz-margin horiz-margin]               
                   [min-width min-width]                     
                   [min-height min-height]                   
                   [stretchable-width stretchable-width]     
                   [stretchable-height stretchable-height]]) 
 -> (is-a?/c snip-canvas%)
  parent : (or/c (is-a?/c frame%) (is-a?/c dialog%)
                 (is-a?/c panel%) (is-a?/c pane%))
  make-snip : ((integer-in 0 10000) (integer-in 0 10000) . -> . snip%)
  style : (listof (one-of/c 'no-border 'control-border 'combo
                            'resize-corner 'no-focus 'deleted
                            'transparent))
        = null
  label : (or/c label-string? false/c) = #f
  horizontal-inset : (integer-in 0 1000) = 5
  vertical-inset : (integer-in 0 1000) = 5
  enabled : any/c = #t
  vert-margin : (integer-in 0 1000) = 0
  horiz-margin : (integer-in 0 1000) = 0
  min-width : (integer-in 0 10000) = 0
  min-height : (integer-in 0 10000) = 0
  stretchable-width : any/c = #t
  stretchable-height : any/c = #t
method
(send a-snip-canvas get-snip) -> (or/c (is-a?/c snip%) #f)
method
(send a-snip-canvas on-size width height) -> void?
  width : (integer-in 0 10000)
  height : (integer-in 0 10000)
procedure
(codeblock->pict block) -> pict?
  block : block?
