4458
((3) 0 () 11 ((q lib "games/cards.rkt") (c (? . 0) q table<%>) (q 553 . 24) (c (? . 0) q card<%>) (q 4160 . 9) (q 5266 . 3) (q 3988 . 5) (q 5396 . 3) (q 4513 . 7) (q 4841 . 5) (q 5632 . 5)) () (h ! (equal) ((c meth c (c (? . 1) q rotate-card)) c (? . 8)) ((c def c (c (? . 0) q set-region-interactive-callback!)) c (? . 2)) ((c meth c (c (? . 3) q home-region)) q (8369 . 4)) ((c def c (? . 1)) q (2276 . 3)) ((c def c (c (? . 0) q region-x)) c (? . 2)) ((c meth c (c (? . 1) q card-face-down)) c (? . 4)) ((c meth c (c (? . 1) q pause)) q (6175 . 3)) ((c def c (c (? . 0) q make-table)) q (0 . 6)) ((c def c (c (? . 0) q make-region)) c (? . 2)) ((c meth c (c (? . 3) q get-suit)) q (7644 . 2)) ((c def c (c (? . 0) q shuffle-list)) q (454 . 4)) ((c meth c (c (? . 3) q face-up)) q (7283 . 2)) ((c def c (c (? . 0) q region-label)) c (? . 2)) ((c meth c (c (? . 3) q copy)) q (8598 . 2)) ((c meth c (c (? . 1) q stack-cards)) q (5007 . 3)) ((c meth c (c (? . 1) q cards-face-up)) c (? . 4)) ((c meth c (c (? . 1) q add-help-button)) q (6484 . 9)) ((c meth c (c (? . 3) q get-value)) q (7689 . 2)) ((c meth c (c (? . 1) q add-cards-to-region)) q (2887 . 5)) ((c def c (c (? . 0) q make-deck)) q (203 . 2)) ((c meth c (c (? . 3) q get-suit-id)) q (7598 . 2)) ((c meth c (c (? . 1) q card-face-up)) c (? . 4)) ((c def c (? . 3)) q (7078 . 2)) ((c def c (c (? . 0) q region?)) c (? . 2)) ((c meth c (c (? . 1) q move-cards-to-region)) q (3807 . 5)) ((c meth c (c (? . 1) q remove-card)) q (3066 . 3)) ((c def c (c (? . 0) q set-region-callback!)) c (? . 2)) ((c def c (c (? . 0) q make-button-region)) q (1519 . 8)) ((c meth c (c (? . 3) q user-can-move)) q (7850 . 4)) ((c def c (c (? . 0) q region-paint-callback)) c (? . 2)) ((c def c (c (? . 0) q region-button?)) c (? . 2)) ((c def c (c (? . 0) q make-background-region)) q (1807 . 11)) ((c meth c (c (? . 3) q dim)) q (8501 . 4)) ((c meth c (c (? . 1) q all-cards)) q (5198 . 2)) ((c meth c (c (? . 1) q flip-cards)) c (? . 6)) ((c meth c (c (? . 3) q snap-back-after-move)) q (7967 . 4)) ((c meth c (c (? . 1) q table-width)) c (? . 5)) ((c meth c (c (? . 1) q add-region)) q (5497 . 3)) ((c meth c (c (? . 3) q card-height)) q (7177 . 2)) ((c meth c (c (? . 1) q move-cards)) q (3370 . 11)) ((c def c (c (? . 0) q region-w)) c (? . 2)) ((c meth c (c (? . 1) q table-height)) c (? . 5)) ((c def c (c (? . 0) q region)) c (? . 2)) ((c meth c (c (? . 3) q orientation)) q (7534 . 2)) ((c def c (c (? . 0) q set-region-paint-callback!)) c (? . 2)) ((c meth c (c (? . 1) q set-status)) q (6413 . 3)) ((c def c (c (? . 0) q region-hilite?)) c (? . 2)) ((c meth c (c (? . 3) q snap-back-after-regions)) q (8096 . 4)) ((c meth c (c (? . 1) q flip-card)) c (? . 6)) ((c def c (c (? . 0) q struct:region)) c (? . 2)) ((c meth c (c (? . 1) q set-button-action)) q (5767 . 5)) ((c meth c (c (? . 1) q set-double-click-action)) q (5951 . 3)) ((c meth c (c (? . 3) q face-down?)) q (7369 . 2)) ((c meth c (c (? . 1) q create-status-pane)) q (6348 . 2)) ((c meth c (c (? . 1) q add-scribble-button)) q (6814 . 7)) ((c meth c (c (? . 3) q face-down)) q (7325 . 2)) ((c meth c (c (? . 1) q end-card-sequence)) c (? . 7)) ((c meth c (c (? . 3) q stay-in-region)) q (8231 . 4)) ((c meth c (c (? . 3) q card-width)) q (7111 . 2)) ((c meth c (c (? . 1) q cards-face-down)) c (? . 4)) ((c meth c (c (? . 3) q user-can-flip)) q (7733 . 4)) ((c meth c (c (? . 1) q card-to-front)) c (? . 9)) ((c meth c (c (? . 1) q begin-card-sequence)) c (? . 7)) ((c meth c (c (? . 1) q add-cards)) q (2454 . 11)) ((c meth c (c (? . 1) q animated)) q (6241 . 4)) ((c def c (c (? . 0) q region-callback)) c (? . 2)) ((c meth c (c (? . 1) q unhilite-region)) c (? . 10)) ((c def c (c (? . 0) q region-h)) c (? . 2)) ((c meth c (c (? . 1) q rotate-cards)) c (? . 8)) ((c meth c (c (? . 1) q set-single-click-action)) q (6063 . 3)) ((c def c (c (? . 0) q region-interactive-callback)) c (? . 2)) ((c meth c (c (? . 1) q card-to-back)) c (? . 9)) ((c meth c (c (? . 3) q flip)) q (7244 . 2)) ((c meth c (c (? . 1) q hilite-region)) c (? . 10)) ((c meth c (c (? . 1) q remove-cards)) q (3151 . 3)) ((c def c (c (? . 0) q region-y)) c (? . 2)) ((c meth c (c (? . 1) q remove-region)) q (5563 . 3)) ((c meth c (c (? . 1) q move-card)) q (3249 . 5)) ((c meth c (c (? . 1) q card-location)) q (5104 . 3)) ((c meth c (c (? . 3) q rotate)) q (7417 . 3)) ((c def c (c (? . 0) q make-card)) q (248 . 6)) ((c meth c (c (? . 1) q add-card)) q (2334 . 5))))
procedure
(make-table [title w h #:mixin mixin]) -> table<%>
  title : string? = "Cards"
  w : real? = 7
  h : real? = 3
  mixin : (make-mixin-contract table<%>) = values
procedure
(make-deck) -> (listof card<%>)
procedure
(make-card front-bm back-bm suit-id value) -> (is-a?/c card<%>)
  front-bm : (is-a?/c bitmap?)
  back-bm : (or/c (is-a?/c bitmap%) #f)
  suit-id : any/c
  value : any/c
procedure
(shuffle-list lst n) -> list?
  lst : list?
  n : exact-nonnegative-integer?
struct
(struct region (x
                y
                w
                h
                label
                [callback #:mutable]
                [interactive-callback #:auto #:mutable]
                [paint-callback #:auto #:mutable]
                [button? #:auto]
                [hilite? #:auto])
    #:extra-constructor-name make-region)
  x : real?
  y : real?
  w : (and/c real? (not/c negative?))
  h : (and/c real? (not/c negative?))
  label : (or/c string? (is-a?/c bitmap%) #f)
  callback : (or/c #f (if button?
                          (-> any)
                          (-> (listof (is-a?/c card<%>)) any)))
  interactive-callback : (or/c #f (-> any/c (listof (is-a?/c card<%>)) any))
  paint-callback : (or/c #f (-> (is-a?/c dc<%>) real? real? real? real? any))
  button? : any/c
  hilite? : any/c
procedure
(make-button-region x y w h label callback) -> region?
  x : real?
  y : real?
  w : (and/c real? (not/c negative?))
  h : (and/c real? (not/c negative?))
  label : (or/c string? (is-a?/c bitmap%) #f)
  callback : (or/c #f (-> any))
procedure
(make-background-region x                   
                        y                   
                        w                   
                        h                   
                        paint-callback) -> region?
  x : real?
  y : real?
  w : (and/c real? (not/c negative?))
  h : (and/c real? (not/c negative?))
  paint-callback : (-> (is-a?/c dc<%>) real? real? real? real? any)
interface
table<%> : interface?
  implements: frame%
method
(send a-table add-card card x y) -> void?
  card : (is-a?/c card<%>)
  x : real?
  y : real?
method
(send a-table add-cards  cards             
                         x                 
                         y                 
                        [offset-proc]) -> void?
  cards : (listof (is-a?/c card<%>))
  x : real?
  y : real?
  offset-proc : (exact-nonnegative-integer?
                 . -> . (values real? real?))
              = (lambda (i) (values 0 0))
method
(send a-table add-cards-to-region cards        
                                  region?) -> void?
  cards : (listof (is-a?/c card<%>))
  region? : r
method
(send a-table remove-card card) -> void?
  card : (is-a?/c card<%>)
method
(send a-table remove-cards cards) -> void?
  cards : (listof (is-a?/c card<%>))
method
(send a-table move-card card x y) -> void?
  card : (is-a?/c card<%>)
  x : real?
  y : real?
method
(send a-table move-cards  cards             
                          x                 
                          y                 
                         [offset-proc]) -> void?
  cards : (listof (is-a?/c card<%>))
  x : real?
  y : real?
  offset-proc : (exact-nonnegative-integer?
                 . -> . (values real? real?))
              = (lambda (i) (values 0 0))
method
(send a-table move-cards-to-region cards        
                                   region?) -> void?
  cards : (listof (is-a?/c card<%>))
  region? : r
method
(send a-table flip-card card) -> void?
  card : (is-a?/c card<%>)
(send a-table flip-cards cards) -> void?
  cards : (listof (is-a?/c card<%>))
method
(send a-table card-face-up card) -> void?
  card : (is-a?/c card<%>)
(send a-table cards-face-up cards) -> void?
  cards : (listof (is-a?/c card<%>))
(send a-table card-face-down card) -> void?
  card : (is-a?/c card<%>)
(send a-table cards-face-down cards) -> void?
  cards : (listof (is-a?/c card<%>))
method
(send a-table rotate-card card mode) -> void?
  card : (is-a?/c card<%>)
  mode : (or/c 'cw 'ccw 0 90 -90 180 -180 270 -270 360)
(send a-table rotate-cards cards mode) -> void?
  cards : (listof (is-a?/c card<%>))
  mode : (or/c 'cw 'ccw 0 90 -90 180 -180 270 -270 360)
method
(send a-table card-to-front card) -> void?
  card : (is-a?/c card<%>)
(send a-table card-to-back card) -> void?
  card : (is-a?/c card<%>)
method
(send a-table stack-cards cards) -> void?
  cards : (listof (is-a?/c card<%>))
method
(send a-table card-location card) -> real? real?
  card : (is-a?/c card<%>)
method
(send a-table all-cards) -> (listof (is-a?/c card<%>))
method
(send a-table table-width) -> exact-nonnegative-integer?
(send a-table table-height) -> exact-nonnegative-integer?
method
(send a-table begin-card-sequence) -> void?
(send a-table end-card-sequence) -> void?
method
(send a-table add-region r) -> void
  r : region?
method
(send a-table remove-region r) -> void
  r : region?
method
(send a-table hilite-region r) -> void?
  r : region?
(send a-table unhilite-region r) -> void?
  r : region?
method
(send a-table set-button-action which       
                                action) -> void?
  which : (one-of/c 'left 'middle 'right)
  action : symbol?
method
(send a-table set-double-click-action proc) -> void?
  proc : ((is-a?/c card<%>) . -> . any)
method
(send a-table set-single-click-action proc) -> void?
  proc : ((is-a?/c card<%>) . -> . any)
method
(send a-table pause secs) -> void?
  secs : real?
method
(send a-table animated) -> boolean?
(send a-table animated on?) -> void?
  on? : any/c
method
(send a-table create-status-pane) -> (is-a?/c pane%)
method
(send a-table set-status str) -> void?
  str : string?
method
(send a-table add-help-button pane          
                              coll-path     
                              str           
                              tt?)      -> void?
  pane : (is-a?/c area-container<%>)
  coll-path : (listof string?)
  str : string?
  tt? : any/c
method
(send a-table add-scribble-button pane         
                                  mod-path     
                                  tag)     -> void?
  pane : (is-a?/c area-container<%>)
  mod-path : module-path?
  tag : string?
interface
card<%> : interface?
method
(send a-card card-width) -> exact-nonnegative-integer?
method
(send a-card card-height) -> exact-nonnegative-integer?
method
(send a-card flip) -> void?
method
(send a-card face-up) -> void?
method
(send a-card face-down) -> void?
method
(send a-card face-down?) -> boolean?
method
(send a-card rotate mode) -> void?
  mode : (or/c 'cw 'ccw 0 90 -90 180 -180 270 -270 360)
method
(send a-card orientation) -> (or/c 0 90 180 270)
method
(send a-card get-suit-id) -> any/c
method
(send a-card get-suit) -> symbol?
method
(send a-card get-value) -> any/c
method
(send a-card user-can-flip) -> boolean?
(send a-card user-can-flip can?) -> void?
  can? : any/c
method
(send a-card user-can-move) -> boolean?
(send a-card user-can-move can?) -> void?
  can? : any/c
method
(send a-card snap-back-after-move) -> boolean?
(send a-card snap-back-after-move on?) -> void?
  on? : any/c
method
(send a-card snap-back-after-regions) -> boolean?
(send a-card snap-back-after-regions on?) -> void?
  on? : any/c
method
(send a-card stay-in-region) -> (or/c region? #f)
(send a-card stay-in-region r) -> void?
  r : (or/c region? #f)
method
(send a-card home-region) -> (or/c region? #f)
(send a-card home-region r) -> void?
  r : (or/c region? #f)
method
(send a-card dim) -> boolean?
(send a-card dim can?) -> void?
  can? : any/c
method
(send a-card copy) -> (is-a?/c card<%>)
